The Configuration API supports Create, Read, Update, Delete, List, and Get List Info methods for Agent objects. There are separate methods to Add and Remove Services and Agent Skills to and from Agents. Read, List, and Get List Info methods for Agent Skill objects, as well as a method to Get Agent Related Objects, are also supported.

In order to use the methods listed that perform operations on LiveVox Agent objects, the user of the API must belong to either the Sysadmin, IT User, Superuser, or Manager role. If the user belongs to the Manager role he must also have the "Administer Agents" (or "Access to Agent Editor") Optional Power configured. These roles are defined in the LiveVox Configuration Manager and correspond to users who can administer Agents through the LiveVox user interfaces.

Create Agent

Description: Creates a new Agent.

Method: POST /configuration/agents

Parameters:

None

Body:

KeyTypeMandatory?Description
clientIdInteger (ID)YesThe LiveVox ID of the Client under which the Agent will be created.
loginIdStringYes

ID used by the Agent when logging into the LiveVox ACD.  

Regardless of the case you use for this loginId key, all lowercase letters in the loginId will be converted to uppercase before being committed to the system. This is consistent with the behavior when you create new agents through the LVP GUI.

firstNameStringYesFirst name of the Agent
lastNameStringYesLast name of the Agent
passwordStringYes

Password the agent uses when logging into the LiveVox ACD. The password must comply with the same rules as when an Agent is created or updated through the LVP GUI. Specifically, the password must be a minimum of 8 characters, containing at least 1 digit and cannot match any of the previous 3 passwords.

phoneStringYesPhone number of the Agent
wrapUpTimeIntegerYesDefines a period of after call work, following which the Agent will be placed back into “Not Ready” status by the ACD. A value of -1 corresponds to "Unlimited", and will allow Agents to remain in Wrap Up mode until they select a Term Code.
homeAgentBooleanYesIndicates whether the Agent works from home.
activeBooleanYesIndicates whether the Agent is active in the LV system or not. This corresponds to the Active Agent checkbox in the LVP Edit Agent Details screen.
assignedServiceArrayNo

An Array of zero or more Service IDs that are assigned to the Agent.

KeyTypeMandatory?Description
idInteger (ID)YesInternal LiveVox ID of the Service
  • The user making the request to create the Agent will only be able to assign Services for which they have permission.
  • Only "ACD Services" may be assigned to an Agent. These are Services where the ACD Feature Code, or LiveVox ACD Mode property of the Service, is set to one of the following:
    • Agent At Ready In
    • Agent At Ready Out
    • Agent Call Out
    • Manual
    • HCI
    • Strict HCI

If the LiveVox ACD Mode property of the Service is configured as No ACD, then that Service may not be assigned to an Agent. If any of the Services in the request are non-ACD Services, the request will fail.

assignedAgentSkillArrayNo

An array of zero or more Agent Skill IDs that are assigned to the Agent for routing calls. For each Agent Skill assigned to the agent there must also be a Proficiency assigned, which is an integer between 1 and 5, inclusive.

KeyTypeMandatory?Description
idInteger (ID)YesInternal LiveVox ID of the Agent Skill
proficiencyIntegerYesProficiency level the Agent has for this Agent Skill

Response Code: 201 Created

Body:

Key or AttributeTypeMandatory?Description
idInteger (ID)YesThe ID of the newly created Agent.

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": 111645,
  "loginId": "BobJohnson11",
  "firstName": "Bob",
  "lastName": "Johnson",
  "password": "A12345678",
  "phone": "2023467763",
  "wrapUpTime": -1,
  "homeAgent": true,
  "active": true,
  "assignedService": [
    {
      "id": 113
    }
  ],
  "assignedAgentSkill": [
    {
      "id": 42304,
      "proficiency": 3
    }
  ]
}

#Response
403 Forbidden
Content-Type: application/json
 
{
  "code": 403,
  "Request Id": "1-66ebf497-fe3e993cfcde32bbd27ae102",
  "Message": "Access denied"
}
CODE

Create Agent Skill

Description: Creates a new Agent Skill.

