REST API
Базовый адрес:
https://vebhost.ru/api/v1. Передавайте ключ в каждом запросе:Authorization: Bearer vh_…. Ключ создаётся в кабинете и показывается полностью только один раз.
Быстрый старт
Этот запрос публикует одностраничный сайт. Если указанный адрес уже принадлежит ключу, будет создана новая версия существующего сайта.
curl -sS https://vebhost.ru/api/v1/sites \
-H "Authorization: Bearer vh_ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"slug":"hello","title":"Привет","html":"<!doctype html><meta charset=utf-8><h1>Привет</h1>"}'
Методы
| Метод | Путь | Назначение |
|---|---|---|
GET | /sites | Список сайтов ключа |
POST | /sites | Опубликовать HTML или заменить сайт целиком |
GET | /sites/{slug} | Карточка сайта |
PATCH | /sites/{slug} | Доступ, статус, SPA и SEO |
DELETE | /sites/{slug} | Удалить сайт со всеми версиями |
GET | /sites/{slug}/files | Список файлов текущей версии |
GET | /sites/{slug}/file?path=… | Прочитать текстовый файл |
PUT | /sites/{slug}/file | Создать или записать один файл |
DELETE | /sites/{slug}/file?path=… | Удалить файл или папку |
POST | /sites/{slug}/files | Пакет файлов и удалений одной версией |
GET | /sites/{slug}/versions | История версий |
POST | /sites/{slug}/rollback | Откат к сохранённой версии |
GET | /sites/{slug}/analytics?days=7 | Статистика сайта |
GET | /sites/{slug}/leads | Последние заявки с форм |
Точечная правка файлов
Запись создаёт новую версию, поэтому изменение можно откатить. Для нескольких связанных правок используйте пакетный метод.
curl -sS -X POST https://vebhost.ru/api/v1/sites/hello/files \
-H "Authorization: Bearer vh_ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"note":"обновил шапку","files":[{"path":"index.html","content":"<!doctype html><h1>Новая версия</h1>"},{"path":"css/app.css","content":"body{margin:0}"}],"delete":["old.js"]}'
Настройки
PATCH /sites/{slug} принимает поля title, access (public, private, password), password, status (live, archived), spa, noindex, seoTitle, seoDescription и seoFiles.
Проверка рисков и ограничения
- Каждая публикация и запись файлов проверяется на майнеры, фишинг, опасный код и мгновенные внешние редиректы.
- Целая HTML-страница — до 5 МБ. Один текстовый файл — до 1 МБ; пакет — до 30 файлов.
- До 30 публикаций, 60 правок и 120 чтений в час на ключ. Лимиты сайтов и хранилища зависят от тарифа.
- Для ограничения ключа разрешёнными IP откройте его настройки в кабинете.
Ошибки
API возвращает подходящий HTTP-статус и JSON с полями error и message. При отказе проверки исправьте указанную проблему: не повторяйте тот же файл без изменений.