Подключите AITUNNEL к популярным инструментам разработки и автоматизации.

DeepSeek HarnessАгентный харнесс DeepSeek с рабочими пространствами и плагинами — модели через AITUNNEL
Claude CodeТерминальный агент Anthropic — правит код, запускает команды и git-операции через AITUNNEL
Codex CLICodex CLIOpen-source агент OpenAI в терминале — правки кода, ревью и автоматизация задач
Cursor IDEAI-редактор на VS Code с автодополнением Tab, агентом Composer и моделями через AITUNNEL
Qwen CodeCLI-агент для Qwen3-Coder — навигация по проекту, сборка фич и правки через AITUNNEL
OpenCodeОткрытый агент для терминала и IDE с поддержкой 75+ LLM-провайдеров
n8nВизуальная автоматизация с AI-агентами, RAG и интеграциями — модели через AITUNNEL
ClineAI-агент для VS Code — правки файлов, команды в терминале и браузер с подтверждением шагов
OpenClawAI-агент для Telegram, Discord и Slack — модели через один API-ключ AITUNNEL
Все инструменты

Профиль и хранение логов

Настройки аккаунта через API: имя, уведомление о низком балансе и хранение запросов и ответов.

Адрес
Авторизация
Ключ управления с правами profile:read, profile:write

Методы

МетодПравоЧто делает
GET /profileprofile:readАккаунт: почта, имя, настройки и лимиты
PATCH /profileprofile:writeИзменить имя, тему или уведомление о низком балансе
GET /request-logs/settingsprofile:readСколько дней и какие запросы сохраняются
PATCH /request-logs/settingsprofile:writeИзменить хранение запросов

С правом profile:read работает и GET /aitunnel/me: id и почта маской. Баланс — отдельное право, billing:read.

Профиль

curl https://api.aitunnel.ru/v1/aitunnel/profile \
  -H "Authorization: Bearer sk-aitunnel-mgmt-xxx"
JSON
{
  "id": 123,
  "email": "user@example.com",
  "pending_email": null,
  "email_verified": true,
  "name": "Анна",
  "display_name": "Анна",
  "oauth_name": null,
  "avatar_url": null,
  "role": null,
  "theme": "dark",
  "low_balance_threshold": 150.5,
  "notify_email": "alerts@example.com",
  "limits": { "api_keys": 3, "overdraft": 0, "discount_percent": 0 },
  "created_at": "2026-03-02T09:41:27.000Z",
  "deletion_scheduled_for": null
}
ПолеСмысл
idЧисловой id аккаунта
email, email_verifiedПочта аккаунта целиком и подтверждена ли она
pending_emailНовый адрес, пока владелец не подтвердил смену почты. Иначе null
name, display_name, oauth_namedisplay_name — имя из настроек, oauth_name — имя от Google, Yandex или GitHub, name — то из них, которое показывает кабинет
avatar_urlАватар от сервиса входа или null
rolenull у обычного аккаунта
themeТема кабинета: dark, light, system или null
low_balance_thresholdПорог, ₽: когда баланс опускается ниже, уходит письмо. null — письмо выключено
notify_emailКуда приходят письма о низком балансе и бюджете ключей. null — на почту аккаунта
limitsapi_keys — сколько API-ключей можно держать сейчас, overdraft — на сколько баланс может уйти в минус, ₽, discount_percent — персональная скидка, уже применённая к каждому списанию
created_atКогда аккаунт зарегистрирован
deletion_scheduled_forКогда аккаунт будет удалён, если удаление запланировано. Иначе null

Как защищён аккаунт — пароль, двухфакторная аутентификация — ключу управления не сообщается: эти сведения видит только владелец в кабинете.

Изменить профиль

PATCH /profile меняет только переданные поля и возвращает профиль целиком.

curl -X PATCH https://api.aitunnel.ru/v1/aitunnel/profile \
  -H "Authorization: Bearer sk-aitunnel-mgmt-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "low_balance_threshold": 500,
    "notify_email": "alerts@example.com"
  }'
Поле запросаСмысл
display_nameИмя, до 60 символов, без < и >. null возвращает имя от сервиса входа
themedark, light или system
low_balance_thresholdЧисло от 0, ₽. null выключает письмо
notify_emailАдрес для писем. null — почта аккаунта
  • Почта и пароль здесь не меняются: у каждого свой порядок смены в кабинете, с подтверждением личности. Поле email в теле — ошибка 400.
  • Новый порог отсчитывается заново: письмо о старом пороге не мешает прийти письму о новом.

Хранение запросов

Настройки хранения запросов и ответов аккаунта. GET /request-logs/settings читает их, PATCH меняет переданные поля; ответ у обоих один:

curl -X PATCH https://api.aitunnel.ru/v1/aitunnel/request-logs/settings \
  -H "Authorization: Bearer sk-aitunnel-mgmt-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "days": 7,
    "categories": ["text", "images"]
  }'
JSON
{
  "days": 7,
  "categories": ["text", "images"]
}
ПолеСмысл
daysСрок хранения: 0 — не сохранять, 1, 7 или 30 дней
categoriesКакие запросы сохранять: text, images, audio, video. Пустой список — ничего
  • Настройка действует на новые запросы. Что уже сохранено, хранится свой срок.
  • У ключа может быть свой срок: поле log_days в управлении API-ключами. Он важнее срока аккаунта.
  • Хранение на 7 и 30 дней платное, см. цены.
  • Удалить все сохранённые логи можно только в кабинете.

Ошибки

СтатусСмысл
400invalid_request — неверное или неизвестное поле, пустое тело. В error.metadata.fields — каждое поле с объяснением
401authentication_failed — ключа нет, он неверный, отозван или истёк
403permission_denied — у ключа нет нужного права, IP не в списке разрешённых или метод вызван API-ключом

Изменения, сделанные ключом управления, видны владельцу в журнале активности.