The Configuration API supports List and Read Voices methods for the Utilities objects. These methods allow a user to get information about all voice talents available on the LiveVox system, this includes ones they have access to and ones they don't. The Utilities object also supports an audit log search which returns all the audit log entries and can be filtered by the user who made the change and the type of change.

Find Matching Audit Log Entries

Description: Retrieves list of audit log entries that match specific criteria. Currently the only search criteria are the type of change that was made and who the change was made by. The search can also be limited by a date range.

User Roles: All Supported API Users

Method: POST /configuration/util/auditLog/search?[client={clientId}&]count={n}&offset={n}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoSpecifies the Client for which you want to retrieve the list of matching audit log entries.
countnIntegerYesSpecifies the number of items to return in the list. There is a hard cap of 1000 items.
offsetnIntegerYesSpecifies the offset from 0, based on count, to start listing from.

Body:

KeyTypeMandatory?Description
userIdInteger (ID)No

Only returns the audit log entries for the specified User ID.

typeEnumNo

The type of audit log entry to search for, possible values include:

  • AGENT
  • AGENT_SKILL
  • CALL_CENTER
  • CALLFLOW
  • CLIENT
  • CONTACT_TIMINGS
  • DYNAMIC_RESOURCE_GROUP
  • INPUT_FILTER
  • JOB
  • MESSAGE
  • PHRASE
  • PROFILE
  • REPORT
  • RULE_SET
  • SCREEN_POP
  • SERVICE
  • STRATEGY
  • TERM_CATEGORY
  • TERM_CODE
  • USER
  • LCID
idIntegerNo

When including the type, id represents the corresponding ID to search for. For example, if type is set to CLIENT and id is set to 4199 only audit log entries for Client 4199 will be returned; if the same id was used but the type was set to SERVICE then only changes for Service ID 4199 would be returned.

dateRangeObjectYes

The date range to search for audit log entries.

KeyTypeMandatory?Description
fromdateTimeYesThe start date/time of the range.
todateTimeYesThe end date/time of the range.

Response Code: 200 OK

Body:  

KeyTypeMandatory?Description
nextURINoA URI for the next page of entries. If next is not present, or blank, then there are no pages after this one.
logEntryArrayNo

An array of audit log entries, each of which contains the following attributes:

KeyTypeMandatory?Description
idInteger (ID)YesThe ID that was changed. What type of ID (i.e. Service ID, Client ID, etc.) this corresponds to depends on the type.
typeEnumYesThe feature that was changed (i.e. Service, Client, Resource Group, etc.).
userIdInteger (ID)NoThe ID of the User who made the change.
datedateTimeNoThe date and time the change was made
shortDescriptionStringNoA brief description of what was changed.
longDescriptionStringNoA more in-depth description of what was changed.

Create a new Agent

#Request (JSON)
POST /configuration/agents/
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "clientId": 4199,
   "loginId": "BobJohnson1",
   "firstName": "Bob",
   "lastName": "Johnson",
   "password": "A12345678",
   "phone": "2023467763",
   "wrapUpTime": -1,
   "homeAgent": true,
   "active": true,
   "assignedService":    [
      {"id": 40789},
      {"id": 17798}
   ],
   "assignedAgentSkill":    [
            {
         "id": 1021,
         "proficiency": 3
      },
            {
         "id": 1022,
         "proficiency": 1
      },
            {
         "id": 1023,
         "proficiency": 5
      }
   ]
}
 
#Response
201 Created
Content-Type: application/json
 
{"id": 311918}
CODE

Example of request to create an Agent, with an invalid password

#Request (JSON)
POST /configuration/agents/
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "clientId": 4199,
   "loginId": "BobJohnson1",
   "firstName": "Bob",
   "lastName": "Johnson",
   "password": "",
   "phone": "2023467763",
   "wrapUpTime": -1,
   "homeAgent": true,
   "active": true,
   "assignedService":    [
      {"id": 40789},
      {"id": 17798}
   ],
   "assignedAgentSkill":    [
            {
         "id": 1021,
         "proficiency": 3
      },
            {
         "id": 1022,
         "proficiency": 1
      },
            {
         "id": 1023,
         "proficiency": 5
      }
   ]
}
 
#Response
400 Bad Request
Content-Type: application/json
 
{
   "code": 202,
   "message": "Missing required field [password]"
}
CODE

Request to create an Agent with an invalid Service type

#Request (JSON)
POST /configuration/agents/
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "clientId": 4199,
   "loginId": "BobJohnson1",
   "firstName": "Bob",
   "lastName": "Johnson",
   "password": "A12345678",
   "phone": "2023467763",
   "wrapUpTime": -1,
   "homeAgent": true,
   "active": true,
   "assignedService":    [
      {"id": 43185},
      {"id": 38184}
   ],
   "assignedAgentSkill":    [
            {
         "id": 1021,
         "proficiency": 3
      },
            {
         "id": 1022,
         "proficiency": 1
      },
            {
         "id": 1023,
         "proficiency": 5
      }
   ]
}
CODE

List Voices

Description: Lists Voices available on the LiveVox system. This does not specify which Voices a Client has access to, in order to figure that out you need to use the ReadClientVoicePoolSettings method.

User Roles: All Supported API Users

Method: GET /configuration/util/voices

Parameters:

None

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
voiceArrayYes

An array of Voices available on the LiveVox system.

KeyTypeMandatory?Description
idInteger (ID)YesID of the Voice.
nameStringYesName of the Voice.

List the available Voices on LiveVox

#Request (JSON)
GET /configuration/util/voices
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
200 OK
Content-Type: application/json
 
{"voice": [
      {
      "id": 5,
      "name": "Bob"
   },
      {
      "id": 6,
      "name": "Gruff-M"
   },
      {
      "id": 8,
      "name": "Gruff-F"
   },
...
      {
      "id": 11,
      "name": "Claudine"
   },
      {
      "id": 10,
      "name": "Scarlet"
   }
]}
CODE

Read Voice

Description: Gets information about a Voice.

User Roles: All Supported API Users

Method: GET /configuration/util/voices/{id}[?client={client}]

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idvoiceIdInteger (ID)YesThe ID of the Voice you want to read.
clientclientIdInteger (ID)NoThe ID of the Client you want to read.

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
serviceArrayNo

An array of one or more Service IDs that have the Voice set as the default Voice at the Service level.

KeyTypeMandatory?Description
idInteger (ID)YesID of the Service.
nameStringYes

The name of the Voice.

languageStringYesThe language of the Voice.
genderEnumYesThe gender of the Voice. Possible values are male or female.
defaultBooleanYesIf set to true Voice is the default Voice for the Client.
inPoolBooleanYesIf set to true Voice is available for the Client to use on their site.

Read properties of a Voice

#Request (JSON)
GET /configuration/util/voices/5?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "service":    [
      {"id": 18351},
      {"id": 5608},
      {"id": 42469},
      {"id": 35852}
   ],
   "name": "Bob",
   "language": "en-US",
   "gender": "MALE",
   "inPool": true,
   "default": true
}
CODE

Top of Page