API Keys API

Создание, просмотр и управление API ключами для доступа к AI API.

Обзор

API ключи используются для аутентификации запросов к /v1 эндпоинтам. Ключи можно создавать и управлять ими через dashboard API.

Получить список API ключей

Получить все API ключи для аутентифицированного пользователя.

GET/api/keys

Запрос

curl -X GET https://api.aigonka.ru/api/keys \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Ответ

{
  "keys": [
    {
      "id": "key_xyz789",
      "name": "Продакшен ключ",
      "keyPrefix": "gk-ваш_API_ключ",
      "createdAt": "2024-01-15T10:30:00Z",
      "lastUsedAt": "2024-01-15T12:00:00Z",
      "isActive": true
    }
  ],
  "count": 1
}

Создать API ключ

Сгенерировать новый API ключ.

POST/api/keys

Запрос

curl -X POST https://api.aigonka.ru/api/keys \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -d '{"name": "Продакшен ключ"}'

Ответ

{
  "id": "key_xyz789",
  "name": "Продакшен ключ",
  "key": "gk-ваш_API_ключ_abc123def456ghi789jkl012mno345pqr678",
  "keyPrefix": "gk-ваш_API_ключ",
  "createdAt": "2024-01-15T10:30:00Z",
  "warning": "Сохраните этот ключ в надёжном месте. Он не будет показан снова."
}

⚠️ Важно: Полный API ключ показывается только один раз при создании. Сохраните его в надёжном месте немедленно.

Отозвать API ключ

Удалить/отозвать API ключ.

DELETE/api/keys/:id

Запрос

curl -X DELETE https://api.aigonka.ru/api/keys/key_xyz789 \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Ответ

{
  "success": true,
  "message": "API ключ отозван"
}

Формат API ключа

API ключи Gonka имеют стандартный формат:

gk-ваш_API_ключ_abc123def456ghi789jkl012mno345pqr678
gk = Gonka Key
ваш_API_ключ = префикс
abc123... = 32 случайных символа

Лучшие практики безопасности

✅ Нужно

  • Хранить ключи в переменных окружения
  • Использовать разные ключи для каждого проекта
  • Периодически обновлять ключи
  • Немедленно отзывать неиспользуемые ключи
  • Следить за использованием ключей в dashboard

❌ Нельзя

  • Коммитить ключи в систему контроля версий
  • Передавать ключи в клиентском коде
  • Использовать один ключ для нескольких проектов
  • Логировать ключи в открытом виде

Ответы с ошибками

401 Unauthorized

{
  "error": {
    "message": "Отсутствует или неверный заголовок authorization",
    "type": "unauthorized"
  }
}

404 Not Found

{
  "error": {
    "message": "API ключ не найден или не принадлежит вам",
    "type": "not_found"
  }
}