Download PDF
Download page Resource Groups API Methods.
Resource Groups API Methods
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 Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
client | clientId | Integer (ID) | No | The LiveVox ID of the Client under which the Resource Group will be created. |
Body:
Key | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
name | String | Yes | Name of the Resource Group to be created. | ||||||||
type | Enum | Yes | Type of routing this Resource Group represents, possible values are:
| ||||||||
enabled | Boolean | Yes | If true this Resource Group is enabled for use. | ||||||||
inboundService | Array | No | An array of one or more Service IDs that will contribute to this Resource Group's traffic.
Note: Can be either Inbound or Outbound Services but each Service can only be assigned to one Resource Group on the inbound side. | ||||||||
outboundService | Array | No | An array of one or more IDs of Outbound Services that will accept traffic from this Resource Group.
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 Attribute | Type | Mandatory? | Description |
---|---|---|---|
id | Integer (ID) | Yes | The 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}
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"
}
Delete Resource Group
Description: Deletes a Resource Group.
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | True | ID 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
#Response
204 No Content
Attempt to delete a Resource Group that does not exist
#Request
DELETE /configuration/resourceGroups/24865
Host: localhost.com
#Response
404 Not Found
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 Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
client | clientId | Integer (ID) | No | Restricts the list to entries that are specifically associated with this particular Client. |
Body:
None
Response Code: 200 OK
Body:
Key or Attribute | Type | Mandatory? | Description |
---|---|---|---|
size | Integer | Yes | Total number of entries in the list. |
lastModified | DateTime | No | The 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
}
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 Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
client | clientId | Integer (ID) | No | Specifies the Client for which you want to retrieve the list of Resource Groups |
count | n | Integer | Yes | Specifies the number of items to return in the list. There is a hard cap of 1000 items. |
offset | n | Integer | Yes | Specifies the offset from 0, based on count, to start listing from. |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
next | URI | No | A URI for the next page of entries. If next is not present, or blank, then there are no pages after this one. | ||||||||||||
resourceGroup | Array | No | A container for a page of Resource Group entries. The page size is controlled via count and offset in the request.
|
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
}
Read Resource Group
Description: Gets information about a Resource Group.
Method: GET /configuration/resourceGroups/{id}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | Yes | The ID of the Resource Group you want to query |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
name | String | Yes | Display name of the Resource Group |
type | String | Yes | Type of routing this Resource Group represents, valid values are:
|
enabled | Boolean | Yes | Whether this Resource Group is enabled for use |
clientId | Integer (ID) | No | ID of the LiveVox Client for which this Resource Group is configured |
inboundService | Array | No | Array of IDs of Inbound Services associated with this Resource Group |
outboundService | Array | No | Array 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
}
Update Resource Group
Description: Updates the name, type, or enabled flag of a Resource Group.
Method: PUT /configuration/resourceGroups/{id}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | Yes | ID of the Resource Group to be updated. |
Body(JSON):
Key | Type | Mandatory? | Description |
---|---|---|---|
name | String | No | New name of the Resource Group |
enabled | Boolean | No | If true this Resource Group is enabled for use. |
type | Enum | No | Type of routing this Resource Group represents, possible values are:
|
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
Update Resource Group Add Inbound Service
Description: Adds a Service to the inbound side of the Resource Group.
Method: PUT /configuration/resourceGroups/{id}/inbound/{serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | Yes | The ID of the Resource Group to be updated. |
serviceId | serviceId | Integer (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
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"
}
Update Resource Group Add Outbound Service
Description: Adds a Service to the outbound side of the Resource Group.
Method: PUT /configuration/resourceGroups/{id}/outbound/{serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | Yes | The ID of the Resource Group to be updated. |
serviceId | serviceId | Integer (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
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"
}
Update Resource Group Remove Inbound Service
Description: Removes a Service from the inbound side of the Resource Group
Method: DELETE /configuration/resourceGroups/{id}/inbound/{serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | Yes | The ID of the Resource Group to be updated. |
serviceId | serviceId | Integer (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
Update Resource Group Remove Outbound Service
Description: Removes a Service from the outbound side of the Resource Group
Method: DELETE /configuration/resourceGroups/{id}/outbound/{serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
id | groupId | Integer (ID) | Yes | The ID of the Resource Group to be updated. |
serviceId | serviceId | Integer (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