Resource Group define which Outbound Services an Agent can be signed into to receive traffic from the contributing Inbound and Outbound Services.

Currently, the Configuration API supports Create, Update, Delete Read, List, and Get List Info methods for Resource Groups objects.

Create Resource Group

Description: Creates a new Resource Group.

Method: POST /configuration/resourceGroups[?client={client}]

Parameters:

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

Body:

KeyTypeMandatory?Description
nameStringYesName of the Resource Group to be created.
typeEnumYes

Type of routing this Resource Group represents, possible values are:

  • LONGEST_AVAILABLE_AGENT
  • STRICT_AGENT_SKILL
  • STRICT_OVERFLOW
enabledBooleanYesIf true this Resource Group is enabled for use.
inboundServiceArrayNo

An array of one or more Service IDs that will contribute to this Resource Group's traffic.

KeyTypeMandatory?Description
idInteger (ID)YesService ID

Note: Can be either Inbound or Outbound Services but each Service can only be assigned to one Resource Group on the inbound side.

outboundServiceArrayNo

An array of one or more IDs of Outbound Services that will accept traffic from this Resource Group.

KeyTypeMandatory?Description
idInteger (ID)YesService ID

Note: You should only add Outbound Services to this list. Services can be added to multiple Resource Groups on the outbound side.

Response Code: 201 Created

Body:

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

Create a new Resource Group

#Request (JSON)
POST /configuration/resourceGroups?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "name": "For Documentation",
   "type": "LONGEST_AVAILABLE_AGENT",
   "enabled": true,
   "inboundService":    [
      {"id": 40788}
   ],
   "outboundService":    [
      {"id": 40792},
      {"id": 40793},
      {"id": 40790}
   ]
}

 
#Response
201 Created
Content-Type: application/json
 
{"id": 24865}
CODE

Request to create a Resource Group where an Inbound Service is already added to another Resource Group

#Request (JSON)
POST /configuration/resourceGroups?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json

 {
   "name": "For Documentation",
   "type": "LONGEST_AVAILABLE_AGENT",
   "enabled": true,
   "inboundService":    [
      {"id": 40788}
   ],
   "outboundService":    [
      {"id": 40792},
      {"id": 40793},
      {"id": 40790}
   ]
}

 
#Response
400 Bad Request
Content-Type: application/json
 
{
   "errorCode": 202,
   "errorMessage": "Inbound service list currently references existing resource group"
}
CODE

Delete Resource Group

Description: Deletes a Resource Group.

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)TrueID of the Resource Group you want to delete

Body:

None

Response Code: 204 No Content

Body:

None

Delete an existing Resource Group

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

#Response
204 No Content
CODE

Attempt to delete a Resource Group that does not exist

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

#Response
404 Not Found
CODE

Get Resource Group List Info

Description: Gets metadata for a list of Resource Groups.

Method: GET /configuration/resourceGroup/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 Resource Groups, filtered by a Client

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

#Response
200 OK
Content-Type: application/json

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

List Resource Groups

Description: Lists Resource Groups configured for a Client.

Method: GET /configuration/resourceGroups?[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 Resource Groups
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.
resourceGroupSequenceNo

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

KeyTypeMandatory?Description
idInteger (ID)YesInternal ID of the Resource Group
nameStringYesDisplay name of the Resource Group

Get a list of Resource Groups for a Client

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

#Response
200 OK
Content-Type: application/json

{
   "resourceGroup":    [
            {
         "id": 16418,
         "name": "LOCATE 1 - TEST"
      },
            {
         "id": 19907,
         "name": "STAGING TEST DRG"
      },
            {
         "id": 19321,
         "name": "CLOSER TRANSFER QUEUE"
      },
...
            {
         "id": 1383,
         "name": "DENVER IB DRG"
      },
            {
         "id": 17921,
         "name": "CALIFORNIA DRG"
      }
   ],
   "next": null
}
CODE

Read Resource Group

Description: Gets information about a Resource Group.

Method: GET /configuration/resourceGroups/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)YesThe ID of the Resource Group you want to query

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
nameStringYesDisplay name of the Resource Group
typeStringYes

Type of routing this Resource Group represents, valid values are:

  • LONGEST_AVAILABLE_AGENT
  • STRICT_AGENT_SKILL
  • STRICT_OVERFLOW
