# Активные устройства текущего пользователя

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Активные устройства текущего пользователя

`GET /api/v1/security/me/devices`

**Авторизация:** dpop

**Ответы**

- `200` — Активные устройства (`application/json`, DevicesListResponse)
  - `devices`: массив Device, обязательное — Активные устройства пользователя
    - `dpopBound`: boolean, обязательное — Сессия привязана к DPoP-ключу
    - `expiresAt`: string, nullable, обязательное — Срок действия сессии устройства, ISO 8601
    - `firstSeenAt`: string, обязательное — Первый вход с устройства, ISO 8601
    - `geoCity`: string, nullable, обязательное — Город по геолокации IP
    - `geoCountry`: string, nullable, обязательное — Страна по геолокации IP
    - `id`: string, обязательное — Идентификатор устройства
    - `ip`: string, nullable, обязательное — IP-адрес последнего входа
    - `isCurrent`: boolean, обязательное — Это устройство текущего запроса
    - `label`: string, nullable, обязательное — Метка устройства (браузер/ОС); null — не определена
    - `lastSeenAt`: string, обязательное — Последняя активность, ISO 8601
    - `userAgent`: string, nullable, обязательное — User-Agent последнего входа
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `429` — Превышен лимит запросов, повторите через Retry-After секунд (`application/problem+json`, ProblemDetails)

    </>
  );
}