Method: POST /configuration/agents/skills[?client={clientId}]

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoThe LiveVox ID of the Client under which the Agent Skill will be created.

Body:

KeyTypeMandatory?Description
nameStringYesName of the new Agent Skill.
descriptionStringNoThe description of the Agent Skill.

Response Code: 201 Created

Body:

Key or AttributeTypeMandatory?Description
idInteger (ID)YesThe ID of the newly created Agent Skill.

Create a new Agent Skill

#Request (JSON)
POST /configuration/agents/skills?=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{"name":"Docs","description":"documentation"}
 
#Response
201 Created
Content-Type: application/json
 
{"id": 74281}
CODE

Delete Agent

Description: Deletes an Agent.

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentIdInteger (ID)TrueID of the Agent you want to delete

Body:

None

Response Code: 204 No Content

Body:

None

Delete an existing Agent

#Request
DELETE /configuration/agents/311907
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Attempt to delete an Agent that does not exist

#Request
DELETE /configuration/agents/1234
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
404 Not Found
CODE

Delete Agent Skill

Description: Deletes an Agent Skill.

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentSkillIdInteger (ID)TrueID of the Agent Skill you want to delete.

Body:

None

Response Code: 204 No Content

Body:

None

Delete an existing Agent Skill

#Request
DELETE /configuration/agents/skills/74280
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Attempt to delete an Agent Skill that does not exist

#Request
DELETE /configuration/agents/skills/74280
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
404 Not Found
CODE

Find Matching Agents

Description:  Retrieves list of Agents who match either a supplied Agent Login ID, Last Name, or Phone Number. Searches are case-insensitive, and partial matches are supported for loginId and lastName.

User Roles: Sysadmin, Superuser, IT User, Manager, or Agent

Method: POST /configuration/agents/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 Agents.
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:

Key or ElementTypeMandatory?Description
loginIdStringYes*Login ID of Agent to search for
lastNameStringYes*Last name of Agent(s) to search for
phoneNumberStringYes*

Phone number of Agent(s) to search for

*Only one of the three elements (loginId, lastName, or phoneNumber) can be used as the search criterion for this request.

  • It is the responsibility of the client application to ensure that only one type of search criterion is included in the query. The LiveVox API does not provide this validation logic on the server. If more than one type of search criterion is included in the query, the result is unpredictable.
  • Partial matches are supported for both the loginId and lastName parameters, and the search is case-insensitive. That is, if jam is provided for the lastName parameter, it could return matches such as Jamison, James, Rajam, etc.

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.
agentArrayNo

A container for a page of Agent entries. The page size is controlled via count and offset in the request.

KeyTypeMandatory?Description
idInteger (ID)YesInternal ID of the Agent in the LiveVox system.
loginIdStringYesID the Agent uses to log into the LiveVox ACD.
firstNameStringYesFirst name of the Agent.
lastNameStringYesLast name of the Agent.
phoneStringYesPhone number of the Agent
activeBooleanYesIndicates whether the Agent is active in the LV system or not. This corresponds to the Active Agent checkbox in the LVP Edit Agent Details screen.
lastLoginDatetimeNoThe date/time the agent logged in the last time.
lastLoginIpStringNoThe IP address from which the agent logged in the last time.

 

FInd the Agent(s) who match the provided last name

#Request (JSON)
POST /configuration/agents/search?client=1005018&offset=0&count=4
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
"lastName":"One"
}

#Response
200 OK
Content-Type: application/json

{
  "agent": [
    {
      "id": 1018655,
      "loginId": "AGENTONE",
      "firstName": "Agent",
      "lastName": "One",
      "phone": "6783734060",
      "active": true,
      "lastLogin": 1547671690000,
      "lastLoginIp": "200.76.215.11"
    }
  ]
}
CODE

Invalid FindMatchingAgents request

#Request (JSON)
POST /configuration/agents/search?count=10&client=4199&offset=0
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
"loginId":"BobJones23",
"lastName":"Jones"
}

#Response
400 Bad Request
Content-Type: application/json

