---
title: "GET /key — Текущий API-ключ"
url: https://lumean.app/developers/docs/api/get-key
locale: ru
description: "Текущий API-ключ"
generated: 2026-11-08
operationId: apiKey.show
method: GET
path: /key
scopes: []
spec_version: 1.0.0
---

# GET /key

**Текущий API-ключ**

Описывает ключ, которым подписан запрос: его `id` и `name` — те же, что в кабинете, —
права `permissions`, активность, срок действия и лимиты.

Подходит, чтобы проверить ключ перед работой: какие разделы API он откроет, когда
истечёт и сколько осталось в пуле токенов (`limits.tokens.quota`). Пустой список
`permissions` — у ключа нет прав Public API: эта ручка работает, остальные ручки
`/api/public/*` отвечают **403**. Доступ к AI API от прав не зависит — его включает
галочка AI на ключе в кабинете.

Секрет ключа и его хеш в ответе не возвращаются никогда.

**Требуемое право ключа:** нет — подходит любой действующий ключ.

- Право ключа: не нужно — подходит любой активный ключ

## Запрос

```bash
curl -X GET 'https://api.lumean.app/api/public/key' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY'
```

## Параметры

| Поле | Где | Тип | Обяз. | Описание |
| --- | --- | --- | --- | --- |
| `X-Locale` | header | `string` | — | Язык локализованных текстов ответа (`message`, подписи, причины ошибок), код ISO-639-1. Необязателен; без него — язык аккаунта владельца ключа, затем `Accept-Language`, затем язык по умолчанию. Неизвестный или неподдерживаемый код пропускается так же, как отсутствующий. |
| `X-Timezone` | header | `string` | — | IANA-зона (`Europe/Moscow`), в которой ответ показывает моменты времени — ISO-8601 со смещением. Необязателен; без него даты приходят в UTC. Невалидная зона игнорируется. Применённую зону сервер возвращает в одноимённом заголовке ответа. |

## Тело запроса

Тела нет.

## Ответы

### 200 — Ключ, которым подписан запрос

**Поля ответа**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `success` | `boolean` | обяз. | Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь `true`, а ошибка приходит телом другой формы, где этого поля может не быть вовсе. |
| `message` | `string` | обяз. | Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются. |
| `data` | `PublicApiKey` | обяз. | Полезная нагрузка ответа. |
| `data.id` | `string` | обяз. | Идентификатор ключа — тот же, что в списке ключей кабинета. |
| `data.name` | `string` | обяз. | Название ключа, заданное при выпуске. |
| `data.permissions` | `array<any>` | обяз. | Права ключа — тот же список, что в кабинете (`orders.read`, `billing.read`, `*` и т. д.). Пустой список — прав Public API нет: эта ручка работает, остальные `/api/public/*` отвечают 403. Доступ к AI API от прав не зависит. |
| `data.is_active` | `boolean` | обяз. | Ключ активен. Неактивный ключ сюда не доходит — он получает 401, поэтому в ответе всегда `true`. |
| `data.expires_at` | `string` | обяз. | Когда ключ истечёт (ISO 8601; в UTC, если не передан `X-Timezone`); `null` — бессрочный. |
| `data.limits` | `object` | обяз. | Лимиты ключа: окна запросов и токенов и пул токенов без сброса по времени. |
| `data.limits.requests` | `object` | обяз. | Сколько запросов ключ может сделать за окно; `null` — окно не ограничено. |
| `data.limits.requests.per_minute` | `integer` — nullable | обяз. | Запросов в минуту; `null` — без ограничения. |
| `data.limits.requests.per_hour` | `integer` — nullable | обяз. | Запросов в час; `null` — без ограничения. |
| `data.limits.requests.per_day` | `integer` — nullable | обяз. | Запросов в сутки; `null` — без ограничения. |
| `data.limits.tokens` | `object` | обяз. | Сколько токенов генерации ключ может потратить за окно; `null` — окно не ограничено. |
| `data.limits.tokens.per_minute` | `integer` — nullable | обяз. | Токенов в минуту; `null` — без ограничения. |
| `data.limits.tokens.per_hour` | `integer` — nullable | обяз. | Токенов в час; `null` — без ограничения. |
| `data.limits.tokens.per_day` | `integer` — nullable | обяз. | Токенов в сутки; `null` — без ограничения. |
| `data.limits.tokens.per_month` | `integer` — nullable | обяз. | Токенов в месяц; `null` — без ограничения. |
| `data.limits.tokens.quota` | `object` | обяз. | Пул токенов без сброса по времени, который выдаёт администратор. Кончился — генерация отвечает 429 `token_quota_exceeded`. |
| `data.limits.tokens.quota.limit` | `integer` — nullable | обяз. | Размер пула; `null` — пула нет, он не ограничивает ключ. |
| `data.limits.tokens.quota.used` | `integer` | обяз. | Сколько токенов пула уже потрачено. |
| `data.limits.tokens.quota.remaining` | `integer` — nullable | обяз. | Сколько токенов пула осталось; `null` — пула нет. |

**Пример**

```json
{
  "success": true,
  "message": "string",
  "data": {
    "id": "string",
    "name": "string",
    "permissions": [
      "string"
    ],
    "is_active": true,
    "expires_at": "string",
    "limits": {
      "requests": {
        "per_minute": 1,
        "per_hour": 1,
        "per_day": 1
      },
      "tokens": {
        "per_minute": 1,
        "per_hour": 1,
        "per_day": 1,
        "per_month": 1,
        "quota": {
          "limit": 1,
          "used": 1,
          "remaining": 1
        }
      }
    }
  }
}
```

### 401 — API-ключ отсутствует, неизвестен, неактивен или истёк

**Поля ответа**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `success` | `boolean` | обяз. | Всегда `false` в ответах об ошибке. |
| `message` | `string` | обяз. | Текст ошибки на языке ключа (задаётся заголовком `X-Locale`). |
| `data` | `null` — nullable | обяз. | Всегда `null`, когда запрос отклонён до обработки. |

**Пример**

```json
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
```

---

- Эта же страница в браузере: https://lumean.app/developers/docs/api/get-key
- Машинный справочник целиком: https://api.lumean.app/docs/llm.md
