---
title: "Изменить API-ключ"
method: PATCH
path: "/v1/keys/{id}"
tags: ["Management"]
---

# Изменить API-ключ

`PATCH /v1/keys/{id}`

## Request

- Base URL: `https://api.hubris.pw`
- URL: `https://api.hubris.pw/v1/keys/{id}`
- Auth: HTTP bearer

Частичное обновление: имя, обратимое отключение (`disabled`), лимит расхода (`limit_kopecks`, null — снять) и период его сброса (`limit_period`), режим «только чтение», привязка к адресу (`allowed_ips`, null — снять), защита от всплеска, режим приватности. Устаревшее `daily_limit_kopecks` = лимит с периодом day.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string
  - `disabled` boolean
  - `limit_kopecks` integer, nullable
  - `limit_period` 'day' | 'week' | 'month' | 'none': Период сброса лимита: day (по умолчанию), week, month, none — без сброса.
  - `daily_limit_kopecks` integer, nullable
  - `read_only` boolean: Переключить «только чтение»; обратимо.
  - `allowed_ips` string[], nullable: Привязка к адресу: до 32 записей — IPv4/IPv6-адрес или подсеть (CIDR). null или [] — снять привязку (любой адрес).
  - `spike_limit_kopecks` integer, nullable: Защита от всплеска: порог в копейках; null — выключить. Вместе с ним обязателен spike_window_minutes.
  - `spike_window_minutes` integer: Окно защиты: 1, 5, 15, 30 или 60 минут.
  - `spike_cooldown_minutes` integer, nullable: Охлаждение: 15, 60, 360, 1440 минут или null — до ручного включения.
  - `privacy_mask_default` 'inherit' | 'off' | 'on' | 'required'

## Response `200`

Обновлённый ключ.

- object
  - `id` string, uuid, required
  - `name` string, required
  - `key_prefix` string, required
  - `disabled` boolean, required
  - `limit_kopecks` integer, nullable, required: Лимит расхода ключа в копейках за период `limit_period`. null = без лимита.
  - `limit_period` 'day' | 'week' | 'month' | 'none', required: Период сброса лимита: day — календарные сутки (00:00 МСК), week — с понедельника, month — с 1-го числа, none — без сброса (лимит на весь расход ключа).
  - `spent_period_kopecks` integer, required: Потрачено этим ключом в текущем периоде, в копейках.
  - `limit_remaining_kopecks` integer, nullable, required: Сколько ещё можно потратить в текущем периоде: лимит минус траты минус резервы роликов в работе, не меньше 0. null — без лимита.
  - `period_reset_at` string, nullable, required: Момент следующего сброса (ISO 8601); null для limit_period=none.
  - `daily_limit_kopecks` integer, nullable, required: Устаревшее. Равно limit_kopecks при limit_period=day, иначе null. Используйте limit_kopecks.
  - `spent_24h_kopecks` integer, required: Устаревшее. Равно spent_period_kopecks. Используйте spent_period_kopecks.
  - `read_only` boolean, required: Ключ только для чтения: каталог моделей, баланс и статистика доступны, запросы к моделям (всё, что тратит баланс) — 403 key_read_only.
  - `allowed_ips` string[], nullable, required: Привязка к адресу: IPv4/IPv6-адреса и подсети (CIDR), с которых ключ принимает запросы; null — с любого адреса. Запрос с другого адреса — 403 key_ip_not_allowed.
  - `disabled_reason` 'manual' | 'spike', nullable, required: Почему ключ отключён: manual — вручную, spike — заморозка при всплеске трат; null — включён.
  - `disabled_until` string, nullable, required: Момент автоматического включения после заморозки (ISO 8601); null — до ручного включения или ключ включён.
  - `spike_limit_kopecks` integer, nullable, required: Защита от всплеска: порог расхода в копейках за окно spike_window_minutes; null — выключена.
  - `spike_window_minutes` integer, nullable, required: Окно защиты от всплеска: 1, 5, 15, 30 или 60 минут.
  - `spike_cooldown_minutes` integer, nullable, required: Период охлаждения: через сколько минут ключ включится снова (15, 60, 360, 1440); null — до ручного включения.
  - `privacy_mask_default` 'inherit' | 'off' | 'on' | 'required', required
  - `last_used_at` string, nullable, required
  - `created_at` string, required

## Other responses

- `400`: Невалидное тело запроса.
- `401`: Невалидный ключ.
- `403`: Нужен management-ключ.
- `404`: Ключ не найден.
- `429`: Превышен rate limit.

---

[API](https://skmtc.dev/hubris/apis/hubris-api.md) · [All operations](https://skmtc.dev/hubris/apis/hubris-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hubris/apis/hubris-api/revisions/79ea91ed8f10?raw)