{
   "errorCode": 202,
   "errorMessage": "Invalid input [exactly one of phone, loginId or lastName is required]"
}
CODE

Get Agent Skill List Info

Description: Gets metadata for a list of Agent Skills.

Method: GET /configuration/agents/skills/info[?client={clientId}]

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoRestricts the list to entries that are specifically associated with this particular Client.

Body:

None

Response Code:  200 OK

Body:

Key or AttributeTypeMandatory?Description
sizeIntegerYesTotal number of entries in the list.
lastModifiedDateTimeNoThe last date & time that the list was updated. This information might not be available. This is formatted according to the definition of dateTime in the XML Schema specification. For JSON responses, it is represented as the number of milliseconds since midnight on January 1, 1970 (GMT).

Get the metadata for a list of Agent Skills, filtered by a Client

#Request
GET /configuration/agents/skills/info?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "size": 5,
   "lastModified": 1369249675000
}
CODE

Get Agent List Info

Description: Gets metadata for a list of Agents.

Method: GET /configuration/agents/info[?client={clientId}]

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoRestricts the list to entries that are specifically associated with this particular Client.

Body:

None

Response Code:  200 OK

Body:

Key or AttributeTypeMandatory?Description
sizeIntegerYesTotal number of entries in the list.
lastModifiedDateTimeNoThe last date & time that the list was updated. This information might not be available. This is formatted according to the definition of dateTime in the XML Schema specification. For JSON responses, it is represented as the number of milliseconds since midnight on January 1, 1970 (GMT).

Get the metadata for a list of Agents, filtered by a Client

#Request
GET /configuration/agents/info?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "size": 153,
   "lastModified": 1369249675000
}
CODE

Get Agent Related Objects

Description: Retrieves lists of Call Centers and Services associated with an Agent. 

User Roles: Sysadmin, Superuser, IT User, Manager, or Agent

Method: GET /configuration/agents/{id}/related

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentIdInteger (ID)YesThe ID of the Agent for whom you want to retrieve the lists of related objects.

Body:

None

Response Code:  200 OK

Body:  

KeyTypeMandatory?Description
callCenterArrayYes

List of Call Centers with which the Agent is associated.

KeyTypeMandatory?Description
idInteger (ID)Yes

ID of the Call Center

serviceArrayYes

List of Services with which the Agent is associated.

KeyTypeMandatory?Description
idInteger (ID)YesID of the Service

Retrieve the lists of objects associated with an Agent

#Request (JSON)
GET /configuration/agents/99057/related
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json
 
{
   "callCenter":    [
      {"id": 695},
      {"id": 429},
      {"id": 2829},
      {"id": 428}
   ],
   "service":    [
      {"id": 17798},
      {"id": 17885},
      {"id": 40789},
      {"id": 43131}
   ]
}
CODE

List Agent Skills

Description: Lists Agent Skills configured for a Client.

Method: GET /configuration/agents/Skills?[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 Agent Skills
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:

None

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.
agentSkillArrayNo

A container for a page of Agent Skill entries. The page size is controlled via count and offset in the request.

KeyTypeMandatory?Description
idInteger (ID)YesInternal ID of the Agent Skill
nameStringYesDisplay name of the Agent Skill

Get a list of Agent Skills for a Client

#Request (JSON)
GET /configuration/agents/skills?count=5&client=4199&offset=0
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "agentSkill":    [
            {
         "id": 1021,
         "name": "SILVER"
      },
            {
         "id": 1022,
         "name": "GOLD"
      },
            {
         "id": 1023,
         "name": "PLATINUM"
      },
            {
         "id": 8945,
         "name": "SPANISH"
      }
   ],
   "next": null
}
CODE

List Agents

Description: Lists Agents configured for a Client.

User Roles: Sysadmin, Superuser, IT User, Manager, or Agent

