Conference API Reference
Refer to the new Conference V2 API documentation for the most up-to-date information.
Contact CarrierX support at support@carrierx.com if you need help with migration from the V1 API to the current Conference v2 API.
The CarrierX service offers a hosted Conference Application Endpoint that enables two or more parties to speak to one another. Parties call into a meeting room, which stores the meeting configurations, call flow attributes, and meeting key information. Call flows determine how the call is handled.
Using the REST API
This section describes how to obtain credentials to use the API, what types of requests the system recognizes, and the format of the responses. It also holds reference information about pagination and filtering.
Using Postman
This documentation contains cURL commands that you will run in your terminal. Rather than use these commands, you can explore the API using Postman, a stand-alone client with a user-friendly interface. Postman is widely used for API development and allows you to test requests.
You will need to download the Postman client to your computer. To do so, visit the Postman website and click Download. Click Run in Postman to import this collection to the Postman app.
Main Conventions
The following conventions are used in the sections, which contain the tables with objects attributes, their types, and descriptions:
create | The attribute can be set when the user creates the object using the POST method. |
update | The attribute can be modified when the user updates the object using either PATCH or PUT methods. |
read only | The attribute is set by the system and the user can neither set nor modify it. |
preview | The attribute is part of the feature that is still in development and is not recommended to use in production. |
Authentication
The following curl command will return a list of all of the endpoints of the CarrierX account associated with the login credentials. Use your Core API token in the query below. The endpoint
login
andpassword
values are listed in the returned JSON object.
curl -X GET \
'https://api.carrierx.com/core/v2/endpoints' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The credentials of a specific endpoint are found in the properties attribute of the nested object. Locate the
login
andpassword
values.
{
"count": 1,
"has_more": false,
"items": [
{
"addresses": [],
"attributes": {},
"capacity": 0,
"endpoint_sid": "844346ef-93e9-4fa8-a4ab-e3015af94573",
"name": "flexml",
"out_sip_password": null,
"out_sip_username": null,
"partner_sid": "ed437757-002d-4ecc-aa5a-efdf5e50dba0",
"properties": {
"account_sid": "1d4adc32-45d1-4789-9780-928049e2bce1",
"api_url": "https://api.carrierx.com/flexml/v1",
"container_sid": "null",
"login": "sample_login",
"password": "sample_password"
},
"transformations": [],
"type": "flexml",
"voip_token": null
}
],
"limit": 1000,
"offset": 0,
"pagination": {},
"total": 1
}
All CarrierX API requests require authentication. The first step to using CarrierX API is obtaining a CarrierX account and gaining credentials. To do so, please submit a request through our Contact Us page.
Currently, CarrierX API requests use two types of authentication:
- Bearer token, used by the requests to the Core API.
- Basic HTTP authentication with login and password, used by the requests to the endpoint APIs (Conference, FlexML, and Mediator).
Prior to making requests, you need to create a Conference application endpoint. Refer to the Conference Endpoint quick start guide for step-by-step instructions on creating a Conference endpoint.
Requests
Sample request to create Conference endpoint
curl -X POST \
'https://api.carrierx.com/core/v2/endpoints' \
-H 'Content-Type: application/json' \
--data-binary '{"name":"my_conf", "type":"conference"}' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The requests in CarrierX API are made using the standard REST notation, typical for web services.
A simplest request will have the following structure:
- The request URL to which the request will be sent. The URL will be different for the Core API methods and for the main endpoint-related requests (conference, FlexML, mediator).
- The request method or the verb used for the REST over HTTP request.
- One or several headers or user/password authentication.
- At least one header—
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
—is required to access the Core API. - For the requests to the conference, FlexML, or mediator endpoints, CarrierX uses the basic HTTP authentication with login and password (cURL
-u
option).
Refer to the Authentication section for more details on this.
- At least one header—
All the above elements are required for all CarrierX API requests.
Other request may have additional structure elements which include:
- Path arguments are required with some methods to access specific objects (
GET
the object by secure ID,PATCH
/PUT
, andDELETE
objects). - Body payload is required with
POST
andPATCH
/PUT
. Even if the object method does not require any body arguments (e.g.,POST
for some objects), the payload must still include an empty object (--data-binary '{}'
).
- Query arguments may be either optional or required for some requests. Refer to the objects sections below to see which object methods require the presence of the query arguments. The optional query arguments available with some
GET
requests include pagination, result filtering, and field filtering. - Form data is required with some
POST
methods, e.g., uploading a file to the container usingmultipart/form-data
content type.
Request URL
The usual path to the API objects includes the base URL to the API used with the object (Core API base URL for the objects used throughout the CarrierX products, or specific API base URLs used for FlexML, Mediator, or Conference), and the path to the object collections and the object items.
If the action targets the specific object, the path to it will include the object secure ID (SID), which allows to distinguish the targeted object from the other ones in the same collection.
The system only accepts HTTPS requests, and not HTTP requests.
Request Methods
CarrierX API uses five main verbs (methods) of REST over HTTP for the requests: POST
, GET
, PUT
, PATCH
, and DELETE
. These methods are used to create the objects, get the information about the objects, modify the objects, and delete them.
CarrierX partners need to have special permissions (or scopes) to use API methods on various objects. Refer to the available_scopes table for the complete list of the scopes that define the partner’s permissions on objects and collections.
POST
Sample
POST
request that creates a trunk
curl -X POST \
'https://api.carrierx.com/core/v2/trunk_groups/138ed522-6633-405b-b58d-55eb0d262e32/trunks' \
-H 'Content-Type: application/json' \
--data-binary '{}' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The POST
method is used to create new objects. When you create a new object, you usually need to specify at least some of the attributes for the object to be created in the request payload.
The successful POST
request will return a 200
response with the serialized JSON copy of the created object.
GET
Sample
GET
request that returns the currently logged-in partner
curl -X GET \
'https://api.carrierx.com/core/v2/oauth/whoami' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The GET
method is used to view the information about the existing objects and their collections.
Generic GET
requests return the list of all the objects (or collections) available for the request sent. Most of such GET
requests can be used together with Pagination, Result Filtering, and Field Filtering.
GET
requests aimed at a specific object require to use the object secure ID to be included as a part of the request path, and return the information about the specified object only. Most of such GET
requests can be used together with Field Filtering.
The successful GET
request will return a 200
response with the serialized JSON copy of the requested objects (or specific object).
PATCH/PUT
Sample
PATCH
request that modifies or adds a newname
record of the nestedattributes
object
curl -X PATCH \
'https://api.carrierx.com/core/v2/partners/aeda835c-6627-4f4c-ac73-9edcae95640b' \
-H 'Content-Type: application/json' \
--data-binary '{"attributes":{"name":"New Partner Name"}}' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
Response The serialized JSON copy of the created object together with the nested object
{
"attributes": {
"name": "New Partner Name"
},
...,
"partner_sid": "ed437757-001d-4ecc-aa5a-efdf5e50dba0"
}
Sample
PATCH
request that adds a newname2
record of the nestedattributes
object of the same Partner object
curl -X PATCH \
'https://api.carrierx.com/core/v2/partners/aeda835c-6627-4f4c-ac73-9edcae95640b' \
-H 'Content-Type: application/json' \
--data-binary '{"attributes":{"name2":"New Partner Name 2"}}' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
Response The serialized JSON copy of the created object together with the modified nested object
{
"attributes": {
"name": "New Partner Name"
"name2": "New Partner Name 2"
},
...,
"partner_sid": "ed437757-001d-4ecc-aa5a-efdf5e50dba0"
}
Sample
PATCH
request that modifies the entire nestedattributes
object of the same Partner object
curl -X PATCH \
'https://api.carrierx.com/core/v2/partners/aeda835c-6627-4f4c-ac73-9edcae95640b?nested_objects=replace' \
-H 'Content-Type: application/json' \
--data-binary '{"attributes":{"name3":"New Partner Name 3"}}' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
Response The serialized JSON copy of the created object together with the nested object
{
"attributes": {
"name3": "New Partner Name 3"
},
...,
"partner_sid": "ed437757-001d-4ecc-aa5a-efdf5e50dba0"
}
The PATCH
/PUT
methods are both used to modify the existing objects and their attributes. The difference between them is explained below.
PATCH
is used to modify only some of the object attributes and does not require to send the entire object in the request payload. Only the attributes and their values that need to be modified can be sent in the request body.
Objects can have a complex structure and can contain other objects as part of them, i.e., nested inside them. When you use PATCH
and want to modify the nested objects, PATCH
follows the below rules to define what must be updated and how:
-
If the existing nested object contains the same record (by key), the existing record will be replaced with the new value, provided in the
PATCH
request. The other nested object records will remain unmodified. -
If the existing nested object does not contain the same record, a new record will be added to the object. The other nested object records will remain unmodified.
-
If the existing nested object contains the same record and the value of the incoming record is
null
, then the existing record will be removed. The other nested object records will remain unmodified. -
If the
PATCH
request containsnested_objects=replace
as a query attribute, the whole nested object will be replaced with a new one (i.e., all the old records and their values will be removed and only the new ones will be added).
PUT
is used to modify the complete object and require to send the entire object (together with the nested objects, if there are any) in the request payload.
Both PATCH
and PUT
requests are aimed at a specific object and require the object secure ID as a part of the request path.
The successful PATCH
/PUT
request will return a 200
response with the serialized JSON copy of the modified object.
DELETE
Sample
DELETE
request that deletes an endpoint
curl -X DELETE \
'https://api.carrierx.com/core/v2/endpoints/1a34c5e9-3a09-4de5-b553-5f6a9ef202ac' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The DELETE
method is used to delete the object targeted by its secure ID.
The successful DELETE
request will return a 204
response code with an empty body.
Rate Limiting
Currently, CarrierX applies no rate limiting to the partners requests to CarrierX API.
Responses
All responses return conventional HTTP status codes. Most of the responses (GET
, POST
, PATCH
/PUT
) also return objects in the JSON format.
CarrierX API allows cross-origin (CORS) requests and data transfers.
HTTP Status Codes
Typical
200
status code in the response
HTTP/2 200
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Access-Control-Allow-Origin,Access-Control-Allow-Methods,Access-Control-Allow-Credentials,Content-Disposition,Access-Control-Allow-Headers
Content-Length: 1333
Content-Type: application/json
Date: Wed, 22 Sep 2021 08:23:06 GMT
Server: nginx
Strict-Transport-Security: max-age=31536000; includeSubDomains
Vary: accept-encoding
The Conference API uses the following HTTP status codes:
Sample
400
status code when the JSON sent in the request body has errors in its syntax:
{
"body": {
"message": "cannot parse json. Check json for validity",
"errors": null
},
"status": 400
}
Sample
401
status code when trying to send a request without authentication:
{
"message": "authentication required",
"errors": [
{
"field": "cause",
"message": "authentication required",
"reference_sid": null
}
]
}
Sample
403
status code when trying to access resources you do not have enough permission for:
{
"message": "permission denied",
"errors": [
{
"field": "cause",
"message": "permission denied",
"reference_sid": null
}
]
}
Sample
404
status code when trying to access a non-existent object (e.g., a token with an incorrect SID):
{
"message": "no item error",
"errors": [
{
"field": null,
"message": "cannot find token",
"reference_sid": null
}
]
}
Error Code | Message | Description |
---|---|---|
2xx | Success | |
200 | OK | The request has succeeded. The result will be a returned JSON object or a link to download a file. |
201 | Created | The request has succeeded and led to the creation of a resource. This response is normally returned to the requests that upload files. |
204 | No Content | The server has successfully fulfilled the request. There is no additional content to send in the response payload body. This response code is normally returned to the DELETE requests. |
4xx | Client Errors | |
400 | Bad Request | The request could not be understood by the server due to malformed syntax. The client should not repeat the request without modifications. |
400 | No JSON object could be decoded | Generally an indicator that there is a syntax error. |
401 | Bad credentials | The request requires correct user authentication. |
401 | Unauthorized | The request requires user authentication. |
403 | Forbidden | The server understood the request, but is refusing to fulfill it. Authorization will not help and the request should not be repeated. |
404 | Cannot find item by SID | The SID number does not exist. Verify that the SID has been entered correctly. Note that calls can expire. |
404 | Not Found | The requested resource was not found on the server. |
409 | Depends on the conflict source | This status code (aka Conflict) means that your request could not be processed because of some conflict that has occurred during such a request. For specific details see the error section of the API method that you are calling. As a rule, you can try to resolve the conflict by resubmitting your request later. |
415 | Unsupported media type | Ensure that the header includes support for the JSON content type. |
422 | Object validation error | The server cannot process a request to the API because the request contains semantic errors or does not meet certain conditions. |
5xx | Server Errors | |
500 | Internal server error | The server encountered an unexpected condition which prevented it from fulfilling the request. |
Response Objects
Typical formatted JSON object in the response
{
"callback_url": null,
"did_group_sid": "41e21049-e5eb-433c-a93d-d57417b1863c",
"name": "N/A",
"partner_sid": "e00430c3-a7d0-4666-ab5c-f7202448382f"
}
Successful requests return objects in the JSON format with application/json
set as Content-Type
. The object keys and values depend on the request and the object returned, and are described in the corresponding object sections.
Normally, the system returns the object fields unordered and unformatted. To view the object fields ordered alphabetically and “pretty-formatted” in the response to the command-line requests (e.g., cURL), use the jq
command-line JSON processor or similar tools.
With jq
, the request will look like this:
curl -X GET 'https://api.carrierx.com/core/v2/oauth/whoami' -H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda' | jq -S
Pagination
This request returns Country objects sorting them descending by the
common_name
attritute, starting with the second record available, and returns a maximum of two records.
curl -X GET \
'https://api.carrierx.com/core/v2/countries?offset=2&limit=2&order=common_name+desc' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
To view records not included in the response, make a request to the URL value of the
previous
or thenext
key.
{
"count": 2,
"has_more": true,
"items": [
{
"capital": "Sana'a",
"common_name": "Yemen",
"dialing_prefix": "967",
"domain": "ye",
"iso_3166_alpha_2": "YE",
"iso_3166_alpha_3": "YEM",
"iso_3166_numeric": 887,
"mcc": "421",
"official_name": "Republic of Yemen",
"region": "Asia",
"subregion": "Western Asia"
},
{
"capital": "El Aaiún",
"common_name": "Western Sahara",
"dialing_prefix": null,
"domain": "eh",
"iso_3166_alpha_2": "EH",
"iso_3166_alpha_3": "ESH",
"iso_3166_numeric": 732,
"mcc": null,
"official_name": "Sahrawi Arab Democratic Republic",
"region": "Africa",
"subregion": "Northern Africa"
}
],
"limit": 2,
"offset": 2,
"pagination": {
"next": "https://api.carrierx.com/core/v2/countries?limit=2&order=common_name+desc&offset=4",
"previous": "https://api.carrierx.com/core/v2/countries?limit=2&order=common_name+desc&offset=0"
},
"total": 251
}
You can use the pagination to limit the number of the objects returned in the response and sort them by the object attributes.
The pagination is available for the GET
requests which return the lists of the objects without targeting them by secure IDs.
The pagination parameters include:
limit
An integer parameter that determines how many items are returned in the response. The entered value cannot exceed 1000
.
The default value is 10
, meaning that a maximum of ten items will be returned.
order
A string parameter that allows to sort the returned objects. Three values are accepted for this parameter:
- attribute name +
asc
to sort the items in the response in the ascending or alphabetical order (default order). - attribute name +
desc
to sort the items in the response in the descending or reverse-alphabetical order. shuffle
to randomize the order of the items in the response.
offset
An integer parameter that determines the amount of items that are skipped in the response.
The default value is 0
, meaning that the first existing item will appear first.
after/ before
This request returns a maximum of one record of SMS Detail Record objects following the object with the
b6d574ea-b11f-41fd-a25f-602e7b28807f
secure ID.
curl -X GET \
'https://api.carrierx.com/core/v2/sms/message_drs?after=b6d574ea-b11f-41fd-a25f-602e7b28807f&limit=1' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
To view records not included in the response, make a request to the URL value of the
previous
key.
{
"count": 1,
"has_more": true,
"items": [
{
"date_insert": "2020-07-24T10:25:11.000Z",
"date_sent": "2020-07-24T10:25:11.014Z",
"date_start": "2020-07-24T10:25:11.014Z",
"date_stop": "2020-07-24T10:25:12.014Z",
"delay_sent": 0,
"direction": "outbound",
"dr_sid": "92cd9154-2f53-4e62-8b4e-8ff6e4849d16",
"mcc": 310,
"media_urls": [],
"message": "This is a test message.",
"message_segments": 1,
"mnc": 999,
"number_billing": "15162065870",
"number_dst": "12078152557",
"number_external": "12078152557",
"number_src": "15162065870",
"partner_sid": "8d180104-0b34-4e55-907f-4a72409484c9",
"price": "0.005",
"provider": "tsg",
"rate": "0.005",
"status": "sent",
"type": "sms",
"user_data": "test_message",
"version": null
}
],
"limit": 1,
"offset": 0,
"pagination": {
"previous": "https://api.carrierx.com/core/v2/sms/message_drs?before=92cd9154-2f53-4e62-8b4e-8ff6e4849d16&limit=1&offset=0"
},
"total": null
}
For some objects (e.g., Call Detail Record or SMS Detail Record objects), the system will not return their total number. This can happen as the number dynamically changes in large quantities and can become not relevant by the time of the next request.
In this case, instead of using the standard pagination offset (which is rather difficult to calculate as the system does not return the total number of objects), you can use the after
or before
query arguments. With these arguments, the system will return the objects which precede or follow the entered object secure ID. This might be useful if you want to receive an exact range of the objects and know the secure IDs of the records which start and end this range.
Parameter | Data Type | Description |
---|---|---|
after | string | The secure ID of the object. The response will include only the results which follow the specified secure ID in the list of the object secure IDs. |
before | string | The secure ID of the object. The response will include only the results which precede the specified secure ID in the list of object secure IDs. |
Currently, CarrierX supports the pagination that uses the after
and before
arguments for the following objects and methods:
Object | Method | Sorting (‘order’) Values |
---|---|---|
Call Detail Record | Get Call Detail Records method | date_stop |
SMS Detail Record | Get Message Detail Records method | date_insert |
Request Parameters Combinations
You can use the following combinations of the pagination parameters:
-
limit, offset, order:
https://api.carrierx.com/core/v2/countries?limit=2&offset=2&order=common_name+desc
-
after, limit, order:
https://api.carrierx.com/core/v2/calls/call_drs?after=bb2aacd2-23d3-418e-9ec0-2fc45c5f9d76&limit=1&order=date_stop+asc
-
before, limit, order:
https://api.carrierx.com/core/v2/calls/call_drs?before=56fb6b94-811e-4952-b242-4e06f4e95b7e&limit=1&order=date_stop+desc
-
after, before, limit, order:
https://api.carrierx.com/core/v2/sms/message_drs?after=012e1d6a-75ac-43ec-bacc-68f1ef1c60a3&before=b6d574ea-b11f-41fd-a25f-602e7b28807f&limit=100&order=date_insert+desc
If you omit any of the parameters from the response, their default values will be used (if there are any).
Pagination Response
The JSON response for a successful query using the pagination parameters will include the following attributes:
Attribute | Data Type | Description |
---|---|---|
count | integer | The number of items present in the response. |
has_more | boolean | Whether or not there are more records existing outside of the queried parameters (e.g., if the number of items that exist exceeds the limit value, the has_more value in the response will be set to true ). |
items | array of objects | The list of the objects which match the request with the pagination query parameters applied. |
limit | integer | The limit value applied to the request. |
offset | integer | The offset value applied to the request. |
pagination | object | The links that allow getting the objects which precede or follow the objects in the response due to the offset or after/ before arguments used in the request. This attribute will be an empty object if there are no more records existing outside of the queried parameters. If there are existing records outside of the query, the pagination value will include the next or previous URLs, or both of them. |
total | integer | The total number of the queried objects that match the search criteria. This value will be set to null with the uncountable objects (call detail records, messages, etc.) |
Result Filtering
This
GET
request returns Endpoint objects that meet the filter criteria. In this case, we are narrowing the results to theconference
endpoint type.
curl -X GET \
'https://api.carrierx.com/core/v2/endpoints?filter=type+eq+conference' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The following response includes all of the endpoints that fit the filter criteria.
{
"count": 1,
"has_more": false,
"items": [
{
"addresses": [],
"attributes": {},
"capacity": 0,
"endpoint_sid": "613325f8-bbb8-4599-b477-1b4fef3d017c",
"name": "my_example_conference",
"partner_sid": "6nelo9p3-3eef-4f75-8f48-fb98e99908be",
"properties": {
"account_sid": "bdrU77AFb-Y1sDwqqxkeb.M3LP7hSKYg",
"api_url": "https://api.carrierx.com/conference/v1",
"container_sid": "null",
"login": "username",
"password": "password"
},
"transformations": [],
"type": "conference",
"voip_token": null
}
],
"limit": 1000,
"offset": 0,
"pagination": {},
"total": 1
}
The filter
parameter is added to the query URL to restrict or customize the results of a JSON response by certain parameters (e.g., name, capabilities, state, country_code
, etc.). The common rule is that, with some exceptions, you can filter those results by any top-level field(s) that are returned in the response. Moreover, in some cases you can use the nested subfields for result filtering. In this case you need to use a dot in the filter name to separate the parent field and the nested subfield, e.g. trunks.allow_transfer eq false
or properties.login eq username
.
The structure of result filtering is as follows: filter=object_attribute filter_operator value
. You can also use the and
operator to combine several filters for more specific searches. For example, for a DID object we could apply the following filter: filter=state eq "NY" and phonenumber like "%555%"
.
Filter values can also be put inside single or double quotes. This is not necessary when the filter value is just a single word like USA
. However, if your filter value consists of more than one word, the quotes are required. For example, name eq "filter value name"
.
Result Filtering Quick Reference
Operator | Definition | Example | Description |
---|---|---|---|
bit | Bit mask: this operator is used with the capabilities and active_capabilities fields only. It may have the following core values: 1 = SMS IN (1 represents 1 in a bit mask), 2 = SMS OUT (2 represents 10 in a bit mask), 4 = VOICE (4 represents 100 in a bit mask), 8 = MMS IN (8 represents 1000 in a bit mask), 16 = MMS OUT (16 represents 10000 in a bit mask). You can use this operator to look for all the DIDs that have a particular capability alongside with other possible capabilities those DIDs may have. For example capabilities bit 4 returns all the available DIDs with the following capabilities: 4(100) and up, whatever other capabilities it may have (if any), e.g. 4+1=5(101), 4+2=6(110), 4+1+2=7(111), 4+8=12(1100), 4+1+8=13(1101), etc. |
capabilities bit 3 capabilities bit 7 |
The search will return results for DIDs with SMS capabilities = 1+2=3. The search will return results for DIDs with both SMS and VOICE capabilities = 1+2+4=7. |
eq | Equal to: this search looks for the exact value entered. | name eq "my_mediator" |
The search results will include the records that have the exact my_mediator value for the name field. |
ge | Greater than or equal to: this search returns records where the value is greater than or equal to the field listed. | wait_origination_did_ttl ge 70000 |
The search results will include the records that have the wait_origination_did_ttl field value greater than or equal to 70000 . |
gt | Greater than: this search returns records where the value is exceeded for the field listed. | maximum_ttl gt 40000 |
The search results will include the records that have the maximum_ttl field value greater than 40000 . |
ilike | This search returns records containing the value indicated in the string passed. This form of search is case insensitive. | name ilike "AccOUnt%" |
The search results will include the records that have the name field value starting with Account . |
in | In: this search returns records where the current value of the specified field must be in the specified list. | status in ("active", "suspended") |
The search results will include the records that have the status field value equal to either active or suspended . |
le | Less than or equal to: this search returns records where the value is less than or equal to the field listed. | wait_origination_did_ttl le 90000 |
The search results will include the records that have the wait_origination_did_ttl field value less than or equal to 90000 . |
like | The same functionality as ilike but case sensitive. |
name like "Account%" |
The search results will include the records that have the name field value starting with Account . |
lt | Less than: this search returns records where the value is less than the field listed. | maximum_ttl lt 10000 |
The search results will include the records that have the maximum_ttl field value less than 10000 . |
ne | Not equal to: this search returns records that do not include the current values for the specified field. | name ne "my_mediator" |
The search results will include the records that do not have the my_mediator value for the name field. |
notin | Not in: this search returns records where the current value of the specified field must not be in the specified list. | status notin ("active", "suspended") |
The search results will include the records that do not have a status field value of active . |
Field Filtering
In the following, we request Endpoint objects without the
properties
field.
curl -X GET \
'https://api.carrierx.com/core/v2/endpoints?exclude_fields=properties' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
The following response excludes the
properties
field from returned Endpoint objects.
{
"count": 1,
"has_more": false,
"items": [
{
"addresses": [],
"attributes": {},
"capacity": 0,
"endpoint_sid": "613325f8-bbb8-4599-b477-1b4fef3d017c",
"name": "my_example_conference",
"out_sip_password": null,
"out_sip_username": null,
"partner_sid": "6nelo9p3-3eef-4f75-8f48-fb98e99908be",
"transformations": [],
"type": "conference",
"voip_token": null
}
],
"limit": 1000,
"offset": 0,
"pagination": {},
"total": 1
}
There are two parameters associated with field filtering: include_fields
, and exclude_fields
. By default, the fields included in JSON responses are specific to the request made. These returned fields are explained in the Object section for that object.
Refer to the specific object to determine which fields can be included and excluded from the JSON responses.
include_fields
and exclude_fields
accept comma-separated strings as values.
Field Filtering Quick Reference
Parameter | Data Type | Description |
---|---|---|
exclude_fields | string | The comma-separated list of fields to be excluded from the response. The fields depend on the object. See the Object section for that object to see which fields return. |
include_fields | string | The comma-separated list of fields to be included in the response. The fields depend on the object. See the Object section for that object to see which fields return. |
Conference Overview
The Conference API is used to host audio conferencing for up to 1,000 attendees. Meeting rooms are configurable objects that hold the settings for meetings. End-users dial a phone number and enter an access code, which the system uses to determine which meeting room they will be connected to.
Access codes correspond with the three access levels: host, participant, and listener. Each access level has settings which determine how the party is treated during a meeting. For example, settings on the Meeting Room object can determine that all listeners will be muted upon entering the meeting.
A Meeting Room object holds other configurations called Meeting Attributes, which dictate how the call is handled. A Meeting object is created in real time once a meeting starts. The start of a meeting is determined by meeting room settings. For example, a meeting can begin once a host calls in, or a meeting can start once any party calls in.
A Call object is also created in real time when a call begins. Meeting and Call objects are real-time elements that only exist as long as a meeting is happening and as long as there are callers in the meeting.
Once a meeting is finished, the Meeting object is deleted, along with all of the Call objects associated with the meeting.
Conference vs. Conference Playback Endpoint
A Conference endpoint enables two or more parties to have a conversation in a meeting. A Conference Playback endpoint is used to listen to saved recordings made during meetings. In order for recordings to be saved, a Conference endpoint must be created and connected to a Conference Playback endpoint. Create a Conference Playback endpoint in the same way as a Conference endpoint, by using the Core API. Learn how to connect the endpoints by referring to the Conference Playback Quick Start.
API Reference
The Conference API has the following sections: Calls, DIDs, DID Groups, Meetings, and Meeting Rooms.
Use the Call object to retrieve, update, and delete future calls. Target the DID object to get list of DIDs, and the DID Group object to return DID groups. Through the Conference API, Meeting objects can be returned, updated, and deleted. Finally, Meeting Room objects can be created, returned, updated, and deleted.
Call Flows
Call flows define the way that calls are handled.
You can choose between two call flows when creating a meeting room: CONF
and SPECTEL
.
-
The
CONF
call flow enables callers to enter a conference room with an access code associated with the meeting room. Alternatively, theCONF
call flow also enables creating a meeting on the fly by entering a random access code. -
The
SPECTEL
call flow only accepts access codes associated with the meeting room.
Call flows are set at the creation of a Meeting Room object. The attributeTemplates
values of the Call Flow object serve as default settings. These settings can be overridden in various places once the Meeting Room object has been created.
Call Flow Object
This section outlines the Call Flow object. The attributes listed in the table below will be returned in a JSON object when a successful request has been made.
Sample Call Flow object
{
"attributeTemplates": [
{
"description": "Announce participant count on enter",
"enumValues": "",
"group": 5,
"name": "call_announceparticipantcount",
"type": 4,
"value": "hpl"
}
],
"id": 3,
"name": "CONF",
"path": "/usr/local/DNCA/callflows/CONF"
}
Attribute | Data Type | Description |
---|---|---|
attributeTemplates read only | array of objects | The attributes belonging to the call flow. Refer to the table below for a comprehensive list of the format of attributes. For a list of the attributes themselves, refer to the Meeting Attributes section. |
id read only | integer | The call flow ID. Note that this ID may differ for each user. |
name read only | string | The call flow name. |
path read only | string | This field is for internal use only. |
Attribute Object
This object is used in attributeTemplates
.
Attribute | Data Type | Description |
---|---|---|
description read only | string | The description of the attribute. |
enumValues read only | string | If the type value is 5 , this attribute will be automatically populated with possible values. |
group read only | integer | Defines the levels at which the call flow attribute value can be overridden. Integer values denote that the call flow attribute can be overridden at the following object levels:
|
name read only | string | The attribute name. |
type read only | integer | The attribute type. Values accepted in this field are:
|
value read only | string | The attribute value. |
Get Call Flows
GET /callFlows
Returns call flows matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/callFlows?exclude_fields=attributeTemplates' \
-u '[your_use_name]:[your_password]'
Response
200
status code with a list of Call Flow objects
{
"callFlows": [
{
"id": 1,
"name": "SPECTEL",
"path": "/usr/local/DNCA/callflows/SPECTEL"
},
{
"id": 3,
"name": "CONF",
"path": "/usr/local/DNCA/callflows/CONF"
}
],
"last": 0,
"offset": 0,
"total": 2
}
This request returns a list of call flows that match the optional filters provided.
GET | /callFlows |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get Call Flow by ID
GET /callFlows/{id}
Returns a list of call flows by ID associated with the Conference endpoint
curl -X GET \
'https://api.carrierx.com/conference/v1/callFlows/1?exclude_fields=attributeTemplates' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Call Flow object
{
"id": 1,
"name": "SPECTEL",
"path": "/usr/local/DNCA/callflows/SPECTEL"
}
This request returns details for a call flow, targeted by ID.
GET | /callFlows/{id} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | integer | The call flow ID. |
Calls
Calls are created by the server automatically when a user dials a phone number associated with a meeting room. This object is used to access information about a current call. When the call is over, the Call object is deleted.
Call Object
This section outlines the Call object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample Call object
{
"accessCode": "111",
"addressFrom": "+15162065319",
"addressTo": "\"15162065318\" <sip:15162065318@10.2.114.15>",
"bridgeName": "MIA-FCC4D",
"callee": "15162065318",
"caller": "+15162065319",
"codec": "PCMU",
"connectionStatus": 0,
"created": 1544643810000,
"customName": "",
"duration": 171,
"gainLevel": 0,
"holdMode": 0,
"id": 6889184,
"joined": 1544643810000,
"meetingNumber": 106131,
"muteMode": 0,
"nodeName": "10.2.114.15",
"presenterMedia": 0,
"qaMode": 0,
"role": 1,
"state": 2
}
Attribute | Data Type | Description |
---|---|---|
accessCode update | string | The access code entered by the caller. |
addressFrom update | string | The phone number and SIP data of the calling party. |
addressTo update | string | The phone number and SIP data of the called party. |
bridgeName read only | string | The hosted bridge name. |
callee update | string | The DID being dialed. |
caller update | string | The phone number of the calling party. |
codec update | string | The audio codec of the call. |
connectionStatus update | integer | This field indicates the call direction. Values accepted in this field are as follows:
|
created read only | string | The date and time when the call was created. |
customName update | string | A friendly name for the call. |
duration read only | integer | The duration in seconds of the call. |
gainLevel update | integer | The gain of the transmission circuit. |
holdMode update | integer | Whether meeting participants and listeners are on hold. Values accepted in this field are either 0 or 40 . 0 means that no parties are on hold. 40 means that participants and listeners have been placed on hold by the meeting host. When callers are on hold, they will hear music while the hosts have a private discussion. |
id read only | integer | The call ID. |
joined read only | integer | The date and time when the call was joined. |
meetingNumber read only | integer | The meeting number of the meeting associated with the call. |
muteMode update | integer | There are three mute states. The following values reflect which access level parties have been muted:
|
nodeName update | string | The name of the hosted node, or communication endpoint. |
presenterMedia update | integer | The media for the call. Values accepted in this field are:
1 + 4 = 5 . |
qaMode read only | integer | The state of a Q&A meeting. Values accepted in this field are:
|
role update | integer | The role associated with the access code. Values accepted in this field are:
|
state update | integer | The current call state. Values accepted in this field are:
|
Get Calls
GET /calls
Returns calls which are currently active
curl -X GET \
'https://api.carrierx.com/conference/v1/calls' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of Call objects
{
"calls": [
{
"accessCode": "111",
"addressFrom": "+15162065319",
"addressTo": "\"15162065318\" <sip:15162065318@10.2.114.15>",
"bridgeName": "MIA-FCC4D",
"callee": "15162065318",
"caller": "+15162065319",
"codec": "PCMU",
"connectionStatus": 0,
"created": 1544643810000,
"customName": "",
"duration": 171,
"gainLevel": 0,
"holdMode": 0,
"id": 6889184,
"joined": 1544643810000,
"meetingNumber": 106131,
"muteMode": 0,
"nodeName": "10.2.114.15",
"presenterMedia": 0,
"qaMode": 0,
"role": 1,
"state": 2
}
],
"last": 0,
"offset": 0,
"total": 1
}
This request returns a list of calls.
GET | /calls |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get Call by ID
GET /calls/{id}
Returns a call, targeted by ID
curl -X GET \
'https://api.carrierx.com/conference/v1/calls/6889184' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Call object
{
"accessCode": "111",
"addressFrom": "+15162065319",
"addressTo": "\"15162065318\" <sip:15162065318@10.2.114.15>",
"bridgeName": "MIA-FCC4D",
"callee": "15162065318",
"caller": "+15162065319",
"codec": "PCMU",
"connectionStatus": 0,
"created": 1544643810000,
"customName": "",
"duration": 238,
"gainLevel": 0,
"holdMode": 0,
"id": 6889184,
"joined": 1544643810000,
"meetingNumber": 106131,
"muteMode": 0,
"nodeName": "10.2.114.15",
"presenterMedia": 0,
"qaMode": 0,
"role": 1,
"state": 2
}
This request returns details for a call, targeted by ID.
GET | /calls/{id} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | integer | The ID of the call. |
Update Call
PUT /calls/{id}
Updates a call
curl -X PUT \
'https://api.carrierx.com/conference/v1/calls/6889184' \
-H 'Content-Type: application/json' \
--data-binary '{"customName": "name"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated Call object
{
"calls": [
{
"accessCode": "111",
"addressFrom": "+15162065319",
"addressTo": "\"15162065318\" <sip:15162065318@10.2.114.15>",
"bridgeName": "MIA-FCC4D",
"callee": "15162065318",
"caller": "+15162065319",
"codec": "PCMU",
"connectionStatus": 0,
"created": 1544643810000,
"customName": "",
"duration": 171,
"gainLevel": 0,
"holdMode": 0,
"id": 6889184,
"joined": 1544643810000,
"meetingNumber": 106131,
"muteMode": 0,
"nodeName": "10.2.114.15",
"presenterMedia": 0,
"qaMode": 0,
"role": 1,
"state": 2
}
],
"last": 0,
"offset": 0,
"total": 1
}
This request changes the call state.
PUT | /calls/{id} |
A Call object can be updated using a PUT
request. The call ID is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | integer | The call ID. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
accessCode
addressFrom
addressTo
callee
caller
codec
connectionStatus
customName
gainLevel
holdMode
muteMode
nodeName
presenterMedia
role
state
Refer to this table to view all fields that appear in the Call object.
Delete Call
DELETE /calls/{id}
Hangs up the call, targeted by ID
curl -X DELETE \
'https://api.carrierx.com/conference/v1/calls/174' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request hangs up the call, targeted by ID.
DELETE | /calls/{id} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | integer | The ID of the call to be deleted. |
DIDs
DIDs are phone numbers rented through CarrierX.
DID Object
This section outlines the DID object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample DID object
{
"attributes": [],
"countryCode": "US",
"description": "A test DID",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065319",
"state": -1
}
Attribute | Data Type | Description |
---|---|---|
attributes create update | array of objects | Additional attributes that can be set to modify a DID. Refer to the table below for a list of preset attributes. |
countryCode read only | string | The country region of the DID. The format for this field is ISO 3166-1 alpha-2. |
description create update | string | The description of the DID. If this field is not set, it will be hidden in the response. |
didGroupId create update | integer | The ID of the DID group to which the DID belongs. |
id read only | integer | The unique ID of a specific DID. |
phoneNumber create update | string | The phone number in E.164 format. |
state read only | integer | The state of the DID. |
Attribute Object
Attribute | Data Type | Description |
---|---|---|
description update | string | The description of the attribute. |
enumValues read only | string | If the type value is 5 , this attribute will be automatically populated with possible values. |
group read only | integer | Defines the levels at which the call flow attribute value can be overridden. Integer values denote that the call flow attribute can be overridden at the following object levels:
|
name read only | string | The attribute name. |
type read only | integer | The attribute type. Values accepted in this field are:
|
value update | string | The attribute value. |
Create DID
POST /dids
Creates a DID
curl -X POST \
'https://api.carrierx.com/conference/v1/dids' \
-H 'Content-Type: application/json' \
--data-binary '{"didGroupId":219, "phoneNumber": "15162065319"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the DID object
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065319",
"state": -1
}
This request creates a DID using the data passed in the query body.
POST | /dids |
Body Arguments
JSON representation of the fields and values of the DID object to be created.
Required fields to create a DID are:
didGroupId
phoneNumber
Refer to this table to view all fields that appear in the DID object.
Get DIDs
GET /dids
Returns DIDs associated with the endpoint
curl -X GET \
'https://api.carrierx.com/conference/v1/dids' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of DID objects associated with the Conference endpoint
{
"dids": [
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065319",
"state": -1
},
{
"attributes": [],
"countryCode": "US",
"description": "A test DID",
"didGroupId": 219,
"id": 221,
"phoneNumber": "15162065318",
"state": -1
}
],
"last": 1,
"offset": 0,
"total": 2
}
This request will return a list of DIDs associated with the specific endpoint.
GET | /dids |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get DID by ID
GET /dids/{id}
Returns a DID, targeted by ID
curl -X GET \
'https://api.carrierx.com/conference/v1/dids/220' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the DID object
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065319",
"state": -1
}
This request returns the data for a DID, targeted by ID.
GET | /dids/{id} |
This request is enabled for Field Filtering.
Path Arguments
Field | Data Type | Description |
---|---|---|
id required | integer | The ID of the specific DID. |
Update DID
PUT /dids/{id}
Updates the DID object, targeted by its ID, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/dids/220' \
-H 'Content-Type: application/json' \
--data-binary '{"description":"DID new description"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated DID object
{
"attributes": [],
"countryCode": "US",
"description": "DID new description",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065319",
"state": -1
}
This request updates a DID, targeted by its ID.
PUT | /dids/{id} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The DID ID is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | string | The DID ID. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
attributes
description
didGroupId
phoneNumber
Refer to this table to view all fields that appear in the DID object.
Delete DID
DELETE /dids/{id}
Deletes a DID, targeted by its ID
curl -X DELETE \
'https://api.carrierx.com/conference/v1/dids/220' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a DID, targeted by its ID.
DELETE | /dids/{id} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | string | The DID ID. |
DID Groups
A DID Group is a set of phone numbers rented through CarrierX and associated with a specific conference. The system will automatically assign phone numbers into a DID group when they are routed to a Conference endpoint.
DID Group Object
This section outlines the DID Group object. The attributes listed in the table below will be returned in a JSON object when a successful request has been made.
Sample DID Group object
{
"attributes": [],
"callFlowId": 3,
"description": "",
"dids": [
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 221,
"phoneNumber": "15162065319",
"state": -1
}
],
"id": 219,
"name": "sample_conference_008_didGroup",
"state": -1,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
Attribute | Data Type | Description |
---|---|---|
attributes create update | array of objects | Refer to the table below section for a comprehensive list of attributes. |
callFlowId create update | integer | The ID of the call flow. |
description create update | string | The description of the DID group. |
dids read only | array of objects | An array of the DIDs belonging to the DID group. Each object in the array contains attributes , countryCode , didGroupId , id , phoneNumber , and state . Refer to the DID object for a description of these attributes. |
id read only | integer | The ID of the DID group. |
name create update | string | The name of the DID group. |
state read only | integer | The state of the DID group. |
subscriberSid read only | string | The secure ID of the subscriber associated with the DID group. |
Attribute Object
Attribute | Data Type | Description |
---|---|---|
description update | string | The description of the attribute. |
enumValues read only | string | If the type value is 5 , this attribute will be automatically populated with possible values. |
group read only | integer | Defines the levels at which the call flow attribute value can be overridden. Integer values denote that the call flow attribute can be overridden at the following object levels:
|
name read only | string | The attribute name. |
type read only | integer | The attribute type. Values accepted in this field are:
|
value update | string | The attribute value. |
Create DID Group
POST /didGroups
Creates a DID group
curl -X POST \
'https://api.carrierx.com/conference/v1/didGroups' \
-H 'Content-Type: application/json' \
--data-binary '{"callFlowId":"1", "name":"Test DID group"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the DID Group object
{
"attributes": [],
"callFlowId": 1,
"description": "",
"id": 219,
"name": "Test DID group",
"state": -1,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
This request creates a DID group using the data passed in the query body.
POST | /didGroups |
Body Arguments
JSON representation of the fields and values of the DID Group object to be created.
Required fields to create a DID group are:
callFlowId
name
Refer to this table to view all fields that appear in the DID Group object.
Get DID Groups
GET /didGroups
Returns DID groups associated with the endpoint
curl -X GET \
'https://api.carrierx.com/conference/v1/didGroups' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of DID Group objects associated with the Conference endpoint
{
"didGroups": [
{
"attributes": [],
"callFlowId": 3,
"description": "",
"dids": [
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 221,
"phoneNumber": "15162065319",
"state": -1
},
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065318",
"state": -1
}
],
"id": 219,
"name": "sample_conference_008_didGroup",
"state": -1,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
],
"last": 0,
"offset": 0,
"total": 1
}
This request returns a list of DIDs associated with the specific conference.
GET | /didGroups |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get DID Group by ID
GET /didGroups/{id}
Returns a DID group, targeted by ID
curl -X GET \
'https://api.carrierx.com/conference/v1/didGroups/219' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the DID Group object
{
"attributes": [],
"callFlowId": 3,
"description": "",
"dids": [
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 221,
"phoneNumber": "15162065319",
"state": -1
},
{
"attributes": [],
"countryCode": "US",
"didGroupId": 219,
"id": 220,
"phoneNumber": "15162065318",
"state": -1
}
],
"id": 219,
"name": "sample_conference_008_didGroup",
"state": -1,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
This request returns data for a DID group, targeted by ID.
GET | /didGroups/{id} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | integer | The ID of the DID group. |
Update DID Group
PUT /didGroups/{id}
Updates the DID Group object, targeted by its ID, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/didGroups/219' \
-H 'Content-Type: application/json' \
--data-binary '{"description":"Updated DID group description"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated DID Group object
{
"attributes": [],
"callFlowId": 1,
"description": "Updated DID group description",
"id": 219,
"name": "Test DID group",
"state": -1,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
This request updates a DID group, targeted by its ID.
PUT | /didGroups/{id} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The DID group ID is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | string | The DID group ID. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
attributes
callFlowId
description
name
Refer to this table to view all fields that appear in the DID Group object.
Delete DID Group
DELETE /didGroups/{id}
Deletes a DID group, targeted by its ID
curl -X DELETE \
'https://api.carrierx.com/conference/v1/didGroups/219' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a DID group, targeted by its ID.
DELETE | /didGroups/{id} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
id required | string | The DID group ID. |
Meetings
A Meeting object is generated once a meeting begins. The object only exists as long as the meeting is occurring.
Meeting Object
This section outlines the Meeting object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample Meeting object
{
"attributes": [],
"created": 1544729701000,
"duration": 48,
"holdMode": 0,
"id": 196938,
"isRecording": false,
"isSecured": false,
"meetingNumber": 106131,
"muteMode": 32,
"participantCount": 1,
"qaMode": 0,
"state": 2,
"subscriberName": "John Smith",
"type": 1
}
Attribute | Data Type | Description |
---|---|---|
attributes update | array of objects | The meeting attributes. These attributes define the call flow of the meeting. They can be overridden in the DID, DID Group, and Meeting Room objects. Refer to the attributes table below for a description of the object structure. Additionally, refer to the Meeting Attributes section for a comprehensive list of the attributes. |
created read only | string | The date and time when the meeting was created. |
duration read only | integer | The number of seconds that have elapsed since the meeting was created. |
holdMode read only | integer | Whether meeting participants and listeners are on hold. Values accepted in this field are either 0 or 40 . 0 means that no parties are on hold. 40 means that participants and listeners have been placed on hold by the meeting host. When callers are on hold, they will hear music while the hosts have a private discussion. Note that this value does not change. It is reflective of the initial hold state when the meeting starts. |
id read only | integer | The meeting ID. Note that when using GET , PUT , and DELETE requests, the meetingNumber should be used instead of this value. |
isRecording read only | boolean | Determines whether or not recording is currently on. |
isSecured read only | boolean | Determines whether or not the meeting is secured. |
meetingNumber read only | integer | The meeting number. Note that this is the value used to target a specific meeting in GET , PUT , and DELETE requests. |
muteMode read only | integer | There are three mute states. The following values reflect which access level parties have been muted:
|
participantCount read only | integer | The number of participants in the meeting. |
qaMode read only | integer | The state of a Q&A meeting. Values accepted in this field are:
|
state read only | integer | The state of the meeting. Values accepted in this field are:
|
subscriberName read only | string | The name of the first subscriber in the meeting. |
type read only | integer | Defines whether or not the meeting is participating in distributed meetings. If yes, the field value will be 1 and if no, the field value will be 0 . |
Attribute Object
Refer to the Meeting Attributes section for a comprehensive list of the attributes. This section describes the structure of the attribute
objects.
Attribute | Data Type | Description |
---|---|---|
description update | string | The description of the attribute. |
enumValues read only | string | If the type value is 5 , this attribute will be automatically populated with possible values. |
group read only | integer | Defines the levels at which the call flow attribute value can be overridden. Integer values denote that the call flow attribute can be overridden at the following object levels:
|
name read only | string | The attribute name. |
type read only | integer | The attribute type. Values accepted in this field are:
|
value update | string | The attribute value. |
Get Meetings
GET /meetings
Returns meetings matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/meetings' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of meetings associated with the Conference endpoint
{
"last": 0,
"meetings": [
{
"attributes": [],
"created": 1544729701000,
"duration": 48,
"holdMode": 0,
"id": 196938,
"isRecording": false,
"isSecured": false,
"meetingNumber": 106131,
"muteMode": 32,
"participantCount": 1,
"qaMode": 0,
"state": 2,
"subscriberName": "John Smith",
"type": 1
}
],
"offset": 0,
"total": 1
}
This request returns a list of active meetings.
GET | /meetings |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get Meeting by meetingNumber
GET /meetings/{meetingNumber}
Returns a meeting, targeted bymeetingNumber
curl -X GET \
'https://api.carrierx.com/conference/v1/meetings/106131' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a meeting matching the meetingNumber
{
"attributes": [],
"created": 1544742875000,
"duration": 504,
"holdMode": 0,
"id": 196939,
"isRecording": false,
"isSecured": false,
"meetingNumber": 106131,
"muteMode": 32,
"participantCount": 1,
"qaMode": 0,
"state": 2,
"subscriberName": "John Smith",
"type": 1
}
This request returns a Meeting object, targeted by the meetingNumber
.
GET | /meetings/{meetingNumber} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting number. |
Get Meeting Attributes
GET /meetings/{meetingNumber}/attributes
Returns meeting attributes for a specific meeting, targeted bymeetingNumber
curl -X GET \
'https://api.carrierx.com/conference/v1/meetings/111/attributes?limit=6' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting object attributes
[
{
"name": "conference_exittones",
"value": "on"
},
{
"name": "conference_qa_policy",
"value": "p"
},
{
"name": "conf_participants_count",
"value": "0"
},
{
"name": "conf_hosts_count",
"value": "1"
},
{
"name": "conf_listeners_count",
"value": "0"
},
{
"name": "participant_list",
"value": "5626245432:15162065310:'2756'"
}
]
This request returns a list of call flow attributes associated with the specified meeting.
GET | /meetings/{meetingNumber}/attributes |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting number. |
Update Meeting Attributes
PUT /meetings/{meetingNumber}/attributes/{name}
Updates the attributes of the Meeting object, targeted bymeetingNumber
, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/meetings/106131/attributes/conference_exittones' \
-H 'Content-Type: application/json' \
--data-binary '{"value": "off"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting object attributes
[
{
"name": "conference_exittones",
"value": "off"
}
]
This request is used to change the state of a meeting.
PUT | /meetings/{meetingNumber}/attributes/{name} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The meetingNumber
is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting number. |
name required | string | The name of the attribute that will be updated. |
Body Arguments
JSON representation of the fields and values to be updated.
The only field that can be modified is value
.
Refer to this table to view all fields that appear in the Meeting object.
Delete Meeting
DELETE /meetings/{meetingNumber}
Deletes a meeting, targeted bymeetingNumber
curl -X DELETE \
'https://api.carrierx.com/conference/v1/meetings/106131' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request drops all calls from a meeting and deletes the meeting instance.
DELETE | /meetings/{meetingNumber} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting number. |
Meeting Rooms
Meeting rooms hold meeting configurations, DID group references, and contain role information. Access codes are also set at the Meeting Room object level. These are DTMF sequences entered by callers, and determine the role of the caller. The three roles are: host, participant, and listener. For example, a caller may enter an access code for a host role and gain the ability to mute participants and listeners.
Meeting Room Object
This section outlines the Meeting Room object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample Meeting Room object
{
"attributes": [],
"created": 1544482680000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 219,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 3
}
],
"meetingNumber": 273751,
"primaryDidGroupId": 219,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
Attribute | Data Type | Description |
---|---|---|
attributes create update | array of objects | Preset attributes that can be modified. Please refer to the Meeting Attributes section for a comprehensive list of attributes. |
created read only | integer | The UNIX time stamp of the metting room creation time. |
description create update | string | The meeting room description. |
didGroupReferences create update | array of objects | Data about the DID Group associated with the meeting room. This information includes the didGroupId and state . Refer to the table below for more information. |
keychain create update | array of objects | Contains the access codes and matching roles. The keychain array can be modified through a PUT request. When creating a PUT request, include accessCode and role . Refer to the table below for more information. |
meetingNumber create update | integer | The meeting number. This number is used in GET , PUT , and DELETE requests. |
primaryDidGroupId create update | integer | The DID group associated with the meeting. |
subscriberSid read only | string | The secure ID of the subscriber. |
DID Group Reference Object
The didGroupReferences
array contains the didGroupId
and state
. The didGroupId
references the DID group containing the phone numbers that can be dialed to access a Meeting Room.
Attribute | Data Type | Description |
---|---|---|
didGroupId create update | integer | The DID group ID. |
state create update | integer | The state of the DID group. Values accepted in this field are:
|
Meeting Key Object
The keychain
array holds the meeting access codes. The three access levels are host, participant, and listener.
Attribute | Data Type | Description |
---|---|---|
accessCode create update | string | The DTMF sequence that callers enter to access a meeting. This sequence is customizable. |
id create update | integer | The ID of the access code and role association. |
role create update | integer | The role associated with the access code. Values accepted in this field are:
|
Create Meeting Room
POST /meetingRooms
Creates a meeting room
curl -X POST \
'https://api.carrierx.com/conference/v1/meetingRooms' \
-H 'Content-Type: application/json' \
--data-binary '{"primaryDidGroupId": 219}' \
-u '[your_user_name]:[your_password]'
Response
201
status code with a serialized copy of the Meeting Room object
{
"attributes": [],
"created": 1544482680000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 219,
"state": 0
}
],
"keychain": [],
"meetingNumber": 273751,
"primaryDidGroupId": 219,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
This request creates a meeting room using the data passed in the query body.
POST | /meetingRooms |
To create a meeting room, a primaryDidGroupId
value is required. This information can be found by sending a GET
request to the didGroups
URL. Refer to the Get DID Groups section for more information. The response will contain an id
, which will be passed in the body parameter as primaryDidGroupId
.
Body Arguments
JSON representation of the fields and values of the Meeting Room object to be created.
A required field to create a Meeting Room object is primaryDidGroupId
.
Refer to this table to view all fields that appear in the Meeting Room object.
Get Meeting Rooms
GET /meetingRooms
Returns meeting rooms matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/meetingRooms?exclude_fields=attributes' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of meeting rooms.
{
"last": 0,
"meetingRooms": [
{
"created": 1544482680000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 219,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 1
}
],
"meetingNumber": 273751,
"primaryDidGroupId": 219,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
],
"offset": 0,
"total": 1
}
This request returns a list of meeting rooms.
GET | /meetingRooms |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get Meeting Room by meetingNumber
GET /meetingRooms/{meetingNumber}
Returns a meeting room, targeted bymeetingNumber
curl -X GET \
'https://api.carrierx.com/conference/v1/meetingRooms/273751?exclude_fields=attributes' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting Room object
{
"created": 1544482680000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 219,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 1
}
],
"meetingNumber": 273751,
"primaryDidGroupId": 219,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
This request returns information about a meeting room, targeted by meetingNumber
.
GET | /meetingRooms/{meetingNumber} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
Update Meeting Room
PUT /meetingRooms/{meetingNumber}
Updates the Meeting Room object, targeted bymeetingNumber
, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/meetingRooms/273751' \
-H 'Content-Type: application/json' \
--data-binary '{"description": "Another description"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated Meeting Room object
{
"attributes": [],
"created": 1544482680000,
"description": "Another description",
"didGroupReferences": [
{
"didGroupId": 219,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 1
}
],
"meetingNumber": 273751,
"primaryDidGroupId": 219,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
This request updates an existing meeting room, targeted by meetingNumber
.
PUT | /meetingRooms/{meetingNumber} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The meeting room meetingNumber
is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
attributes
description
didGroupReferences
keychain
meetingNumber
primaryDidGroupId
Refer to this table to view all fields that appear in the Meeting Room object.
Delete Meeting Room
DELETE /meetingRooms/{meetingNumber}
Deletes a meeting room, targeted bymeetingNumber
curl -X DELETE \
'https://api.carrierx.com/conference/v1/meetingRooms/452650' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a meeting room, targeted by meetingNumber
.
DELETE | /meetingRooms/{meetingNumber} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
Subscribers
The subscriber is a real person or organization with a name, phone number, email address, etc. Subscribers can have meeting room information but they are not directly associated with the meeting room access codes.
Access codes are properties of meeting keys that belong to the meeting rooms. The meeting rooms, in their turn, belong to subscribers.
A subscriber can have a reference to another subscriber who created it, thus making up hierarchy.
Subscriber Object
This section outlines the Subscriber object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample Subscriber object
{
"authenticationToken": "MWMx0BU1YZE0MV==",
"callback": {
"id": 233944,
"url": "http://mywebsite.com/conference/callback"
},
"created": 1586872518000,
"details": "Some details about subscriber",
"didGroupReferences": [
{
"didGroupId": 731,
"state": 0
}
],
"email": "mail@carrierx.com",
"externalId": -1,
"firstName": "CarrierX",
"lastName": "",
"login": "test_carrierx_conference_135",
"meetingRooms": [],
"parentSid": "zzpF93QCVvfYYJb2KdPSzGW6lqGLB3qm",
"phoneNumber": "9197473626",
"role": 3,
"sid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
Attribute | Data Type | Description |
---|---|---|
authenticationToken read only | string | An encrypted analogue of the password filed, generated automatically. |
callback create update | object | The callback object. Refer to the table below for more information. |
created read only | string | The UNIX time stamp of the subscriber creation time. |
details create update | string | The subscriber additional information. |
didGroupReferences create update | array of objects | Data about the DID Group associated with the subscriber. Refer to the table below for more information. |
email create update | string | The subscriber email address. |
eventCallbackUrl create update | string | An external URL to be called when an event associated to this subscription is fired. This is a hidden field, it can be used to set or change the url attribute of the Callback object. |
ext create update | string | The subscriber extension. |
externalId read only | integer | The subscriber object ID in an external system. |
firstName create update | string | The subscriber first name. |
lastName create update | string | The subscriber last name. |
login create update | string | The subscriber login to the API. |
meetingRooms create update | array of objects | The meeting rooms, which this subscriber can possibly attend. |
parentSid read only | string | The parent subscriber object identifier. |
password create update | string | The subscriber password. This field is hidden from the response and never returned as a plain text. |
phoneNumber create update | string | The subscriber phone number. |
role create update | integer | The subscriber role. Values accepted in this field are:
3 . |
sid read only | string | The subscriber identifier. |
Callback Object
Attribute | Data Type | Description |
---|---|---|
id read only | integer | The callback identifier. |
url create update | string | An external URL to which a POST request is sent when an event associated to this subscription is fired. This URL can be set or updated either directly or using the eventCallbackUrl of the Subscriber object. |
DID Group Reference Object
The didGroupReferences
array contains the didGroupId
and state
. The didGroupId
references the DID group containing the phone numbers that can be dialed to access a Meeting Room.
Attribute | Data Type | Description |
---|---|---|
didGroupId create update | integer | The DID group ID. |
state create update | integer | The state of the DID group. Values accepted in this field are:
|
Create Subscriber
POST /subscribers
Creates a subscriber
curl -X POST \
'https://api.carrierx.com/conference/v1/subscribers' \
-H 'Content-Type: application/json' \
--data-binary '{"login":"test_carrierx_conference_135","password":"my_test_password","firstName":"CarrierX"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Subscriber object
{
"authenticationToken": "MWMx0BU1YZE0MV==",
"created": 1586872518000,
"didGroupReferences": [],
"externalId": -1,
"firstName": "CarrierX",
"lastName": "",
"login": "test_carrierx_conference_135",
"parentSid": "zzpF93QCVvfYYJb2KdPSzGW6lqGLB3qm",
"role": 3,
"sid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request creates a subscriber.
POST | /subscribers |
Body Arguments
JSON representation of the fields and values of the Subscriber object to be created.
Required fields to create a subscriber are:
login
password
Refer to this table to view all fields that appear in the Subscriber object.
Get Current Subscriber
GET /subscribers/whoami
Returns the currently active subscriber
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/whoami' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Subscriber object
{
"authenticationToken": "MWMx0BU1YZE0MV==",
"created": 1586872518000,
"didGroupReferences": [],
"externalId": -1,
"firstName": "CarrierX",
"lastName": "Company",
"login": "test_carrierx_conference_135",
"parentSid": "zzpF93QCVvfYYJb2KdPSzGW6lqGLB3qm",
"role": 3,
"sid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request returns data for the currently active subscriber.
GET | /subscribers/whoami |
Get Subscribers
GET /subscribers
Returns subscribers matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of Subscriber objects
{
"last": 1,
"offset": 0,
"subscribers": [
{
"authenticationToken": "MWMx0BU1YZE0MV==",
"created": 1586872518000,
"didGroupReferences": [],
"externalId": -1,
"firstName": "CarrierX",
"lastName": "",
"login": "test_carrierx_conference_135",
"parentSid": "zzpF93QCVvfYYJb2KdPSzGW6lqGLB3qm",
"role": 3,
"sid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
},
{
"authenticationToken": "MWMx0BU1YZE0MV=",
"callback": {
"id": 779127,
"url": "https://mywebsite.com/new-url"
},
"created": 1603107611000,
"details": "some details about subscriber",
"didGroupReferences": [
{
"didGroupId": 731,
"state": 0
}
],
"externalId": -1,
"firstName": "John",
"lastName": "Smith",
"login": "test_john_smith_conference_164",
"parentSid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1",
"phoneNumber": "9197473626",
"role": 2,
"sid": "6v9u9-p35vZo1Cxq0qKkQn9X57T5cfAj"
}
],
"total": 2
}
This request returns a list of subscribers.
GET | /subscribers |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Get Subscriber by SID
GET /subscribers/{sid}
Returns a subscriber, targeted by secure ID
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Subscriber object
{
"authenticationToken": "MWMx0BU1YZE0MV==",
"created": 1586872518000,
"didGroupReferences": [],
"externalId": -1,
"firstName": "CarrierX",
"lastName": "",
"login": "test_carrierx_conference_135",
"parentSid": "zzpF93QCVvfYYJb2KdPSzGW6lqGLB3qm",
"role": 3,
"sid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request returns data for a subscriber, targeted by secure ID.
GET | /subscribers/{sid} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Update Subscriber
PUT /subscribers/{sid}
Updates the Subscriber object, targeted by secure ID, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1' \
-H 'Content-Type: application/json' \
--data-binary '{"role":2,"lastName":"Company"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated Subscriber object
{
"authenticationToken": "MWMx0BU1YZE0MV==",
"created": 1586872518000,
"didGroupReferences": [],
"externalId": -1,
"firstName": "CarrierX",
"lastName": "Company",
"login": "test_carrierx_conference_135",
"parentSid": "zzpF93QCVvfYYJb2KdPSzGW6lqGLB3qm",
"role": 2,
"sid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request updates a subscriber, targeted by secure ID.
PUT | /subscribers/{sid} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The subscriber secure ID is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
callback
details
didGroupReferences
email
eventCallbackUrl
ext
firstName
lastName
login
meetingRooms
password
phoneNumber
role
Refer to this table to view all fields that appear in the Subscriber object.
Delete Subscriber
DELETE /subscribers/{sid}
Deletes a subscriber, targeted by secure ID
curl -X DELETE \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a subscriber, targeted by secure ID.
DELETE | /subscribers/{sid} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Log Out Subscriber
POST /subscribers/logout
Logs out the currently active subscriber
curl -X POST \
'https://api.carrierx.com/conference/v1/subscribers/logout' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request logs out the currently active subscriber.
POST | /subscribers/logout |
File Descriptor Object
This section outlines the File Descriptor object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample File Descriptor object
{
"duration": 8673,
"name": "recording.mp3",
"size": 138999,
"url": "/storage/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/recording.mp3"
}
Attribute | Data Type | Description |
---|---|---|
duration read only | integer | The media file duration in milliseconds. |
name read only | string | The media file name. |
size read only | integer | The media file size in bytes. |
url read only | string | The media file internal URL. |
Upload Media File
POST /subscribers/{sid}/files
Uploads a media file for the subscriber, targeted by secure ID
curl -X POST \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/files' \
-H 'Content-Type: multipart/form-data' \
-F file='@recording.mp3' \
-u '[your_user_name]:[your_password]'
Response
200
status code
This request uploads a media file for the subscriber specified in the request.
POST | /subscribers/{sid}/files |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Form Arguments
Parameter | Data Type | Description |
---|---|---|
file required | file | The media file to be uploaded. |
Get Files
GET /subscribers/{sid}/files
Returns files matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/files' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of File Descriptor objects
{
"fileDescriptors": [
{
"duration": 8673,
"name": "recording.mp3",
"size": 138999,
"url": "/storage/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/recording.mp3"
}
],
"last": 0,
"offset": 0,
"total": 1
}
This request returns a list of files.
GET | /subscribers/{sid}/files |
This request is enabled for Pagination.
Delete Files
DELETE /subscribers/{sid}/files
Deletes several files, targeted by subscriber secure ID and file names
curl -X DELETE \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/files' \
-H 'Content-Type: application/json' \
--data-binary '["recording.mp3"]' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes files, targeted by subscriber secure ID and file names.
DELETE | /subscribers/{sid}/files |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Body Arguments
Parameter | Data Type | Description |
---|---|---|
files required | array | The array of file names that will be deleted. |
Delete File by Name
DELETE /subscribers/{sid}/files/{fileName}
Deletes a file, targeted by subscriber secure ID and file name
curl -X DELETE \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/files/recording.mp3' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a single file, targeted by subscriber secure ID and file name.
DELETE | /subscribers/{sid}/files/{fileName} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
fileName required | string | The file name. |
Meeting Room Object
This section outlines the Meeting Room object. The fields listed in the table below will be returned in a JSON object when a successful request has been made.
Sample Meeting Room object
{
"attributes": [],
"created": 1544482680000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 219,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 3
}
],
"meetingNumber": 273751,
"primaryDidGroupId": 219,
"subscriberSid": "yIMW9.jKxffi2EyM.afDmeO.gke.9fe0"
}
Attribute | Data Type | Description |
---|---|---|
attributes create update | array of objects | Preset attributes that can be modified. Please refer to the Meeting Attributes section for a comprehensive list of attributes. |
created read only | integer | The UNIX time stamp of the metting room creation time. |
description create update | string | The meeting room description. |
didGroupReferences create update | array of objects | Data about the DID Group associated with the meeting room. This information includes the didGroupId and state . Refer to the table below for more information. |
keychain create update | array of objects | Contains the access codes and matching roles. The keychain array can be modified through a PUT request. When creating a PUT request, include accessCode and role . Refer to the table below for more information. |
meetingNumber create update | integer | The meeting number. This number is used in GET , PUT , and DELETE requests. |
primaryDidGroupId create update | integer | The DID group associated with the meeting. |
subscriberSid read only | string | The secure ID of the subscriber. |
DID Group Reference Object
The didGroupReferences
array contains the didGroupId
and state
. The didGroupId
references the DID group containing the phone numbers that can be dialed to access a Meeting Room.
Attribute | Data Type | Description |
---|---|---|
didGroupId create update | integer | The DID group ID. |
state create update | integer | The state of the DID group. Values accepted in this field are:
|
Create Meeting Room
POST /subscribers/{sid}/meetingRooms
Creates a meeting room for the selected subscriber
curl -X POST \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/meetingRooms' \
-H 'Content-Type: application/json' \
--data-binary '{"primaryDidGroupId":731}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting Room object
{
"attributes": [],
"created": 1603355950000,
"didGroupReferences": [
{
"didGroupId": 731,
"state": 0
}
],
"keychain": [],
"meetingNumber": 313267,
"primaryDidGroupId": 731,
"subscriberSid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request creates a meeting room for the selected subscriber using the data passed in the query body.
POST | /subscribers/{sid}/meetingRooms |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Body Arguments
JSON representation of the fields and values of the Meeting Room object to be created.
A required field to create a Meeting Room object is primaryDidGroupId
.
Refer to this table to view all fields that appear in the Meeting Room object.
Get Meeting Rooms
GET /subscribers/{sid}/meetingRooms
Returns meeting rooms for the selected subscriber matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/meetingRooms' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of meeting rooms.
{
"last": 0,
"meetingRooms": [
{
"attributes":[],
"created": 1603355950000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 731,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 1
}
],
"meetingNumber": 313267,
"primaryDidGroupId": 731,
"subscriberSid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
],
"offset": 0,
"total": 1
}
This request returns a list of meeting rooms for the selected subscriber.
GET | /subscribers/{sid}/meetingRooms |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
sid required | string | The subscriber secure ID. |
Get Meeting Room by meetingNumber
GET /subscribers/{sid}/meetingRooms/{meetingNumber}
Returns a meeting room for the selected subscriber, targeted bymeetingNumber
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/meetingRooms/313267' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting Room object
{
"created": 1603355950000,
"description": "Test Meeting",
"didGroupReferences": [
{
"didGroupId": 731,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 1
}
],
"meetingNumber": 313267,
"primaryDidGroupId": 731,
"subscriberSid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request returns information about a meeting room for the selected subscriber, targeted by meetingNumber
.
GET | /subscribers/{sid}/meetingRooms/{meetingNumber} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Update Meeting Room
PUT /subscribers/{sid}/meetingRooms/{meetingNumber}
Updates the Meeting Room object for the selected subscriber, targeted bymeetingNumber
, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/meetingRooms/313267' \
-H 'Content-Type: application/json' \
--data-binary '{"description": "Another description"}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated Meeting Room object
{
"attributes": [],
"created": 1603355950000,
"description": "Another description",
"didGroupReferences": [
{
"didGroupId": 731,
"state": 0
}
],
"keychain": [
{
"accessCode": "463516",
"id": 3464,
"role": 1
}
],
"meetingNumber": 313267,
"primaryDidGroupId": 731,
"subscriberSid": "rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1"
}
This request updates an existing meeting room for the selected subscriber, targeted by meetingNumber
.
PUT | /subscribers/{sid}/meetingRooms/{meetingNumber} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The meeting room meetingNumber
is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
attributes
description
didGroupReferences
keychain
meetingNumber
primaryDidGroupId
Refer to this table to view all fields that appear in the Meeting Room object.
Delete Meeting Room
DELETE /subscribers/{sid}/meetingRooms/{meetingNumber}
Deletes a meeting room for the selected subscriber, targeted bymeetingNumber
curl -X DELETE \
'https://api.carrierx.com/conference/v1/subscribers/rB0M9.EzXfaO4keb-opANwfb7CHx1Ph1/meetingRooms/313267' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a meeting room for the selected subscriber, targeted by meetingNumber
.
DELETE | /subscribers/{sid}/meetingRooms/{meetingNumber} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Meeting Key Object
The keychain
array holds the meeting access codes. The three access levels are host, participant, and listener.
Sample Meeting Key object
{
"accessCode": "3141591",
"id": 4028,
"meetingRoomId": 2127,
"role": 2
}
Attribute | Data Type | Description |
---|---|---|
accessCode create update | string | The DTMF sequence that callers enter to access a meeting. This sequence is customizable. |
id create update | integer | The ID of the access code and role association. |
meetingRoomId read only | integer | The ID of the meeting room. This attribute is only returned in responses to the POST and PUT requests. |
role create update | integer | The role associated with the access code. Values accepted in this field are:
|
Create Meeting Key
POST /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain
Creates a meeting key
curl -X POST \
'https://api.carrierx.com/conference/v1/subscribers/6v9u9-p35vZo1Cxq0qKkQn9X57T5cfAj/meetingRooms/946827/keychain' \
-H 'Content-Type: application/json' \
--data-binary '{"accessCode":"3141591", "role":2}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting Key object
{
"accessCode": "3141591",
"id": 4028,
"meetingRoomId": 2127,
"role": 2
}
This request creates a meeting key for the selected subscriber using the data passed in the query body.
POST | /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Body Arguments
JSON representation of the fields and values of the Meeting Key object to be created.
A required field to create a meeting key is role
.
Refer to this table to view all fields that appear in the Meeting Key object.
Get Meeting Keys
GET /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain
Returns meeting keys for the selected subscriber matching the criteria in the request URL
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/6v9u9-p35vZo1Cxq0qKkQn9X57T5cfAj/meetingRooms/946827/keychain' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a list of Meeting Key objects
[
{
"accessCode": "3141591",
"id": 4028,
"role": 2
},
{
"accessCode": "543402",
"id": 4029,
"role": 3
},
{
"accessCode": "423319",
"id": 4030,
"role": 1
}
]
This request returns a list of meeting key for the selected subscriber.
GET | /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain |
This request is enabled for Pagination, Result Filtering, and Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Get Meeting Key by ID
GET /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId}
Returns a meeting key for the selected subscriber, targeted by the meeting key ID
curl -X GET \
'https://api.carrierx.com/conference/v1/subscribers/6v9u9-p35vZo1Cxq0qKkQn9X57T5cfAj/meetingRooms/946827/keychain/4028' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the Meeting Key object
{
"accessCode": "3141591",
"id": 4028,
"role": 2
}
This request returns data for a meeting key for the selected subscriber, targeted by the meeting key ID.
GET | /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId} |
This request is enabled for Field Filtering.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingKeyId required | integer | The meeting key ID. |
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Update Meeting Key
PUT /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId}
Updates the Meeting Key object for the selected subscriber, targeted by the meeting key ID, with the values in the request body
curl -X PUT \
'https://api.carrierx.com/conference/v1/subscribers/6v9u9-p35vZo1Cxq0qKkQn9X57T5cfAj/meetingRooms/946827/keychain/4028' \
-H 'Content-Type: application/json' \
--data-binary '{"role":3}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated Meeting Key object
{
"accessCode": "3141591",
"id": 4028,
"role": 3
}
This request updates a meeting key for the selected subscriber, targeted by the meeting key ID.
PUT | /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId} |
A PUT
request is used to update one or more attribute values. When using a PUT
request, only the attributes specified in the request payload will be updated, all other attributes and values will remain the same. The meeting key ID is passed in the query URL, and the values to be modified are passed in the request body.
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingKeyId required | integer | The meeting key ID. |
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Body Arguments
JSON representation of the fields and values to be updated.
Fields that can be modified are:
accessCode
role
Refer to this table to view all fields that appear in the Meeting Key object.
Delete Meeting Key
DELETE /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId}
Deletes a meeting key for the selected subscriber, targeted by the meeting key ID
curl -X DELETE \
'https://api.carrierx.com/conference/v1/subscribers/6v9u9-p35vZo1Cxq0qKkQn9X57T5cfAj/meetingRooms/946827/keychain/4028' \
-u '[your_user_name]:[your_password]'
Response
204
status code with an empty body
This request deletes a meeting key for the selected subscriber, targeted by the meeting key ID.
DELETE | /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId} |
Path Arguments
Parameter | Data Type | Description |
---|---|---|
meetingKeyId required | integer | The meeting key ID. |
meetingNumber required | integer | The meeting room number. |
sid required | string | The subscriber secure ID. |
Meeting Attributes
PUT /meetingRooms/{meetingNumber}
Updates a meeting attribute for a meeting room
curl -X PUT \
'https://api.carrierx.com/conference/v1/meetingRooms/452650' \
-H 'Content-Type: application/json' \
--data-binary '{"attributes":[{"name":"call_maxduration","value":120}]}' \
-u '[your_user_name]:[your_password]'
Response
200
status code with a serialized copy of the updated Meeting Room object
{
"attributes": [
{
"description": "Maximal calls duration (s)",
"group": 0,
"name": "call_maxduration",
"value": "120"
}
],
"created": 1568822760000,
"description": "another_meeting_room",
"didGroupReferences": [
{
"didGroupId": 2325,
"state": 0
}
],
"keychain": [
{
"accessCode": "666",
"id": 5302,
"role": 3
},
{
"accessCode": "444",
"id": 5300,
"role": 1
},
{
"accessCode": "555",
"id": 5301,
"role": 2
}
],
"meetingNumber": 508005,
"primaryDidGroupId": 4425,
"subscriberSid": "cxDD96hPO-bGt6TvLlluid23UQs01Djz"
}
The following are meeting attributes that can be applied on the Meeting Room, DID Group, or DID object levels. For each of these levels, the meeting attributes will be passed as a value of attributes
as an array of objects.
This will look like the following format: "attributes":[{"name":"call_maxduration","value":120}]
.
Some fields accept a string containing the first letter of the access level name. The three access levels are host
, participant
, or listener
. To enable a feature for all three access levels, enter the string hpl
. Alternatively, to enable the feature for one access level, enter the first letter of the word. For example, participant is p
.
Attributes List
Attribute | Data Type | Description | Where to Set |
---|---|---|---|
call_announceparticipantcount | string | Determines for which access levels the number of participants will be announced upon entering the meeting room. Enter the access levels as a string. | Meeting Room object, DID Group object |
call_associate_dtmf | string | Determines which access levels will be able to associate calls. | Meeting Room object, DID Group object |
call_associate_dtmf_binding | string | The DTMF sequence to associate audio. | DID Group object |
call_delay | integer | The number of seconds to delay before the call is answered. | DID Group object, DID object |
call_exit_dtmf | string | Determines which access levels will be able to enter the DTMF sequence to leave a call. The DTMF sequence is set as call_exit_dtmf_binding . |
Meeting Room object, DID Group object |
call_exit_dtmf_binding | string | Determines the DTMF sequence that will trigger exiting a call when call_exit_dtmf is enabled. |
DID Group object |
call_instructions_dtmf | string | Determines which access levels will be able to enter the DTMF sequence to access the help playback. Enter the access levels as a string for the field value. The DTMF sequence is set as call_instructions_dtmf_binding . |
Meeting Room object, DID Group object |
call_instructions_dtmf_binding | string | The DTMF sequence that will trigger the help playback for the access levels designated in call_instructions_dtmf . |
DID Group object |
call_jobcodeonenter | string | Determines whether or not the caller will be prompted for a job code prior to entering the meeting. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
call_maxduration | integer | The maximum duration of the call. | Meeting Room object, DID Group object |
call_mute_dtmf | string | Determines which access levels can mute themselves. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
call_mute_dtmf_binding | string | The DTMF sequence that triggers self muting. | DID Group object |
call_operator_after | integer | Determines how many times an unsuccessful attempt can be made to enter the access code. Enter -1 to allow unlimited amounts of unsuccessful attempts. |
DID Group object |
call_operator_dtmf | string | Determines which access levels can call the operator. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
call_operator_dtmf_binding | string | The DTMF sequence that triggers a call to the operator. | DID Group object |
call_participantsnumber_dtmf | string | Determines which access levels can enter the DTMF sequence to hear the number of participants currently in the conference. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
call_participantsnumber_dtmf_binding | string | The DTMF sequence that triggers stating the number of participants in the conference. | DID Group object |
conference_appspecific | string | Application-specific data. | Meeting Room object, DID Group object |
conference_callerdb | string | The callers database. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_country | string | The conference country. | Meeting Room object, DID Group object |
conference_distributed | string | Determines whether or not distributed conferencing is enabled. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_entryexittones_dtmf | string | Determines which access levels can change the entry and exit tone by entering a DMTF sequence. Entering the DTMF sequence will alternate through the following combinations: ON:ON , ON:OFF , OFF:ON , and OFF:OFF . |
Meeting Room object, DID Group object |
conference_entryexittones_dtmf_binding | string | The DTMF sequence that triggers the change between the tone combinations outlined in conference_entryexittones_dtmf . |
DID Group object |
conference_entrytones | string | Determines whether or not a noise will be played when a new participant joins the conference. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_exittones | string | Determines whether or not a noise will be played when a new participant exits the conference. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_hold_dtmf | string | Determines which access levels will be able to put a conference on hold. | Meeting Room object, DID Group object |
conference_hold_dtmf_binding | string | The DTMF sequence that will trigger putting a conference on hold. | DID Group object |
conference_hold_policy | string | Determines which access levels will be on hold at the beginning of the conference. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_jobcode_dtmf | string | Allows participants to enter the * key during a conference followed by a job code. Enter the access levels as a string for the field value. |
Meeting Room object, DID Group object |
conference_jobcode_dtmf_binding | string | The DTMF sequence to trigger entering a job code. | DID Group object |
conference_language | string | Determines the language of the meeting. The default value is EN . Refer to the table below for all of the currently supported languages. |
Meeting Room object, DID Group object |
conference_lock_dtmf | string | Determines which access levels can lock a conference, meaning that no more participants can join. Note that hosts are still able to join even if lock is enabled. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_lock_dtmf_binding | string | The DTMF sequence that triggers locking a conference. | DID Group object |
conference_maxcalls | integer | The maximum number of calls per conference. | Meeting Room object, DID Group object |
conference_maxcallsperrole | string | The maximum number of calls per role per conference. The following denotes that there can be an unlimited amount of calls from each role: -1:-1:-1 . |
Meeting Room object, DID Group object |
conference_maxduration | integer | The maximum duration of the conference. To enable the conference to endure indefinitely, assign the value -1 . |
Meeting Room object, DID Group object |
conference_mute_dtmf | string | Determines which access levels are able to mute other participants. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_mute_dtmf_binding | string | The DTMF sequence to trigger muting other participants. | DID Group object |
conference_mute_policy | string | Defines which roles will be muted at the beginning of the conference. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_qa_dtmf | string | Determines which access levels can start a Q&A session. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_qa_dtmf_binding | string | The DTMF sequence to trigger starting a Q&A session. | DID Group object |
conference_qa_policy | string | Determines which access levels will be muted when a Q&A session is started. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_realtime | string | Defines whether or not the conference generates real time notifications, which allows viewing attendee lists and controlling the conference from a computer. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_recording | string | Defines whether or not a recording will begin once the meeting starts. Values accepted in this field are on , off , and auto . auto means that the recording will begin as soon as the conference begins. |
Meeting Room object, DID Group object |
conference_rollcall | string | Determines whether or not participants will be prompted to record their names upon entering the conference. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_rollcall_onenter | string | Determines whether or not the recordings of participants saying their names will be played upon entering the conference. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_rollcall_onexit | string | Determines whether or not recordings of the participants saying their names will be played upon exiting the conference. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_schedule | string | The conference schedule. | Meeting Room object, DID Group object |
conference_schedule_extend | string | The conference schedule extended maximum time in seconds. | DID Group object |
conference_schedule_extend_dtmf | string | Defines the access levels that will be able to extend a conference schedule. | Meeting Room object, DID Group object |
conference_schedule_extend_dtmf_binding | string | The DMTF sequence that will trigger extending the conference schedule. | DID Group object |
conference_schedule_hold | integer | The amount of time in seconds to wait before the scheduled conference begins. | Meeting Room object, DID Group object |
conference_schedule_remind | integer | The amount of time in seconds to wait before the scheduled conference reminder. | Meeting Room object, DID Group object |
conference_scheduled | string | Defines whether or not a conference is scheduled. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
conference_start_how | string | Determines when the conference will begin. Values accepted in this field are first , moderator , and explicit . |
Meeting Room object, DID Group object |
conference_start_wait | integer | The number of seconds to wait before starting a meeting when a moderator has not entered the meeting. | Meeting Room object, DID Group object |
conference_stop_how | string | Determines whether the meeting will end when the moderator exits, or when the last participant exits. Values accepted in this field are last and moderator . |
Meeting Room object, DID Group object |
conference_stop_wait | integer | The number of seconds to wait before stopping the conference after the host disconnects. | Meeting Room object, DID Group object |
conference_video_policy | string | Determines which access levels will have video enabled at the beginning of a conference. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
conference_whitelist | string | Defines whether or not the conference has a white list. Values accepted in this field are on and off . |
Meeting Room object, DID Group object |
dnis_welcomeprompt | string | The URL to a recorded greeting. | DID Group object, DID object |
polling_dtmf | string | Determines which access levels can start a polling vote. | Meeting Room object, DID Group object |
polling_dtmf_binding | string | The DTMF sequence to trigger starting a polling vote. | DID Group object |
recording_addr | string | The recording server address. | DID Group object |
recording_dtmf | string | Determines which access levels are able to start a recording. Enter the access levels as a string for the field value. | Meeting Room object, DID Group object |
recording_dtmf_binding | string | Defines the DTMF sequence that triggers starting a recording of the meeting. | DID Group object |
recording_metadata | string | Defines the recording metadata passing method. Values accepted in this field are contact and custom . |
DID Group object |
recording_method | string | Determines the recording method. Values accepted in this field are: remote , remote+pin , local , and local+pin . |
DID Group object |
recording_stop_how | string | Determines the recording method. Values accepted in this field are: last and moderator . |
Meeting Room object, DID Group object |
recording_stop_wait | integer | Defines the amount of seconds to wait before stopping recording after the moderator has left the conference. | Meeting Room object, DID Group object |
conference_language
Code | Language |
---|---|
EN | English (default) |
AR | Argentinian |
DE | German |
EL | Greek |
ES | Spanish (Spain) |
ES-LATAM | Spanish (Latin America) |
FR | French |
GB | British English |
HE | Vietnamese |
IT | Italy |
JA | Japanese |
KO | Korean |
NL | Dutch |
PT | Portuguese (Portugal) |
PT-BR | Portuguese (Brazil) |
RU | Russian |
TR | Turkish |
UA | Ukrainian |
UK | Ukrainian (Ukraine) |
ZH | Chinese |