Requests use basic authentication. To create API credentials go to Settings-> Developer Settings-> API Credentials
Every installation will have their own subdomain. To find the subdomain, locate the url in your browser, it should look like:
Take that subdomain, the most left value, and substitute it into the {{subdomain}} variable. The remainder would be substituted into the {{domain}} variable.
In the above example, {{subdomain}} would be “customer” and {{domain}} would be “rest.of.url.com”
The API uses the following base URL for all of its API requests
https://{{subdomain}}.{{domain}}/apps/api/v1
where a mention to “/calls” means https://{{subdomain}}.{{domain}}/apps/api/v1/calls
The system limits requests to a rate of 1 request per second per customer.
A call object is created for every single call that is made into, or out of the system.
{
"id": 0,
"parent_id": 0,
"lang": "en",
"call_type": "Voice Scheduled (API)",
"status": "scheduled",
"created_at": "2018-06-07T19:49:52.896Z",
"queued_at": "2018-06-07T19:49:52.896Z",
"assigned_at": "2018-06-07T19:49:52.896Z",
"connected_at": "2018-06-07T19:49:52.896Z",
"ends_at": "2018-06-07T19:49:52.896Z",
"scheduled_at": "2018-06-07T19:49:52.896Z",
"wait_duration": 0,
"call_duration": 0,
"hold_duration": 0,
"rating": 0,
"has_feedback": true,
"voip_provider": "voip_provider_twilio",
"out_ticket_id": "string",
"out_ticket_url": "string",
"verified": true,
"recording_url": "string",
"recording_permission": "not_asked",
"voicemail_reason": "not_voicemail",
"deflection": "no_deflection",
"disconnected_by": "disconnected_by_unknown",
"fail_details": "string",
"fail_reason": "nothing",
"support_number": "string",
"selected_menu": {
"id": 0,
"name": "string",
"parent_id": 0,
"position": 0,
"deleted": true,
"hidden": "string",
"menu_type": "ivr_menu",
"output_msg": "string"
},
"menu_path": {
"items_count": 0,
"name": "string",
"materialized_path": "string"
},
"agent_info": {
"id": 0,
"name": "string",
"last_name": "string",
"first_name": "string",
"agent_number": "string",
"avatar_url": "string"
},
"end_user": {
"id": 0,
"identifier": "string",
"out_contact_id": "string"
},
"photos": [
{
"id": 0,
"photo_type": "photo",
"url": "string"
}
],
"videos": [
{
"id": 0,
"url": "string"
}
],
"transfers": [
{
"id": 0,
"status": "transferring",
"fail_reason": "nothing",
"created_at": "2018-06-07T19:49:52.896Z",
"from_menu": {
"items_count": 0,
"name": "string",
"materialized_path": "string"
},
"to_menu": {
"items_count": 0,
"name": "string",
"materialized_path": "string"
},
"from_agent": {
"id": 0,
"name": "string",
"last_name": "string",
"first_name": "string",
"agent_number": "string",
"avatar_url": "string"
},
"to_agent": {
"id": 0,
"name": "string",
"last_name": "string",
"first_name": "string",
"agent_number": "string",
"avatar_url": "string"
}
}
],
"participants": [
{
"id": 0,
"type": "end_user",
"status": "waiting",
"call_id": 0,
"user_id": 0,
"end_user_id": 0,
"call_duration": 0,
"hold_duration": 0,
"connected_at": "2018-06-07T19:49:52.896Z",
"ended_at": "2018-06-07T19:49:52.896Z",
"fail_reason": "nothing"
}
]
}
]
The status field can be in any of the following states
Call Status | Description |
---|---|
Selecting | State that occurs when an end user has called into the contact center, but is still navigating the menu options prior to being placed in a leaf menu. |
Queued | State that occurs after the end user has selected a leaf menu node and initiated a call request to be deltcasted or multicasted to an agent. |
Assigned | State that occurs when an agent is selected to receive the end user call. This occurs when a call is picked up by an agent. |
Connecting | State that occurs after an agent is assigned, and a connection is being established between the end user and the agent. |
Connected | State that occurs when the call has established a connection and the agent and end user are both placed into a call. |
Finished | State that occurs when a call ends after it has been connected. |
Failed | State that occurs when a call ends before it was successfully connected. A fail reason will also be provided for additional details. |
Switching | State that occurs when a call fails while trying to connect and the system attempts to connect the call with a different VOIP provider. |
Recovered | State that occurs when a failed call is called back. This new call is a child to the original call. Recovered notes that the call back is finished without error. |
Scheduled | State that occurs when an end user has scheduled a future call via In-Web or In-App. |
Action Only | State that occurs when a call that is handled by our client’s own telephony provider is connected to our iOS or Android SDK. |
Action Only Finished | State that occurs when a call that is handled by our client’s own telephony provider is connected to our iOS or Android SDK and finishes |
Deflected | State that occurs based on the configuration for overcapacity queues or after hour calls. Deflection options include voicemail, schedule call among others. Deflection will vary based on channel (In-app, IVR, In-web) |
Voicemail | State that occurs when an end user is deflected to a voicemail option, and opts to leave a voicemail message to listened to later. This state is present when the end user is leaving the voicemail |
Voicemail Received | State that occurs after an end user has left a voicemail and an agent has not listened to the voicemail |
Voicemail Read | State that occurs when an agent has opened the voicemail to listen to. |
The call_type field can only be one of the following values
Call Type | Description |
---|---|
Voice Outbound (API) | Call made from Outbound Call API. |
Voice Inbound (API) | Call made from Incoming Call API. |
Voice Scheduled (API) | Call made from Scheduled Call API. |
The following are the most common API Responses:
Response Code | Meaning |
---|---|
201 | The API request has been successful and will create a call |
202 | The API request has been successful, but manual intervention is required inside of the widget to complete the action |
400 | invalid call type - ensure call_type is supported |
400 | Agent is not available to take this call |
400 | Missing parameter - check to ensure that the required parameters have been added |
404 | Resource not found - Please check your subdomain |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
call_type | TRUE | String | Call type to create. “Voice Outbound (API)”, “OutboundCall” (deprecated) are available for now | Voice Outbound (API) |
menu_id | FALSE | String / Integer | Selected menu id for outbound call to grab settings from queue instead of global settings | |
agent_email | TRUE | String | Email address for the agent who will be assigned to the outbound call. | {{agent_email}} |
ticket_id | FALSE | String | CRM ticket ID and it will dial to the end user who is tied to the ticket. | {{ticket_id}} |
end_user_number | FALSE | String | End user phone number which will be dialing. ticket_id has a higher priority than end_user_number. | {{end_user_number}} |
outbound_number | FALSE | String | Well-formed outbound number which is managed from Settings > Phone Numbers > Phone Number Management. Default outbound number will be used when empty | {{outbound_number}} |
lang | FALSE | String | Language of the call. Uses ISO 639-1 codes. (Default: “en”) | {{lang}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
call_type | TRUE | String | Call type to create. “Voice Outbound (API)”, “OutboundCall” (deprecated) are available for now | Voice Outbound (API) |
menu_id | FALSE | String / Integer | Selected menu id for outbound call to grab settings from queue instead of global settings | |
agent_email | TRUE | String | Email address for the agent who will be assigned to the outbound call. | {{agent_email}} |
ticket_id | FALSE | String | CRM ticket ID and it will dial to the end user who is tied to the ticket. | {{ticket_id}} |
end_user_number | FALSE | String | End user phone number which will be dialing. ticket_id has a higher priority than end_user_number. | {{end_user_number}} |
outbound_number | FALSE | String | Well-formed outbound number which is managed from Settings > Phone Numbers > Phone Number Management. Default outbound number will be used when empty | {{outbound_number}} |
lang | FALSE | String | Language of the call. Uses ISO 639-1 codes. (Default: “en”) | {{lang}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
call_type | TRUE | String | Call type to create. Use “Voice Inbound (API)” or “IncomingCall” (deprecated) to create an incoming call. | Voice Inbound (API) |
menu_id | TRUE | Integer | The ID of the menu to attribute the call to. Only IVR and Web menu IDs are accepted. | {{menu_id}} |
end_user_number | TRUE | String | The end user phone number that will be dialed. If both a ticket_id and end_user_number are passed in, the ticket_id will take precedence. | {{end_user_number}} |
lang | FALSE | String | Language of the call. Uses ISO 639-1 codes. (Default: “en”) | {{lang}} |
ticket_id | FALSE | String | CRM ticket ID. The end user phone number tied to the ticket will be dialed. If both a ticket_id and end_user_number are passed in, the ticket_id will take precedence. | {{ticket_id}} |
outbound_number | FALSE | String | The outbound phone number to be used for the call. The default global outbound phone number will be used if input is not passed in or invalid. Outbound numbers are managed from Settings > Queue > EDIT / VIEW > Select a queue > Outbound Phone Numbers. | {{outbound_number}} |
recording_permission | FALSE | String | The value is only evaluated if the “Call Recording Options” feature is set to “Ask User for Permission to Record”. Configurable at Settings > Queue > EDIT / VIEW > Select a queue > Call Recording Options. If the value is either “recording_permission_not_asked” (default) or “recording_permission_denied”, the call will not be recorded. If the value is “recording_permission_granted”, the call will be recorded. | {{recording_permission}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
call_type | TRUE | String | Call type to create. Use “Voice Scheduled (API)” or “ScheduledCall” (deprecated) to create an scheduled call. | Voice Scheduled (API) |
menu_id | TRUE | Integer | The ID of the menu to attribute the call to. Only Mobile and Web menu IDs are accepted. | {{menu_id}} |
call_id | FALSE | Integer | Call ID of previous call, which will be linked as the parent call of the new created scheduled call. When call ID is being used, menu_id can be optional. | {{call_id}} |
end_user_number | TRUE | String | The end user phone number that will be dialed. If both a ticket_id and end_user_number are passed in, the ticket_id will take precedence. | {{end_user_number}} |
lang | FALSE | String | Language of the call. Uses ISO 639-1 codes. (Default: “en”) | {{lang}} |
ticket_id | FALSE | String | CRM ticket ID. The end user phone number tied to the ticket will be dialed. If both a ticket_id and end_user_number are passed in, the ticket_id will take precedence. | {{ticket_id}} |
scheduled_at | TRUE | String | Scheduled time of the call. Uses ISO 8601 format to a valid future time. | {{scheduled_at}} |
recording_permission | FALSE | String | The value is only evaluated if the “Call Recording Options” feature is set to “Ask User for Permission to Record”. Configurable at Settings > Queue > EDIT / VIEW > Select a queue > Call Recording Options. If the value is either “recording_permission_not_asked” (default) or “recording_permission_denied”, the call will not be recorded. If the value is “recording_permission_granted”, the call will be recorded. | {{recording_permission}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Used to update the end_user associated with the current active call session. Additionally, it also updates the contact information linked to the CRM ticket. _Identifier is required, while name, email, and phone are optional. Note: If a phone number is already set, providing a phone parameter will not update the phone number.
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
call_id |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
chat_type | TRUE | String | Chat type to create. “Messaging (API)”, “SMS” (deprecated) are available for now | Messaging (API) |
end_user_number | TRUE | String | Number the text message is to be sent to | {{end_user_number}} |
outbound_number | TRUE | String | Outbound phone number to be used for sending the SMS message | {{outbound_number}} |
message | TRUE | String | SMS message to be sent to consumer | {{message}} |
ticket_id | FALSE | String | CRM ticket ID that will be associated with session | {{ticket_id}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
lang | TRUE | String | Language code of the queue. (e.g. ‘en’) | {{lang}} |
menu_id | FALSE | Integer | Response will filter all menus in that menu’s subtree, including that menu. | {{menu_id}} |
menu_type | FALSE | String | Returns menus of specific types. Possible values: ivr_menu, mobile_menu, web_menu). | {{menu_type}} |
channel_type | FALSE | String | Returns menus of a specific channel. Possible values: voice_call, chat). | {{channel_type}} |
wait[from] | FALSE | Integer | Returns records if they have a wait greater than the value. | {{wait[from]}} |
wait[to] | FALSE | Integer | Returns records if they have a wait less than the value. | {{wait[to]}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
lang | TRUE | String | Language code of the queue. (e.g. ‘en’) | {{lang}} |
menu_id | FALSE | Integer | Response will filter all menus in that menu’s subtree, including that menu. | {{menu_id}} |
menu_type | FALSE | String | Returns menus of specific types. Possible values: ivr_menu, mobile_menu, web_menu). | {{menu_type}} |
channel_type | FALSE | String | Returns menus of a specific channel. Possible values: voice_call, chat). | {{channel_type}} |
wait[from] | FALSE | Integer | Returns records if they have a wait greater than the value. | {{wait[from]}} |
wait[to] | FALSE | Integer | Returns records if they have a wait less than the value. | {{wait[to]}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Create/Update a large number of users through the Bulk User Management collection.
Supports JSON files. Sample json data can be obtained through the Template API.
Only api_user authentication is supported. You must enter the api user token in the password variable. Lagacy authentication(using a company secret) is not supported.
When a JSON file is uploaded through the upload API, a job is created and validates the json file scheme.
The JSON file format is shown below and also can be checked through the GET Template API.
Field(s) name | Values | Required | Validation |
---|---|---|---|
String(Email) | Yes | Must be a valid email. Must be unique within the file within Email column (no duplicates). so only 1 update per email address per file | |
new_email | String(Email) | No | Must be a valid email. Must be unique within the file within New Email column (no duplicates). so only 1 update per email address per file |
agent_number | String | No | A string with no validation |
first_name | String | Yes | Non-empty string |
last_name | String | Yes | Non-empty string |
status | Active, Inactive, Empty | No | Must be “Active”, “Inactive”, or empty |
location | A string that is a location name, Empty, Null | No | Must exactly match one of the existing locations (case-insensitive), or Null, or empty |
max_chat_limit | 1 to X (where X is configured value), Empty | No | Must be 1 to X (inclusively), or empty |
max_chat_limit_enabled | 0, 1, Empty | No | Must be 0, 1 or empty |
roles | name: Role name / value: 0, 1, Empty | No | Must be 0, 1 or empty |
teams | name: Team name / value: 0, 1, Empty | No | Must be 0, 1 or empty |
When the scheme check is successful, the Proceed API can be executed, and user creation/modification work is in progress.
Upload and Proceed are asynchronously performed by the worker, and you can check the status through the Job API with a job_id.
The status field of Job can be in any of the following states.
Job status | Description |
---|---|
created | A job is created and waiting for validation. |
valid_scheme | Scheme validation is successful and proceed is possible. |
invalid_scheme | Scheme validation failed. Detailed information can be checked through the Scheme error log API. |
in_progress | Performing bulk user update/create. |
finished | Bulk user update/create complete. |
Key | Value | Description |
---|---|---|
file |
Key | Value | Description |
---|---|---|
id | {{job_id}} | |
file |
Key | Value | Description |
---|---|---|
id | {{job_id}} |
A campaign refers to an outbound auto-dialer feature that sequentially reaches out to a list of contacts, initiates outbound calls, and connects each contact to an available agent. Campaign endpoints provide access to campaign-related data, allowing retrieval of campaign and contact objects.
Currently, the campaign endpoints allow users to add, update, and delete contacts of an existing campaign. In future releases, the campaign endpoints will allow users to create, edit and delete campaigns.
[
{
"assigned_call_id": 32001,
"assigned_participant_id": 54321,
"campaign_id": 240,
"created_at": "2023-04-01T17:15:38.000Z",
"id": 16312,
"name": "string",
"outbound_number": null,
"priority": null,
"status": "Upcoming",
"unique_id": "string",
"updated_at": "2023-04-01T17:15:38.000Z"
},
{
"assigned_call_id": 32002,
"assigned_participant_id": 54330,
"campaign_id": 240,
"created_at": "2023-04-01T17:15:38.000Z",
"id": 16313,
"name": "string",
"outbound_number": null,
"priority": null,
"status": "Finished",
"unique_id": "string",
"updated_at": "2023-04-01T17:25:00.000Z"
}
]
The status field can be in any of the following states
Campaign Contact Status | Description |
---|---|
Upcoming | Contact is next to be dialed. |
Dialing | Contact is right now being dialed. |
Queued | Call for a given contact is queued. |
Connected | Contact is connected with an agent. |
Finished | Call has completed. |
Transferred | Call has been transferred. |
Transferred and Finished | Call has been transferred and then completed. |
Not Picked Up | No answer from end user or never reached the end user. |
Not Reached to Contact | Call never reached the contact . |
Abandoned by Contact | For preview, end user hangs up before connected to an agent. For both progessive and predictive, end user hangs up the call within 5 seconds after connecting to the agent. |
Skipped | Contact has been skipped by agent and will be available to be connected to another agent. |
Skipped & Closed | On Preview, agent skips and close a contact. This contact should now be always skipped in this campaign. |
Invalid Number | Contact with invalid phone number. |
Carrier Error | This error is driven by carrier. |
Abandoned by Dialer | Contact has been abandoned by dialer. |
Voicemail Hung Up | On Predictive, the dialer determines the end user is a machine (ie. voicemail). |
Dialer General Error | Call failed due to dialer error. |
Redial Scheduled | Temporary status. Redial scheduled in the future. |
Do Not Call | The number was in Do-Not-Call number list. |
Invalid Outbound Number | Contact with invalid outbound number. |
Blocked Phone Number | Contact with invalid/blocked international number. |
Key | Value | Description |
---|---|---|
file | some/path/to/multi_contacts.json |
Agent Status Endpoint
The Agent Status endpoint allows you to modify the status of agents. It enables changes to and from ‘Available’ to any custom status. Transitions to and from system-defined statuses like ‘In-Call’ will trigger an error. Additionally, this endpoint supports bulk updates, allowing status modifications for entire teams or selected groups of agents simultaneously.
Force Logout Agents Endpoint
The Force Logout Agents endpoint provides the functionality to forcibly log out online agents. Agents engaged in active calls or chats will be logged out automatically upon the completion of their current interactions, whereas idle agents are logged out immediately. This endpoint supports forced logouts of specific agents, entire teams, or agents identified by IP addresses with CIDR notation, a list of IPv4/IPv6 addresses, or IP ranges (see the request examples). For a large number of agents, a background job is created to manage the logout process efficiently.
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
id |
Creates or updates an end user based on a given identifier
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Get End User external identifier and internal ID, given one of the fields
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
id | integer | Internal ID for the End User |
identifier | string | External identifier for the End User |
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
If a chat has been dismissed for inactivity, an end user may resume the same chat. Chat status must be “dismissed” or “va_dismissed”
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Send a message in a chat.
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Escalate a chat from a Virtual Agent to a Human Agent
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id | integer | (Required) Chat ID to escalate |
Used only for selecting deflection channel currently.
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id | integer | (Required) |
id | integer | (Required) |
Add a photo that has been uploaded to media storage to a chat
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id | integer | (Required) |
Retrieves media ID’s and storage url’s for all photos attached to the chat
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id |
Used for fetching a presigned upload URL
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id | integer | (Required) |
Add a video that has been uploaded to media storage to a chat
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
chat_id | integer | (Required) |
Retrieves media ID’s and storage url’s for all videos attached to the chat
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id |
Used for fetching a presigned upload URL for the company’s configured cloud storage service
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
chat_id | integer | (Required) |
Start a new chat
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Key | Value | Description |
---|---|---|
Accept | application/json |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Key | Value | Description |
---|---|---|
id | integer | (Required) |
Send custom data in a chat
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
id | (Required) |
Used to update the end_user associated with the current active chat session. Additionally, it also updates the contact information linked to the CRM ticket. _Identifier is required, while name, email, and phone are optional. Note: If a phone number is already set, providing a phone parameter will not update the phone number.
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
chat_id |
The Company DNC (Do Not Call) list will allow blocking direct, manual, outbound calls as well as outbound and scheduled calls created by the Apps API depending on configuration.
Currently, the Company DNC endpoints allow users to:
add multiple phone numbers to the DNC list
remove phone numbers from the DNC list
check whether a phone number is in the DNC list
Key | Value | Description |
---|---|---|
phone_number | {{$randomPhoneNumber}} |
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Queue Status Endpoint: Provides the status of a specific queue, allowing you to check the queue’s status before deflection.
Fetches availability information for a specific queue.
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Accept | application/json |
Key | Value | Description |
---|---|---|
menu_id | {{menu_id}} | (integer, required) The ID of the menu to fetch availability for. |
lang | {{lang}} | (string, required) The language code (e.g., ‘en’) |
channel_type | {{channel_type}} | (string, required) The channel type, either call or chat. |
The Download queues setting allows you to download a particular version history item by including the version history ID in the endpoint.
The Export queues settings allows you to create a json or zip file containing queue selections, audio files, chat shortcuts and contact lists.
The Retrieve version histories list allows you to retrieve the list of version history items for a specific tenant.
The Retrieve a specific history by ID setting allows you to use the specific ID of a single version history entry by including the version ID in the endpoint.
The Import queues setting allows you to import a json or zip file containing queue selections, audio files, chat shortcuts, and contact lists.
The Create an auto_saved version history setting allows you to generate an autosave of an existing queue in the version history without creating an export.
The Restore version history setting allows you to restore your version to a previous version ID or the last saved version.
The Download queues setting allows you to download a particular version history item by including the version history ID in the endpoint.
Key | Value | Description |
---|---|---|
Content-Type | application/json | The media type of the resource. |
Key | Value | Description |
---|---|---|
id | integer | (Required) Version history ID |
The Export queues settings allows you to create a json or zip file containing queue selections, audio files, chat shortcuts and contact lists.
Key | Value | Description |
---|---|---|
Content-Type | application/json | The media type of the resource. |
Key | Value | Description |
---|---|---|
export_audio_files | false | (Required) Export file containing audio files. |
export_attached_files | false | (Required) Export file containing attached files. |
The Retrieve version histories list allows you to retrieve the list of version history items for a specific tenant.
Key | Value | Description |
---|---|---|
Content-Type | application/json | The media type of the resource. |
The Retrieve a specific history by ID setting allows you to use the specific ID of a single version history entry by including the version ID in the endpoint.
Key | Value | Description |
---|---|---|
Content-Type | application/json | The media type of the resource. |
Key | Value | Description |
---|---|---|
id | integer | (Required) Version history ID |
The Import queues setting allows you to import a json or zip file containing queue selections, audio files, chat shortcuts, and contact lists.
Key | Value | Description |
---|---|---|
file | path/import.json | (Required) A ZIP or JSON file needs to be imported. |
{{email_address}} | (Required) The email address of the User. |
The Create an auto_saved version history setting allows you to generate an autosave of an existing queue in the version history without creating an export.
Key | Value | Description |
---|---|---|
export_audio_files | false | (Required) Export file containing audio files. |
export_attached_files | true | (Required) Export file containing attached files. |
The Restore version history setting allows you to restore your version to a previous version ID or the last saved version.
Key | Value | Description |
---|---|---|
id | ID | Version history ID |
{{email_address}} | (Required) The email address of the User. | |
revision | e8a11621-50a2-41b0-9152-0a15c3a8391a | Version History Identifier for restoration |
The API user is able to:
manage Contact lists via API
create a Custom Contact List
edit a Custom Contact List
delete a Custom Contact List
manage custom and global Contact List entries
add entries
edit entries
delete entries
Key | Value | Description |
---|---|---|
id | integer | The ID of updating contact list |
Key | Value | Description |
---|---|---|
id | integer | The ID of deleting contact list |
Key | Value | Description |
---|---|---|
contact_list_id | integer | The ID of selected contact list |
Key | Value | Description |
---|---|---|
contact_list_id | integer | The ID of contact list |
id | integer | The ID of updating contact record |
Key | Value | Description |
---|---|---|
contact_list_id | integer | The ID of contact list |
id | integer | The ID of deleting contact record |
Key | Value | Description |
---|---|---|
menu_id | Interger | (Required) The ID of the menu to fetch availability for |
lang | string | (Required) The language code (e.g., “en”) |
channel_type | string | (Required) The channel type, either call or chat |
Users Endpoints provide a means to get user objects. Each user object represents a single user inside of our platform. Please review the model below to see which fields may be considered PII.
Default page size is 100 if no page parameters are sent.
{
"id": 1,
"email": "string", //This may be considered PII
"first_name": "string", //This may be considered PII
"last_name": "string", //This may be considered PII
"agent_number": "string",
"location": "string",
"max_chat_limit": 5,
"max_chat_limit_enabled": false,
"unrestricted_international_calling": true,
"deactivated_at": "2018-05-30T20:46:31.333Z",
"ucaas_user_name": "string",
"ucaas_sip_uri": "string",
"external_user": false,
"phone_numbers": ["string"],
"extension_numbers": [
0
],
"teams": [
{
"name": "string"
}
],
"roles": [
{
"name": "string"
}
]
}
Response Code | Meaning |
---|---|
200 | The API request has been successful |
400 | Invalid page size request - check to ensure the max page size is a valid integer less than 1000 |
400 | Cannot paginate filtered results - ensure that you are not using a filter and pagination parameters |
400 | Only one filter should be configured at a time |
400 | Ensure you are not filtering more than 1000 values at a time |
Parameter | Required | Data Type | Definition | Postman Variable |
---|---|---|---|---|
page | FALSE | String | Pairs with per to note what page of records. For instance if per is made to be 200 and page is 2, the response would contain record 201-400, as page 1 would contain 1-200. | {{page}} |
per | FALSE | String | Pairs with page to note how many records would be included in a page of records. For instance if per is made to be 200 and page is 2, the response would contain record 201-400, as page 1 would contain 1-200. | {{per}} |
id[] | FALSE | Array[String] | Array[Strings]. Id of records to search and return | {{id[]}} |
agent_number[] | FALSE | Array[String] | Agent numbers as assigned by the admin at the time of creating an agent | {{agent_number[]}} |
status_id[] | FALSE | Array[String] | Filters by agent status | {{status_id[]}} |
online[] | FALSE | Boolean | Filter by if agents are online or not | {{online[]}} |
wrap_up[] | FALSE | Boolean | Filter by if agents are in wrap up status | {{wrap_up[]}} |
location[] | FALSE | Array[String] | Filters by agent location | {{location[]}} |
last_login_time[from] | FALSE | Time in UTC | creates a lower bound of the last login time field. All records returned will be after the inputted value. | {{last_login_time[from]}} |
last_login_time[to] | FALSE | Time in UTC | creates a upper bound of the last login time field. All records returned will be before the inputted value. | {{last_login_time[to]}} |
status_updated_at[from] | FALSE | Time in UTC | creates a lower bound of the status updated at field. All records returned will be after the inputted value. | {{status_updated_at[from]}} |
status_updated_at[to] | FALSE | Time in UTC | creates a upper bound of the status updated at field. All records returned will be before the inputted value. | {{status_updated_at[to]}} |
Send a custom data in a call.
Key | Value | Description |
---|---|---|
Content-Type | application/json |
Key | Value | Description |
---|---|---|
id | (Required) |
Key | Value | Type |
---|---|---|
subdomain | ||
username | ||
password | ||
call_type | ||
agent_email | ||
ticket_id | ||
end_user_number | ||
outbound_number | ||
lang | ||
menu_id | ||
wait[from] | ||
wait[to] | ||
channel_type | ||
menu_type | ||
recording_permission | ||
job_id |