Method: GET /configuration/agents?[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 Agents
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:

None

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.
agentArrayNo

A container for a page of Agent entries. The page size is controlled via count and offset in the request.

KeyTypeMandatory?Description
idInteger (ID)YesInternal ID of the Agent.
loginIdStringYesID the Agent uses to log into the LiveVox ACD.
firstNameStringYesFirst name of the Agent.
lastNameStringYesLast name of the Agent.
phoneStringYesPhone number of the Agent.
activeBooleanYesIndicates whether the Agent is active in the LV system or not. This corresponds to the Active Agent checkbox in the LVP Edit Agent Details screen.
lastLoginDatetimeNoThe date/time the agent logged in the last time.
lastLoginIpStringNoThe IP address from which the agent logged in the last time.

Get a list of Agents for a Client

#Request (JSON)
GET /configuration/agents?count=4&client=49551&offset=2
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
  "agent": [
    {
      "id": 521091,
      "loginId": "AGENT!",
      "firstName": "agent",
      "lastName": "bond",
      "phone": "5553504512",
      "active": true,
      "lastLogin": 1470340861000,
      "lastLoginIp": "187.237.14.230"
    },
    {
      "id": 521092,
      "loginId": "AGENT#.?",
      "firstName": "agent",
      "lastName": "bourne",
      "phone": "5553504512",
      "active": true,
      "lastLogin": 1470341109000,
      "lastLoginIp": "187.237.14.230"
    },
    {
      "id": 513804,
      "loginId": "AGENT-ANINDITA",
      "firstName": "Anindita",
      "lastName": "password123",
      "phone": "6503517454",
      "active": true,
      "lastLogin": 1481699421000,
      "lastLoginIp": "182.75.26.194"
    },
    {
      "id": 523329,
      "loginId": "AGENT-ONE",
      "firstName": "AGENT",
      "lastName": "ONE",
      "phone": "6503517454",
      "active": true,
      "lastLogin": 1471943167000,
      "lastLoginIp": "182.75.26.194"
    }
  ],
  "next": "configuration/agents/?client=49551&offset=6&count=4"
}
CODE

Read Agent

Description: Gets information about an Agent.

User Roles: Sysadmin, Superuser, IT User, Manager, or Agent

Method: GET /configuration/agents/{id} 

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentIdInteger (ID)YesThe ID of the Agent you want to query

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
loginIdStringYesID used by the Agent when logging into the LiveVox ACD.
firstNameStringYesFirst name of the Agent.
lastNameStringYesLast name of the Agent.
phoneStringYesPhone number of the Agent.
wrapUpTimeIntegerYesDefines a period of after call work, following which the Agent will be placed back into “Not Ready” status by the ACD. A value of -1 will allow Agents to remain in Wrap Up mode until they select a Term Code.
homeAgentBooleanYesIndicates whether the Agent works from home.
activeBooleanYesIndicates whether the Agent is active in the LV system or not. This corresponds to the Active Agent checkbox in the LVP Edit Agent Details screen.
lastLoginDatetimeNoThe date/time the agent logged in the last time.
lastLoginIpStringNoThe IP address from which the agent logged in the last time.
lockedBooleanYesIndicates whether the Agent's account is locked, which can occur when the Agent exceeds the maximum number of allowable invalid login attempts.
passwordLastModifiedDateTimeNoIndicates the last date/time the Agent's password was changed. Will only display if password management is enabled.
assignedServiceArrayNo

An array of zero or more Service IDs that are assigned to the Agent.

KeyTypeMandatory?Description
idInteger (ID)YesInternal LiveVox ID of the Service
assignedAgentSkillArrayNo

An array of zero or more Agent Skill IDs that are assigned to the Agent for routing calls. For each Agent Skill assigned to the agent there is also a Proficiency, which is an integer between 1 and 5, inclusive.

KeyTypeMandatory?Description
idInteger (ID)YesInternal LiveVox ID of the Agent Skill
proficiencyIntegerYesProficiency level the Agent has for this Agent Skill

Read configuration properties of an Agent

