This document is for an older version of Kazoo (version 4.3) that is no longer supported. You should upgrade and read the current documentation.
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"
}