# Retrieve a queue's live state

`GET https://api.morevoice.ai/v1/queues/{id}/live`

Who is waiting and for how long, which agents can take the calls, and today's numbers. A snapshot: poll it, or follow `queue.*` events.

Authenticate with a secret API key: `Authorization: Bearer $MOREVOICE_API_KEY`.

Operation ID: `queues_retrieve_live`.

## Parameters

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `string` | yes | A queue ID (`q_…`). |

### Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `MoreVoice-Version` | `string` | no | The API version to use for this request. Defaults to the version the API key is pinned to. |

## Responses

### 200 OK

OK Returns `QueueLive`.

| Field | Type | Description |
| --- | --- | --- |
| `object` | `"queue_live"` | — |
| `queue_id` | `string` | A queue ID (prefix `q_`). |
| `livemode` | `boolean` | `true` in live mode, `false` in test mode. |
| `enabled` | `boolean` | — |
| `waiting` | `integer` | Callers waiting for an agent right now. |
| `longest_wait_seconds` | `integer \| null` | How long the longest-waiting caller has waited (null: nobody waits). |
| `agents` | `object` | The queue's signed-in members by status. |
| `agents.available` | `integer` | — |
| `agents.busy` | `integer` | — |
| `agents.wrap_up` | `integer` | — |
| `agents.away` | `integer` | — |
| `agents.online` | `integer` | Members signed in, whatever their status. |
| `callers` | `object[]` | Waiting callers, longest wait first. |
| `members` | `object[]` | The queue's signed-in members. |
| `callbacks_offered` | `integer` | Callbacks ringing this queue's agents right now. |
| `today` | `object \| null` | Since midnight (Israel time); null when the statistics are unavailable. |
| `today.calls` | `integer` | — |
| `today.answered` | `integer` | — |
| `today.abandoned` | `integer` | — |
| `today.overflowed` | `integer` | — |
| `today.voicemails` | `integer` | — |
| `today.callbacks` | `integer` | — |
| `today.average_wait_seconds` | `number \| null` | Of answered calls. |
| `today.max_wait_seconds` | `number \| null` | — |
| `today.service_level` | `number \| null` | Share (0–1) of answered calls answered within 20 seconds. |
| `as_of` | `string` | An ISO-8601 timestamp in UTC. |

Example:

```json
{
  "agents": {
    "available": 2,
    "away": 1,
    "busy": 1,
    "online": 4,
    "wrap_up": 0
  },
  "as_of": "2026-11-03T09:14:22.000Z",
  "callbacks_offered": 0,
  "callers": [
    {
      "call_id": "call_5Fh7Jk9Lm1Np3Qr5St7Vx9",
      "from": "+972501234567",
      "position": 1,
      "state": "ringing",
      "waited_seconds": 42
    }
  ],
  "enabled": true,
  "livemode": true,
  "longest_wait_seconds": 42,
  "members": [
    {
      "call_id": null,
      "name": "Dana Levi",
      "since": "2026-11-03T09:10:00.000Z",
      "status": "available",
      "user_id": "usr_2Lm8Pq4Rt6Vx0Zb3Nd5Fh7"
    }
  ],
  "object": "queue_live",
  "queue_id": "q_4Gk2LmN9pQ4rS6tV8wX0yZ",
  "today": {
    "abandoned": 4,
    "answered": 31,
    "average_wait_seconds": 18,
    "callbacks": 1,
    "calls": 37,
    "max_wait_seconds": 96,
    "overflowed": 2,
    "service_level": 0.84,
    "voicemails": 1
  },
  "waiting": 1
}
```

### 400 Bad Request

The request is invalid: a parameter is missing, malformed or unknown, or the version header is unknown. Returns `ErrorEnvelope`.

### 401 Unauthorized

No valid API key was sent. Returns `ErrorEnvelope`.

### 403 Forbidden

The key may not do this (a missing scope, a plan limit, or a compliance block). Returns `ErrorEnvelope`.

### 404 Not Found

No object with this ID exists in this organisation and mode. Returns `ErrorEnvelope`.

### 429 Too Many Requests

Too many requests, or no call capacity right now. Retry after the Retry-After delay. Returns `ErrorEnvelope`.

### 500 Internal Server Error

Something went wrong on MoreVoice's side. Retry with the same Idempotency-Key. Returns `ErrorEnvelope`.

## Code samples

**TypeScript**

```ts
import MoreVoice from "@morevoice/sdk";

const mv = new MoreVoice(); // MOREVOICE_API_KEY from the environment

const queueLive = await mv.queues.retrieveLive("q_7Hk2Lm9Qp");
console.log(queueLive);
```

**Python**

```python
from morevoice import MoreVoice

client = MoreVoice()  # MOREVOICE_API_KEY from the environment

queue_live = client.queues.retrieve_live("q_7Hk2Lm9Qp")
print(queue_live)
```

**cURL**

```sh
curl https://api.morevoice.ai/v1/queues/q_7Hk2Lm9Qp/live \
  -H "Authorization: Bearer $MOREVOICE_API_KEY"
```
