Sign inGet Started

List ring groups

GET
/v1/voice/ring-groups
const groups = await bird.voice.ringGroups.list();
for (const group of groups.data) {
  console.log(group.id, group.name, group.online_member_count);
}
Response200
{
  "data": [
    {
      "id": "vrg_01j8z5k2qvfpx9m3n7r4t6y8bc",
      "name": "Default",
      "is_default": true,
      "online_member_count": 5,
      "created_at": null,
      "updated_at": null
    },
    {
      "id": "vrg_01krdgeqcxet5s7t44vh8rt9mg",
      "name": "Support",
      "is_default": false,
      "online_member_count": 3,
      "created_at": "2026-10-01T12:00:00Z",
      "updated_at": "2026-10-01T12:00:00Z"
    }
  ]
}

Returns the workspace's ring groups. The first is always the default group, which is not stored: it rings the users who are online in the browser phone. The others follow, oldest first.

Ring groups require preview access to inbound browser calling. Without it, this returns 404 Not Found.

Response Payload

data
array of object
required

The default group first, then the other ring groups, oldest first.

Show child attributes
data.id
string
required

Unique identifier for this ring group. The default group's ID is vrg_ followed by the workspace ID's suffix.

data.name
string
required

The ring group's name.

data.is_default
boolean
required

Whether this is the workspace's default group, which rings the users who are online in the browser phone.

data.online_member_count
integer
required

How many of the group's members are connected to the browser phone and accepting calls, read live. A member on a call counts, though a call to the group skips them until it ends. For the default group, the count includes every connected user who accepts calls.

data.created_at
nullable string
required

When the ring group was created. Null for the default group.

data.updated_at
nullable string
required

When the ring group's name or members last changed. Null for the default group.

Continue with the documentation, guides and examples for this topic.