#Request (JSON)
GET /configuration/agents/324515
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
  "assignedService": [
    {
      "id": 49551
    },
    {
      "id": 49552
    },
    {
      "id": 49553
    },
    {
      "id": 49555
    },
    {
      "id": 49561
    },
    {
      "id": 72491
    }
  ],
  "assignedAgentSkill": [
    {
      "id": 12366,
      "proficiency": 2
    },
    {
      "id": 12367,
      "proficiency": 1
    },
    {
      "id": 12370,
      "proficiency": 1
    }
  ],
  "loginId": "AGENT3",
  "firstName": "AGENT",
  "lastName": "THREE",
  "phone": "5553231212",
  "wrapUpTime": -1,
  "homeAgent": true,
  "active": true,
  "locked": false,
  "passwordLastModified": 1495233693000,
  "lastLogin": 1495234211000,
  "lastLoginIp": "189.146.225.138"
}
CODE

Read an Agent That Doesn't Exists

#Request (JSON)
GET /configuration/agents/111111
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
404 Not Found
Content-Type: application/json
 
{
  "code": 203,
  "message": "Agent not found [ID:111111]"
}
CODE

Read Agent Skill

Description: Gets information about an Agent Skill.

Method: GET /configuration/agents/skills/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentSkillIdInteger (ID)YesThe ID of the Agent Skill you want to query

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
nameStringYesDisplay name of the Agent Skill
descriptionStringYesDescription of the Agent Skill
clientIdInteger (ID)NoID of the LiveVox Client for which this Agent Skill is configured
agentArrayNo

The Agents(s) that have this Agent Skill assigned, and the associated Proficiency that the agent has in this Agent Skill.

KeyTypeMandatory?Description
idInteger (ID)YesInternal LiveVox ID of the Agent
proficiencyIntegerYesProficiency level this Agent has for this Agent Skill

Read configuration properties of an Agent Skill

#Request (JSON)
GET /configuration/agents/skills/8945
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
	"agent":    [
            {
         "id": 178745,
         "proficiency": 1
      },
            {
         "id": 179884,
         "proficiency": 5
      },
            {
         "id": 191007,
         "proficiency": 1
      },
...
            {
         "id": 142908,
         "proficiency": 1
      }
   ],
   "name": "SPANISH",
   "description": "Spanish Speaking Agents",
   "clientId": 4199
}
CODE

Read an Agent Skill That Doesn't Exists

#Request (JSON)
GET /configuration/agents/skills/111111
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
404 Not Found
Content-Type: application/json
 
{
  "code": 203,
  "message": "Agent skill not found [ID:111111]"
}
CODE

Update Agent

Description: Updates the properties of an Agent.

Services and Agent Skills cannot be assigned or removed with this method. To perform those updates, you need to use the discrete methods Update Agent Add Service, Update Agent Remove Service, Update Agent Add Agent Skill, and Update Agent Remove Agent Skill.

Method: PUT /configuration/agents/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentIdInteger (ID)YesThe ID of the Agent you want to update

Body:

Key or AttributeTypeMandatory?Description
firstNameStringNoFirst name of the Agent
lastNameStringNoLast name of the Agent
passwordStringNo

Password the agent uses when logging into the LiveVox ACD. The updated password must comply with the same rules as when an Agent is created or updated through the LVP GUI. Specifically, the password must be a minimum of 8 characters, containing at least 1 digit and cannot match any of the previous 4 passwords.

phoneStringNoPhone number of the Agent
wrapUpTimeIntegerNoDefines a period of after call work, following which the Agent will be placed back into “Not Ready” status by the ACD. A value of -1 corresponds to "Unlimited", and will allow Agents to remain in Wrap Up mode until they select a Term Code.
homeAgentBooleanNoIndicates whether the Agent works from home.
activeBooleanNoIndicates whether the Agent is active in the LiveVox system or not. This corresponds to the Active Agent checkbox in the LVP Edit Agent Details screen.
unlockBooleanNoWhen set to true, you can unlock an Agent whose account has been locked out by the system–for example when the Agent has exceeded the maximum number of allowable invalid login attempts.

The body of your request must contain at least one key that you want to update. keys that you don't want to update can be omitted from the request.

Response Code: 204 No Content

Body:

None

Update properties of an Agent

#Request (JSON)
PUT /configuration/agents/312433
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "phone": "2023467763",
   "active": true,
}
 
#Response
204 No Content
 