enabledBooleanYesWhether this Resource Group is enabled for use
clientIdInteger (ID)NoID of the LiveVox Client for which this Resource Group is configured
inboundServiceArrayNoArray of IDs of Inbound Services associated with this Resource Group
outboundServiceArrayNoArray of IDs of Outbound Services associated with this Resource Group

Read configuration properties of a Resource Group

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

#Response
200 OK
Content-Type: application/json

{
   "inboundService": [{"id": 35574}],
   "outboundService":    [
      {"id": 35574},
      {"id": 29081},
      {"id": 18892}
   ],
   "name": "ENGLISH_RESOURCE_GROUP",
   "type": "LONGEST_AVAILABLE_AGENT",
   "enabled": true,
   "clientId": 4199
}
CODE

Update Resource Group

DescriptionUpdates the name, type, or enabled flag of a Resource Group.

Method: PUT /configuration/resourceGroups/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)Yes

ID of the Resource Group to be updated.

Body(JSON):

KeyTypeMandatory?Description
nameStringNoNew name of the Resource Group

enabled

BooleanNoIf true this Resource Group is enabled for use.
typeEnumNo

Type of routing this Resource Group represents, possible values are:

  • LONGEST_AVAILABLE_AGENT
  • STRICT_AGENT_SKILL
  • STRICT_OVERFLOW

Response Code: 204 No Content

Body:

None

Update a Resource Group name, type or enabled flag

#Request (JSON)
PUT /configuration/resourceGroups/30953
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{"name":"Documentation","type":"STRICT_AGENT_SKILL","enabled":"false"} 
 
#Response
204 No Content
 
CODE

Update Resource Group Add Inbound Service

DescriptionAdds a Service to the inbound side of the Resource Group.

Method: PUT /configuration/resourceGroups/{id}/inbound/{serviceId}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)YesThe ID of the Resource Group to be updated.
serviceIdserviceIdInteger (ID)Yes

ID of the Service you want to assign to the Resource Group

Body:

None

Response Code: 204 No Content

Body:

None

Assign a Service to the inbound side of a Resource Group

#Request (JSON)
PUT /configuration/resourceGroups/24863/inbound/40788
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Attempt to add a Service to the inbound side that is already assigned to this or another Resource Group

#Request (JSON)
PUT /configuration/resourceGroups/24863/inbound/40788
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
{
   "errorCode": 202,
   "errorMessage": "Inbound service list currently references existing resource group"
}
CODE

Update Resource Group Add Outbound Service

DescriptionAdds a Service to the outbound side of the Resource Group.

Method: PUT /configuration/resourceGroups/{id}/outbound/{serviceId}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)YesThe ID of the Resource Group to be updated.
serviceIdserviceIdInteger (ID)Yes

ID of the Service you want to assign to the Resource Group

Body:

None

Response Code: 204 No Content

Body:

None

Assign a Service to the outbound side of a Resource Group

#Request (JSON)
PUT /configuration/resourceGroups/24863/outbound/40790
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Attempt to add a Service that is already assigned to the Resource Group

#Request (JSON)
PUT /configuration/resourceGroups/24863/outbound/40790
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
{
   "errorCode": 201,
   "errorMessage": "Element already exists"
}
CODE

Update Resource Group Remove Inbound Service

DescriptionRemoves a Service from the inbound side of the Resource Group

Method: DELETE /configuration/resourceGroups/{id}/inbound/{serviceId}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)YesThe ID of the Resource Group to be updated.
serviceIdserviceIdInteger (ID)Yes

The ID of the Service to be removed from the Resource Group.

Body:

None

Response Code: 204 No Content

Body:

None

Remove a Service assignment from an existing Resource Group

#Request (JSON)
DELETE /configuration/resourceGroups/24863/inbound/40788
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Update Resource Group Remove Outbound Service

DescriptionRemoves a Service from the outbound side of the Resource Group

Method: DELETE /configuration/resourceGroups/{id}/outbound/{serviceId}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idgroupIdInteger (ID)YesThe ID of the Resource Group to be updated.
serviceIdserviceIdInteger (ID)Yes

The ID of the Service to be removed from the Resource Group.

Body:

None

Response Code: 204 No Content

Body:

None

Remove a Service from an existing Resource Group

#Request (JSON)
DELETE /configuration/resourceGroups/24863/outbound/40790
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Top of Page