Маршруты и HTTP-глаголы
Стандартные пути: GET /v3/projects/:id, POST /v3/deployments. Каждый метод соответствует одному действию — без «магических» флагов в URL.
Документация · Центр знаний
Всё, что нужно, чтобы за 20 минут перейти от пустой папки к работающему сервису: учебники, синтаксис и ответы на технические вопросы — без воды и без сюрпризов.
Быстрый старт
Ни одной лишней настройки: создайте проект, свяжите репозиторий и получите публичную ссылку на API.
1. Создайте аккаунт — достаточно e-mail или GitHub; карта не нужна. На бесплатном тарифе «Пробный» вы получаете 10 000 запросов в месяц и два проекта.
2. Создайте проект и выберите язык (Node.js, Python, Go или Rust). Платформа сама подготовит шаблон с примером эндпоинта /health.
3. Свяжите репозиторий и нажмите «развернуть». Версионирование и превью-ссылки появятся автоматически.
4. Протестируйте из терминала:
curl https://api.snapapi.dev/v3/projects/7f3a/health{ "status": "ok", "latency_ms": 31, "region": "eu-north-1" }
5. Зафиксируйте релиз — тег v1.0.0 станет стабильной версией. Готово: ваш сервис уже отвечает.
Введение в REST API
Единые правила маршрутов, пагинации и форматов — чтобы вы писали код один раз и не гуглили «как тут у них».
Стандартные пути: GET /v3/projects/:id, POST /v3/deployments. Каждый метод соответствует одному действию — без «магических» флагов в URL.
Курсорная пагинация через ?cursor= и ?limit=100. Фильтры по дате, статусу и региону передаются в query-параметрах, а не в теле запроса.
Всегда JSON с полями data, meta и request_id. Коды состояния строго по RFC 7231 — 200, 201, 400, 404, 429.
Настройка окружения
Разделите dev, staging и production так, чтобы деплой не стал гаданием, а секреты не утекли в лог.
Каждый проект по умолчанию имеет три окружения: development, staging и production. Переменные задаются в консоли или через файл env.yaml в корне репозитория:
SNAPAPI_REGION: eu-north-1SNAPAPI_LOG_LEVEL: infoDATABASE_URL: snap://projects/7f3a/db
Секреты (ключи БД, токены) шифруются при записи и доступны только на этапе сборки — в логах они заменяются на ***. Чтобы переключить окружение в CLI, достаточно snapapi use staging.
Рекомендуем держать SNAPAPI_LOG_LEVEL: debug только в development — на production уровень info снижает объём записей и расход дискового пространства.
Обработка ошибок
Каждый ответ с ошибкой содержит request_id, машинный код и человекочитаемое описание. Ниже — самые частые сценарии.
Retry-After и поле meta.quota. Увеличьте тариф или добавьте локальную очередь — платформа не роняет сервис, а мягко ограничивает поток.Authorization: Bearer sk_live_.... Тестовые (sk_test_) и боевые (sk_live_) ключи не взаимозаменяемы. Если ключ активен, убедитесь, что он привязан к нужному проекту и окружению.SNAPAPI_LOG_LEVEL: debug в development и повторите запрос. Затем откройте вкладку «Логи» → введите request_id из ответа — там будет полный трассировочный путь по всем узлам.Retry-After. При аптайме 99,99% такие окна длятся не более 90 секунд, и балансировщик автоматически направляет трафик на соседний узел.База данных и хранилище
Подключите базу одной строкой, а файлы складывайте в S3-совместимое хранилище. Бэкапы и репликация работают автоматически.
К проекту можно подключить управляемую базу на Postgres 15 или на SQLite для лёгких сервисов. Подключение выглядит как строка snap://projects/7f3a/db — драйвер сам обрабатывает пул соединений и репликацию между узлами eu-north-1 и eu-west-2.
Объектное хранилище совместимо с S3 API: достаточно указать SNAPAPI_BUCKET и использовать любой из проверенных клиентов. Все объекты хранятся в трёх репликах, а удаление — только через версию, что защищает от случайной потери.
Автоматический бэкап выполняется каждые 6 часов; снимки сохраняются 30 дней и доступны для мгновенного отката. Для тарифа «Бизнес» включена горячая репликация с задержкой менее 200 мс.
Создайте аккаунт за минуту и получите полный доступ к документации, CLI и песочнице — без карты и без обязательств.