// developer documentation
Corevia VPS REST API
6 endpoint'ов для управления выделенным VPS из любого скрипта или AI-агента (Claude Code, Cursor, custom code). Bearer-аутентификация, JSON-ответы, идемпотентные операции.
База URL:
Версия: v1 (стабильная с 2026-06-01)
SLA: 99.9% uptime (тот же что для cabinet)
OpenAPI 3.1 spec:
MCP server для Claude Code: github.com/coreviaflow/sl-claw-mcp (zero-dep, single-file)
https://app.sl-claw.techВерсия: v1 (стабильная с 2026-06-01)
SLA: 99.9% uptime (тот же что для cabinet)
OpenAPI 3.1 spec:
app.sl-claw.tech/api/box/openapi — импорт в Postman / Bruno / Insomnia, генерация SDKMCP server для Claude Code: github.com/coreviaflow/sl-claw-mcp (zero-dep, single-file)
Быстрый старт
- Зарегистрируй аккаунт на app.sl-claw.tech (если еще нет)
- Купи Corevia VPS на sl-claw.tech/box
- Зайди в кабинет → API ключи → создай ключ (формат
cv_xxxxx) - Используй ключ в Authorization header:
curl -H "Authorization: Bearer cv_..." https://app.sl-claw.tech/api/box
Аутентификация
API поддерживает два режима:
- Bearer token — для скриптов, Claude Code, MCP, CI. Создается в кабинете
/portal/api-keys, хранится hashed в БД (scrypt), показывается один раз. - Cabinet session cookie — автоматически при вызовах из UI кабинета. Не используется внешними клиентами.
⚠️ Безопасность. Никогда не коммить ключ в публичные репозитории. Храни в
.env / 1Password / GitHub Secrets. При утечке — DELETE /api/account/api-key и сгенерируй новый.
Endpoints
GET/api/box
Список всех VPS-боксов, принадлежащих твоему tenant'у. Не делает живых запросов к Contabo (быстро).
curl -H "Authorization: Bearer cv_..." https://app.sl-claw.tech/api/box
{
"ok": true,
"count": 2,
"boxes": [
{ "id": "cl_xyz", "domain_slug": "cafemario", "bot_url": "https://cafemario.bot.sl-claw.tech", "status": "ACTIVE", "tier": {...}, "mrr_usd": 29, ... }
]
}
"ok": true,
"count": 2,
"boxes": [
{ "id": "cl_xyz", "domain_slug": "cafemario", "bot_url": "https://cafemario.bot.sl-claw.tech", "status": "ACTIVE", "tier": {...}, "mrr_usd": 29, ... }
]
}
GET/api/box/:id/status
:id = либо Prisma id (cl_xxx), либо domain_slug (cafemario) — что удобнее. Делает живой запрос к Contabo (200-500ms latency).curl -H "Authorization: Bearer cv_..." \ https://app.sl-claw.tech/api/box/cafemario/status
POST/api/box/:id/restart
Soft reboot VPS. Бот будет недоступен 30-60 секунд. Только для ACTIVE / GRACE статуса (409 для остальных).
curl -X POST -H "Authorization: Bearer cv_..." \ https://app.sl-claw.tech/api/box/cafemario/restart
POST/api/box/:id/cancel
Отменяет подписку, Contabo VPS останавливается. В течение 30 дней после покупки — eligible для refund (написать на support@sl-claw.tech).
curl -X POST -H "Authorization: Bearer cv_..." \ https://app.sl-claw.tech/api/box/cafemario/cancel
POST/api/box/:id/upgrade
Меняет тариф (Starter → Growth → Scale). Тело:
{"catalogProductId": "V70"}. V1: записывает intent, наш ops мигрирует за 24h (данные сохраняются).curl -X POST -H "Authorization: Bearer cv_..." \
-H "Content-Type: application/json" \
-d '{"catalogProductId":"V70"}' \
https://app.sl-claw.tech/api/box/cafemario/upgrade
Доступные productId:
V68 (4 vCPU, $19), V69 (6 vCPU, $29), V70 (8 vCPU, $59). Больше — Custom через support.
GET/api/box/:id/logs?lines=200
Последние N строк логов бот-контейнера на VPS (SSH-tail). Cap: 2000. Auth — твой Bearer-токен, SSH-ключ — наш (на server-side, ты не видишь).
curl -H "Authorization: Bearer cv_..." \ "https://app.sl-claw.tech/api/box/cafemario/logs?lines=500"
Использование в Claude Code
Сохрани ключ в env, затем просто говори Claude Code человеческим языком:
export COREVIA_TOKEN=cv_... # в Claude Code: "покажи статус моего vps cafemario" "перезагрузи cafemario" "покажи последние 500 строк логов cafemario" "апгрейдь cafemario на тариф Scale"
Claude Code сам соберет правильный curl с твоим токеном из env.
Errors
| HTTP | Когда | Что делать |
|---|---|---|
401 | Нет / неверный Bearer токен | Проверь header. Сгенерируй новый ключ. |
404 | Бокс не найден (или не твой) | Проверь slug. Список через GET /api/box. |
409 | Операция не применима в текущем статусе | Смотри current_status в ответе. |
502 | Contabo API / SSH unreachable | Подожди 1-2 мин, повтори. Если повторяется — support. |
Rate limits
V1: nежесткий лимит, но мы логируем каждый вызов (audit-log BoxOperation). Если шкваль (>100 вызовов/мин) — поговорим. Будущая версия: 60 read / 10 write на минуту на токен.
Вопросы: support@sl-claw.tech или консультант в Telegram