# sessions: что открыто сейчас

> GET /v1/browser/sessions — живые сессии, свободные места и действующие сроки

Источник: https://docs.parreq.com/browser-sessions/

Показывает, сколько сессий открыто на сервисе и сколько ещё можно открыть.
Ничего не меняет и **ничего не стоит**.

## Запрос

```bash cURL
curl "https://api.parreq.com/v1/browser/sessions" \
  -H "Authorization: Bearer pr_ВАШКЛЮЧ"
```

```python Python
res = requests.get(
    "https://api.parreq.com/v1/browser/sessions",
    headers={"Authorization": "Bearer pr_ВАШКЛЮЧ"},
    timeout=30,
).json()

print(f"занято {res['live']} из {res['max']}")
```

```javascript Node
const res = await fetch("https://api.parreq.com/v1/browser/sessions", {
  headers: { "Authorization": "Bearer pr_ВАШКЛЮЧ" },
}).then((r) => r.json());

console.log(`занято ${res.live} из ${res.max}`);
```

## Ответ

```json
{
  "sessions": [
    {
      "session_id": "bs_9f2a41c7e8b0",
      "url": "https://example.com/account",
      "steps": 4,
      "profile_id": "pf_31c7",
      "idle_left": 7,
      "life_left": 64
    }
  ],
  "live": 1,
  "max": 4,
  "idle_sec": 60,
  "max_life_sec": 120
}
```

- **`live`** (`integer`):
  Сколько сессий открыто прямо сейчас.

- **`max`** (`integer`):
  Потолок одновременных сессий на весь сервис.

- **`idle_sec`** (`integer`):
  Действующий срок простоя в секундах. Берите его отсюда, а не из документации:
  значение настраивается, и здесь оно всегда настоящее.

- **`max_life_sec`** (`integer`):
  Действующий потолок жизни сессии в секундах.

- **`sessions`** (`array`):
  Строка на каждую живую сессию: идентификатор, текущий адрес, число шагов,
  профиль браузера и остатки по обоим срокам.

## Зачем это нужно

**Понять причину отказа**
    `sessions_busy` в ответ на `open` — здесь видно, все ли места вправду
    заняты.

**Найти забытую сессию**
    Сессия, оставшаяся после упавшего кода, видна по `session_id` — её можно
    закрыть.

**Взять настоящие сроки**
    `idle_sec` и `max_life_sec` — источник правды для вашего кода вместо
    зашитых чисел.

**Присмотр**
    Периодический опрос показывает, упирается ли ваша нагрузка в потолок.

> **Внимание.**
>   Счётчик общий для сервиса, а не для вашего ключа: в `live` попадают и чужие
>   сессии. Планируя нагрузку, исходите из того, что все четыре места вашими не
>   будут.
