GET /projects
Список проектов текущего аккаунта. Поддерживает пагинацию через ?limit= и ?cursor=. Возвращает id, name, status и created_at.
Документация · Интерфейс управления
Полное описание API SnapApi: доступные методы, структура тела запросов, коды ответов и способы аутентификации. Всё, чтобы собрать интеграцию за один присест.
Описание эндпоинтов
Все запросы отправляются на базовый адрес и возвращают JSON. Ошибки описываются единым объектом с кодом и сообщением.
Базовый URL: https://api.snapapi.io/v2. Методы — стандартные HTTP: GET, POST, PATCH, DELETE. Заголовки обязательны: Content-Type: application/json и Authorization: Bearer <токен>. Лимиты: 600 запросов в минуту на проект, тело запроса до 1 МБ.
Каждый ответ содержит поле request_id — пригодится при обращении в поддержку. Успешные ответы возвращают статус 200–201, ошибки — 4xx или 5xx с объектом error (code, message, details).
Методы
Набор, который покрывает 90% задач: проекты, развёртывания, логи и метрики.
Список проектов текущего аккаунта. Поддерживает пагинацию через ?limit= и ?cursor=. Возвращает id, name, status и created_at.
Запускает развёртывание. Тело: {project_id, ref, env}. Возвращает объект деплоя с состоянием pending и ссылкой на превью.
Метрики за период: запросы, задержка p95, расход CPU и памяти. Параметры: ?from=, ?to=, ?window=60s.
Стрим логов приложения. Фильтры по уровню и поиску по тексту: ?level=error&q=timeout. Поддерживает режим tail в реальном времени.
Обновление настроек проекта: название, домен, переменные окружения. Изменения применяются без простоя и не требуют пересборки.
Останавливает и удаляет развёртывание. Тело не требуется. Возвращает 204 при успехе; активные сессии завершаются за 10 секунд.
Примеры кода
Один и тот же вызов — запуск развёртывания — на cURL, Python и Node.js. Скопируйте и подставьте свой токен.
curl -X POST https://api.snapapi.io/v2/deployments
-H "Authorization: Bearer sk_live_9f2a…"
-H "Content-Type: application/json"
-d '{"project_id":"prj_482","ref":"main","env":"prod"}'
import requests
r = requests.post("https://api.snapapi.io/v2/deployments",
headers={"Authorization": "Bearer sk_live_9f2a…"},
json={"project_id": "prj_482", "ref": "main", "env": "prod"})
print(r.json()["id"])
const res = await fetch("https://api.snapapi.io/v2/deployments", {
method: "POST",
headers: { "Authorization": "Bearer sk_live_9f2a…", "Content-Type": "application/json" },
body: JSON.stringify({ project_id: "prj_482", ref: "main", env: "prod" })
});
console.log((await res.json()).id);
Генерация токенов
Токены создаются по ролям и с ограниченным сроком действия. Полный список доступных через GET /tokens.
Аутентификация и безопасность
Шифрование в пути, строгие роли и мгновенная отзываемость ключей — без лишних настроек.
Все соединения идут по TLS 1.3, а токены передаются только в заголовке Authorization. Роли определяют доступ: admin управляет проектами и токенами, deploy запускает развёртывания, read — только чтение метрик и логов.
Каждый токен можно отозвать одним вызовом DELETE /tokens/{id} — он перестаёт работать мгновенно. Мы храним ключи в зашифрованном виде и никогда не показываем полный токен повторно после создания. При аномальной нагрузке включаются автоматические лимиты и оповещения.
Вопросы
Не нашли ответ — напишите в поддержку, отвечаем в течение рабочего дня.
Создайте токен и отправьте первый запрос за пару минут — полная документация и примеры уже на этой странице.