Void API — твои домены, серверы и хостинг по REST.
Регистрация и продление доменов, Cloudflare и DNS, заказ и управление VPS-серверами и веб-хостингом — из своего кода, на том же аккаунте и балансе, что и бот.
Объекты и статусы
Domain
{
"id": "0a797218-8ec5-45d5-aa23-cb85c28a7d3b",
"domainName": "example.org",
"status": "ACTIVE", // PENDING · ACTIVE · EXPIRED · FAILED
"nameservers": ["n1.void.cd", "n2.void.cd"],
"price": "16.00", // оплачено за текущий срок
"renewalPrice": "16.00", "renewalYears": 1,
"autoRenew": false,
"expiresAt": "2027-08-28T17:04:38.000Z",
"createdAt": "2026-08-28T17:04:40.113Z",
"blockFlags": [] // "google" · "metamask" · "blockaid" · "registrar"
}Статус домена
PENDING | регистрация в процессе (секунды) |
ACTIVE | твой, резолвится |
EXPIRED | срок истёк; продлевается ещё 30 дней |
FAILED | реестр отказал; деньги возвращены |
Статус зоны
none | не подключён |
pending | ждём смены nameservers |
active | Cloudflare обслуживает зону |
moved | nameservers смотрят в другое место — переподключи или отключи |
Server
{
"id": "3b0c6f1e-9d2a-4c55-8e0b-2f7a9c1d4e60",
"label": "vm-4f2a9c", // наше имя; оно же hostname по умолчанию
"alias": "api-prod", // твоё имя или null
"hostname": "vm-4f2a9c",
"status": "ACTIVE", // PENDING · PROVISIONING · ACTIVE · SUSPENDED · FAILED
"power": "RUNNING", // RUNNING · STOPPED · UNKNOWN
"ip": "203.0.113.25",
"os": "Ubuntu 24.04", "osCode": "ubuntu-24",
"specs": { "vcpu": 2, "ramMb": 4096, "diskGb": 80 },
"region": "PL",
"period": "MONTH", "periodPrice": "13.50", // срок продления и цена каждого продления
"autoRenew": false,
"expiresAt": "2026-12-01T10:00:00.000Z",
"graceEndsAt": null, // задано, пока SUSPENDED: после этой даты сервер удаляется
"createdAt": "2026-11-01T10:00:00.000Z",
"proxy": { "enabled": false, "address": null }, // фронт-прокси и его адрес
"sshKeys": 1, // ключи, поставленные при первой загрузке
"passwordLogin": true,
"app": null // или { code, name, state, url?, note? }; секреты — через /credentials
}Hosting
{
"id": "c41e2a7b-5f30-4d8e-9a61-0b7d3e9f2c18",
"label": "wh3f9a1c",
"status": "ACTIVE", // PENDING · ACTIVE · SUSPENDED · FAILED
"primaryDomain": "example.org",
"panelUrl": "https://…", "login": "wh3f9a1c",
"ip": "…", // для A-записей и FTP
"nameservers": ["…", "…"],
"specs": { "sites": 1, "diskMb": 3072, "bandwidthGb": 0 },
"planId": "8d2f…", // plans[].id из каталога
"period": "MONTH", "periodPrice": "10.00",
"autoRenew": false,
"expiresAt": "2026-12-01T10:00:00.000Z",
"graceEndsAt": null,
"createdAt": "2026-11-01T10:00:00.000Z"
}Статус сервера
PENDING | оплачен, ждёт в очереди на создание |
PROVISIONING | создаётся (Windows: ставится пароль) |
ACTIVE | твой, управляется |
SUSPENDED | срок истёк без оплаты: остановлен, данные хранятся до graceEndsAt; продли, чтобы вернуть |
FAILED | создать не удалось; первый срок возвращён |
Статус хостинга
PENDING | создаётся (секунды) |
ACTIVE | твой, панель открыта |
SUSPENDED | срок истёк без оплаты: пользователь панели заблокирован до graceEndsAt; продли, чтобы вернуть |
FAILED | панель отказала; деньги возвращены |
После graceEndsAt неоплаченный сервер или хостинг-аккаунт удаляется и пропадает из списков.
Уведомления
События по домену — регистрация, продление (ручное или авто), напоминания за 7/3/1 день, попадание в блок-листы — приходят в Telegram-бот на аккаунт независимо от того, какой клиент их вызвал, а также на твои вебхуки, если они настроены. События серверов и хостинга — готов, продлён, апгрейд, напоминания об истечении, приостановка — приходят в бот; вебхуки пока несут только события доменов.
Область и изменения
v1 покрывает домены, Cloudflare, серверы и веб-хостинг. Кое-что пока остаётся только в боте: пополнение баланса, удаление сервера или хостинг-аккаунта, управление сохранёнными SSH-ключами и включение прокси на уже работающем сервере. Аддитивные изменения (новые поля, новые эндпоинты) выходят без предупреждения; всё ломающее выйдет как /v2 при живом v1.
Машиночитаемое описание: openapi.json (OpenAPI 3.0). Вопросы и баги — @void_sup_bot.