VPS.org API

Документация REST API

Домена API

Поиск имеющихся доменных имен, регистрация и обновление доменов, управление их именами серверов и автообновление. Домена идентифицируются по их uuid.

Конечные точки 7
Базовый путь /api/v1/domains
ПОЛУЧАТЬ /api/v1/domains/

Список всех доменов

Возвращает домена, зарегистрированные на вашем счете, 25 на страницу. Список не имеет фильтров.

Требуемое разрешение: domains:list

Пример запроса

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/domains/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/domains/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for domain in response.json()["results"]:
    print(domain["domain_name"], domain["status"], domain["expiration_date"])
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

Пример ответа

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
      "domain_name": "example.com",
      "status": "active",
      "registrar": "dynadot",
      "registration_date": "2026-01-15T10:30:00Z",
      "expiration_date": "2027-01-15T10:30:00Z",
      "days_until_expiration": 122,
      "is_expired": false,
      "needs_renewal_soon": false,
      "auto_renew": true,
      "renewal_period_years": 1,
      "registration_price": "12.64",
      "renewal_price": "12.64",
      "whois_privacy": true,
      "nameserver1": "ns1.vps.org",
      "nameserver2": "ns2.vps.org",
      "nameserver3": "ns3.vps.org",
      "nameserver4": null,
      "transfer_lock": true,
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-09-01T08:12:40Z"
    }
  ]
}

Поля ответа

Полевая Тип Описание
uuid string Идентификатор домена, используемый в других конечных точках домена
status string active, pending, expired, cancelled, transferred
registrar string Секретарь: Домена
registration_date, expiration_date datetime Когда дом был зарегистрирован и когда он истекает. Срок действия_дата может быть ничтожным.
days_until_expiration integer | null Целые дни до истечения срока действия_дата, отрицательное значение после истечения срока
is_expired, needs_renewal_soon boolean Срок действия домена истек и срок его действия истекает в течение следующих 30 дней
auto_renew, renewal_period_years boolean, integer Продляет ли дом автоматически и сколько лет
registration_price, renewal_price string Цены в долл. США как десятичные строки
whois_privacy, transfer_lock boolean В. Настройка системы передачи данных и систем регистрации
nameserver1 to nameserver4 string | null Имя домена серверов
created_at, updated_at datetime Когда была создана запись и последний раз она была изменена (ISO 8601, UTC)
ПОЛУЧАТЬ /api/v1/domains/{uuid}/

Получить подробности области

Возвращает один домен с полем выше.

Требуемое разрешение: domains:list

curl -X GET "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Коды состояния ответа

200 Успех
404 Не найдена, или принадлежит другому счету.
ДОЛЖНОСТНЫЕ ЛИЦА /api/v1/domains/search/

Поиск

Проверяет, имеется ли имя в 20 популярных расширениях (com, net, org, io, dev, co, app, ai и более), плюс расширение, которое вы напечатали, если оно не среди них. Результаты начинаются с точного совпадения, затем доступны имена, затем взяты.

Требуемое разрешение: domains:search

Параметры тела запроса

Параметр Тип Необходимый Описание
domain string Да Имя с расширением или без него, например yisite или yite.com (2-63 символа)

Пример запроса

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/domains/search/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.com"}'
import requests

url = "https://admin.vps.org/api/v1/domains/search/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"domain": "mysite.com"})
for result in response.json()["results"]:
    if result["available"]:
        print(result["domain"], result["registration_price"], result["renewal_price"])

Пример ответа

{
  "results": [
    {
      "domain": "mysite.com",
      "available": false,
      "price": null,
      "registration_price": null,
      "renewal_price": null,
      "tld": "com",
      "is_exact_match": true
    },
    {
      "domain": "mysite.dev",
      "available": true,
      "price": 17.24,
      "registration_price": 17.24,
      "renewal_price": 17.24,
      "tld": "dev",
      "is_exact_match": false
    }
  ],
  "base_domain": "mysite",
  "search_count": 20
}

