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.options.[] | `string(‘preserve-position' | 'random-start’)` | false | ||
music_on_hold.options | Options for playing music on hold | `array(string(‘preserve-position' | 'random-start’))` | 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"
}