Void API — твои домены по REST.

Проверка доступности, регистрация и продление, смена nameservers, подключение домена к Cloudflare и управление его DNS, защитными переключателями и редиректами — из своего кода, на том же аккаунте и балансе, что и бот.

https://api.voidhosting.org/v1 Bearer void_… JSON · UTC · USD строками

Аккаунт

кто я и сколько могу потратить
GET/meключ

Id аккаунта и доступный баланс. Удобно как проверка, что ключ жив.

{ "ok": true, "data": { "id": "2c576de1-…", "balance": "25.07", "currency": "USD", "createdAt": "2026-08-26T12:59:46.538Z" } }

Доступность и цены

до покупки
GET/domains/tlds

Все зоны, которые мы продаём, с ценой регистрации на первый срок. Цена продления может отличаться — см. Продление.

{ "ok": true, "data": [ { "tld": "com", "price": "14.50", "currency": "USD", "years": 1 }, { "tld": "xyz", "price": "5.50", … }, … ] }
GET/domains/check?domain={name}

Одно точное имя. Мы сверяемся с реестром (RDAP / делегирование DNS / whois), а не только со словами регистратора, поэтому «доступно» здесь значит, что купить действительно получится.

queryтип
domainобязательноstringполное имя, например example.xyz
{ "ok": true, "data": { "domain": "example.xyz", "available": true,  "price": "5.50" } }
{ "ok": true, "data": { "domain": "taken.com",   "available": false, "price": null } }
{ "ok": true, "data": { "domain": "x.co.uk",     "available": false, "price": null, "reason": "UNSUPPORTED_TLD" } }
// "reason": "UNCERTAIN" — до реестра не достучались; повтори чуть позже

Домены

то, чем ты владеешь
GET/domains?offset=0&limit=20

Твои домены, новые первыми. Включает ACTIVE, EXPIRED (ещё продлевается) и PENDING (регистрация в процессе).

{ "ok": true, "data": { "items": [ Domain, … ], "total": 3, "offset": 0, "limit": 20 } }
POST/domains201 · списывает баланс

Регистрирует имя на один срок (на два года для зон, где это обязательно) и возвращает домен. Он поднимается на ns1/ns2.voidhosting.org со страницей парковки, пока ты не направишь его в другое место.

телотип
domainобязательноstringимя для регистрации
curl -X POST https://api.voidhosting.org/v1/domains \
  -H "Authorization: Bearer $VOID_KEY" -H "Content-Type: application/json" \
  -d '{"domain":"example.xyz"}'
409 DOMAIN_UNAVAILABLE занят / премиум / зона не продаётся402 INSUFFICIENT_FUNDS502 REGISTRAR_ERROR деньги возвращены
GET/domains/{id}

Один домен по id. blockFlags перечисляет блок-листы, в которых имя сейчас числится (google, metamask, registrar) — проверяются каждые 10 минут.

PATCH/domains/{id}

Смена nameservers и/или флага автопродления. Присылай только то, что меняешь; хотя бы одно поле обязательно.

телотип
nameserversstring[2..4]применяется в реестре сразу; распространение — по TTL зоны
autoRenewbooleanпродлевать с баланса за 7 дней до истечения
{ "nameservers": ["ns1.example.net", "ns2.example.net"], "autoRenew": true }

Домен, подключённый к Cloudflare, должен оставаться на nameservers Cloudflare — сначала отключи (DELETE /cloudflare), если нужны свои.

Продление

сначала цена, потом оплата
GET/domains/{id}/renew-quote

Сколько стоит продление сейчас и до какой даты домен будет продлён. Всегда читай это перед продлением: промо-зоны (.xyz, .live, …) продлеваются дороже регистрации, потому что реестр берёт больше.

{ "ok": true, "data": { "domainId": "0a79…", "domainName": "example.org", "price": "16.00", "years": 1, "expiresAfter": "2028-08-28T17:04:38.000Z" } }
POST/domains/{id}/renewсписывает баланс

Продлевает на один срок по цене из квоты и возвращает обновлённый домен. Работает для ACTIVE доменов и для EXPIRED в течение 30 дней после истечения.

402 INSUFFICIENT_FUNDS502 REGISTRAR_ERROR деньги возвращены
поддержка инфо-канал voidhosting.org Void · api v1