Цены представляют собой цифры в долл. США за один год и не имеют юридической силы для недоступных названий.

Коды состояния ответа

200 Успех
400 Недостоверный домен или содержит другие символы, кроме букв, цифр и дефенов
500 Поиск не удалось.
ДОЛЖНОСТНЫЕ ЛИЦА /api/v1/domains/register/

Зарегистрировать новый домен

Регистрация домена и взимание платы за сэкономленный платеж. Наличие и цена проверяются у регистратора еще раз перед предъявлением обвинения. Контактные данные регистратора взяты из вашего счета. Если регистратор откажется от регистрации после уплаты, платеж возмещается.

Требуемое разрешение: domains:register (с разбивкой по областям:*)

Параметры тела запроса

Параметр Тип Необходимый Описание
domain string Да Полное имя домена, включая его расширение, например.com
years integer Нет Период регистрации, от 1 до 10 (по умолчанию 1). Цена равна годовой цене, умноженной на число лет. .ai требует минимум 2 года; меньшее значение возвращает 400.
curl -X POST "https://admin.vps.org/api/v1/domains/register/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.dev", "years": 1}'

Пример ответа

{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "domain_name": "mysite.dev",
  "message": "mysite.dev registered successfully!"
}

Коды состояния ответа

201 Зарегистрировано домен
400 Неверный домен, домен больше недоступен, цена не может быть проверена, устаревший метод платежа или платеж не был осуществлен
402 Отсутствие метода оплаты по документам или неоплаченные счета-фактуры
500 Во втором случае в сообщении об ошибке указывается, было ли возвращено возмещение.
ДОЛЖНОСТНЫЕ ЛИЦА /api/v1/domains/{uuid}/renew/

Обновить область

Возобновляет область и взимает с нее за каждый год цену за ваш метод сберегательных платежей.

Требуемое разрешение: domains:renew

Параметры тела запроса

Параметр Тип Необходимый Описание
years integer Нет Годы прибавления, 1-10 (невыполнение 1)
curl -X POST "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"years": 1}'
{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "new_expiration": "2028-01-15T10:30:00+00:00",
  "message": "example.com renewed successfully for 1 year(s)!"
}

Коды состояния ответа

200 Обновление области
400 Недействительные годы, цена обновления домена, неиспользуемый метод платежа или неисправность платежа
404 Не найдена, или принадлежит другому счету.
500 Платежи не могли быть обработаны или платеж прошел, но продление срока действия регистратора не дало результата.
PUT /api/v1/domains/{uuid}/nameservers/

Обновить серверы имени

Введите в регистратор имя домена и возвращайте обновленный объект домена. Для управления DNS с DNS API, используйте ns1.vps.org, ns2.vps.org и ns3.zqx0xxqz и создайте зону для домена.

Требуемое разрешение: domains:update

Параметры тела запроса

Параметр Тип Необходимый Описание
nameserver1 string Да Имя сервера
nameserver2, nameserver3, nameserver4 string Нет Дополнительное имя сервера
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/nameservers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nameserver1": "ns1.vps.org", "nameserver2": "ns2.vps.org", "nameserver3": "ns3.vps.org"}'

Коды состояния ответа

200 Обновленные серверы имени; тело является доменом объекта
400 Имя сервер1 отсутствует
404 Не найдена, или принадлежит другому счету.
500 Обновить не удалось; у тела есть ошибка и поля сообщений
PUT /api/v1/domains/{uuid}/auto-renew/

Авто-возобновление включено или отключено

Установит авто_новый и возвращает обновленный объект домена. Отправляет в качестве булевого движка JSON: любая непустостая строка, включая струну фальшивой, автоматически возобновляет.

Требуемое разрешение: domains:update

curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/auto-renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

Коды состояния ответа

200 Закрепление сохранено; тело является доменом объекта
400 не хватает
404 Не найдена, или принадлежит другому счету.

Примечания