Groups
About Groups
Schema
Validator for the group
Key | Description | Type | Default | Required | Support Level |
---|---|---|---|---|---|
endpoints |
Endpoints included into group | object() |
{} |
true |
supported |
flags.[] |
string() |
false |
supported |
||
flags |
Flags set by external applications | array(string()) |
false |
supported |
|
music_on_hold.media_id |
The ID of a media object that should be used as music on hold | string(0..128) |
false |
||
music_on_hold |
The music on hold parameters | object() |
{} |
false |
beta |
name |
A friendly name for the group | string(1..128) |
true |
supported |
Fetch
GET /v2/accounts/{ACCOUNT_ID}/groups
curl -v -X GET \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/groups
{
"data": [
{
"id": "18ccfd6cea456cbdd38133e5aa726ec4",
"name": "Group Name",
"features": [],
"endpoints": 2
}
],
"status": "success"
}
Fetch all groups containing a user
GET /v2/accounts/{ACCOUNT_ID}/users/{USER_ID}/groups
curl -v -X GET \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/users/{USER_ID}/groups
{
"data": [
{
"id": "18ccfd6cea456cbdd38133e5aa726ec4",
"name": "Group Name",
"features": [],
"endpoints": 2
}
],
"status": "success"
}
Create a group for a given account
PUT /v2/accounts/{ACCOUNT_ID}/groups
curl -v -X PUT \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-d '{
"data": {
"music_on_hold": {},
"name": "Test group",
"endpoints": {
"df9274b450ea6795cdb381055c3f9b45": {
"type": "user",
"weight": 1
},
"dd03d7442a4bec5c092ea6a0e6d579ef": {
"type": "device",
"weight": 2
}
}
},
"verb": "PUT"
}' \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/groups
{
"data": {
"music_on_hold": {},
"name": "Test group",
"endpoints": {
"df9274b450ea6795cdb381055c3f9b45": {
"type": "user",
"weight": 1
},
"dd03d7442a4bec5c092ea6a0e6d579ef": {
"type": "device",
"weight": 2
}
},
"id": "1743724cd775bf6994380dbc79c1af09"
},
"status": "success"
}
Remove a group
DELETE /v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
curl -v -X DELETE \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
{
"data": {
"music_on_hold": {},
"name": "Test group 2",
"id": "1743724cd775bf6994380dbc79c1af09",
"endpoints": {
"df9274b450ea6795cdb381055c3f9b45": {
"type": "user",
"weight": 1
},
"dd03d7442a4bec5c092ea6a0e6d579ef": {
"type": "device",
"weight": 2
}
}
},
"status": "success"
}
Get a group for a given account
GET /v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
curl -v -X GET \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
{
"data": {
"music_on_hold": {},
"name": "Test group",
"endpoints": {
"df9274b450ea6795cdb381055c3f9b45": {
"type": "user",
"weight": 1
},
"dd03d7442a4bec5c092ea6a0e6d579ef": {
"type": "device",
"weight": 2
}
},
"ui_metadata": {
"ui": "kazoo-ui"
},
"id": "1743724cd775bf6994380dbc79c1af09"
},
"status": "success"
}
Update a group for a given account
POST /v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
PATCH /v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
curl -v -X POST \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-d '{
"data": {
"music_on_hold": {},
"name": "Test group 2",
"id": "1743724cd775bf6994380dbc79c1af09",
"endpoints": {
"df9274b450ea6795cdb381055c3f9b45": {
"type": "user",
"weight": 1
},
"dd03d7442a4bec5c092ea6a0e6d579ef": {
"type": "device",
"weight": 2
}
}
},
"verb": "POST"
}' \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/groups/{GROUP_ID}
{
"data": {
"music_on_hold": {},
"name": "Test group 2",
"endpoints": {
"df9274b450ea6795cdb381055c3f9b45": {
"type": "user",
"weight": 1
},
"dd03d7442a4bec5c092ea6a0e6d579ef": {
"type": "device",
"weight": 2
}
},
"ui_metadata": {
"ui": "kazoo-ui"
},
"id": "1743724cd775bf6994380dbc79c1af09"
},
"status": "success"
}