VPS.org API

Документація з програмного інтерфейсу REST

API доменів

Шукати наявні назви доменів, зареєструвати і відновити домени, керувати їх серверами назв і автоматично відновлювати. Домени ідентифікуються за їх uid.

Кінцеві точки 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 Ціни в USD як десяткові рядки
whois_privacy, transfer_lock boolean Параметри блокування конфіденційності WHOIS і реєстратора
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 Не знайдено або він належить іншому обліковому запису
POST /api/v1/domains/search/

Можливість пошуку домену

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

Потрібний дозвіл: domains:search

Параметри тіла запиту

Параметр Тип Обов'язково Опис
domain string Так Назва з суфіксом або без суфікса, наприклад mysite або mysite.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
}

Ціни - це цифри у USD на один рік, їх не можна вказувати на назви, які не доступні. Показані ціни - це проекція.

Коди стану відповіді

200 Успіх
400 Відсутній домен або містить символи, відмінні від літер, цифр і гіфенсів
500 Спроба пошуку реєстрації зазнала невдачі. Спробуйте ще раз пізніше.
POST /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 Не вдалося опрацювати сплату, або реєстратор відхилив реєстрацію після сплати. У другому випадку повідомлення про помилку повідомляє про те, чи пройшов процес рефінансування.
POST /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 з API DNS, скористайтеся командою ns1. vps.org, ns2. vps.org і ns3. vps.org і створіть зону для домену.

Потрібний дозвіл: 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 немає іменіserver1
404 Не знайдено або він належить іншому обліковому запису
500 Спроба оновлення зазнала невдачі; у тілі є поля помилок і повідомлень
PUT /api/v1/domains/{uuid}/auto-renew/

Увімкнути або вимкнути автоматичне оновлення

Встановлює авто_ renew і повертає оновлений об' єкт домену. Надіслати увімкнено як булівське значення JSON: будь- який непорожній рядок, зокрема рядок false, вмикає автоматичне оновлення.

Потрібний дозвіл: 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 Не знайдено або він належить іншому обліковому запису

Нотатки