CODE

Unlock an Agent whose account has been locked

#Request (JSON)
PUT /configuration/agents/312433
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "unlock": true
}
 
#Response
204 No Content
CODE

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

#Request (JSON)
PUT /configuration/agents/312433
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "password": "1234567"
}
 
#Response
400 Bad Request
Content-Type: application/json
 
{
   "errorCode": 202,
   "errorMessage": "Invalid password [Password must be at least 8 characters long]"
}
CODE

Update Agent Add Agent Skill

DescriptionAssigns an Agent Skill and related proficiency level to an existing Agent.

Method: PUT /configuration/agents/{agent}/skills/{id}?proficiency={proficiency}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
agentagentIdInteger (ID)YesID of the Agent to whom you want to assign the Agent Skill
idagentSkillIdInteger (ID)YesID of the Agent Skill you want to assign to the Agent
proficiencyproficiencyIntegerYesThe Agent's proficiency level for the Agent Skill you are assigning. Valid values are 1-5, inclusive.

Body:

None

Response Code: 204 No Content

Body:

None

Assign an Agent Skill to an existing Agent

#Request (JSON)
PUT /configuration/agents/312012/skills/1022?proficiency=4
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Update Agent Add Service

DescriptionAssigns a Service to an existing Agent.

After using this method to give an Agent access to a Service you can either create a new session id using the login method or wait 5 min for the permissions of the current session id to update.

Method: PUT /configuration/agents/{agent}/services/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
agentagentIdInteger (ID)YesID of the Agent to whom you want to assign the Service
idserviceIdInteger (ID)Yes

ID of the Service you want to assign to the Agent

You can only assign "ACD Services" to Agents. These are Services where the ACD Feature Code, or LiveVox ACD Mode property of the Service, is set to one of the following:

  • Agent At Ready In
  • Agent At Ready Out
  • Agent Call Out
  • Manual
  • HCI
  • Strict HCI

If the LiveVox ACD Mode property of the Service is configured as No ACD, then that Service may not be assigned to an Agent.

Body:

None

Response Code: 204 No Content

Body:

None

Assign a Service to an existing Agent

#Request (JSON)
PUT /configuration/agents/312012/services/17885
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Try to assign an invalid Service type to an Agent

#Request (JSON)
PUT /configuration/agents/312012/services/38184
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
{
 "errorCode": 202,
 "errorMessage": "Cannot assign service [incorrect service type]"
}
CODE

Update Agent Skill

Description: Update an Agent Skill.

Method: PUT configuration/agents/skills/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idagentSkillIdInteger (ID)YesThe ID of the Agent Skill to be updated.

Body:

KeyTypeMandatory?Description
nameStringNoNew name of the Agent Skill.
descriptionStringNoNew description of the Agent Skill.

Response Code: 204 No Content

Body:

None

Update an Agent Skill

#Request (JSON)
PUT /configuration/agents/skills/74281
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{"name":"Docs","description":"documentation"}
 
#Response
204 No Content
CODE

Update Agent Remove Agent Skill

DescriptionRemoves an Agent Skill assignment from an existing Agent.

Method: DELETE /configuration/agents/{agent}/skills/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
agentagentIdInteger (ID)YesID of the Agent from whom you want to remove the Agent Skill assignment
idagentSkillIdInteger (ID)YesID of the Agent Skill you want to unassign from the Agent

Body:

None

Response Code: 204 No Content

Body:

None

Remove an Agent Skill assignment from an existing Agent

#Request (JSON)
DELETE /configuration/agents/312012/skills/1022
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Update Agent Remove Service

DescriptionRemoves a Service assignment from an existing Agent.

Method: DELETE /configuration/agents/{agent}/services/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
agentagentIdInteger (ID)YesID of the Agent from whom you want to remove the Service assignment
idserviceIdInteger (ID)YesID of the Service you want to unassign from the Agent

Body:

None

Response Code: 204 No Content

Body:

None

Remove a Service assignment from an existing Agent

#Request (JSON)
DELETE /configuration/agents/312012/services/17885
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Top of Page