VPS.org API

Dokumentacja REST API

API domen

Wyszukaj dostępne nazwy domen, rejestruj i odnawiaj domeny, a także zarządzaj ich serwerami nazw i automatycznie odnawiaj. Domains są identyfikowane przez ich uuid.

Punkty końcowe 7
Ścieżka bazowa /api/v1/domains
DOSTAWAĆ /api/v1/domains/

Wyświetl wszystkie domeny

Zwraca domeny zarejestrowane na Twoim koncie, 25 na stronę. Lista nie ma filtrów.

Wymagane zezwolenie: domains:list

Przykładowe żądanie

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);

Przykładowa odpowiedź

{
  "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"
    }
  ]
}

Pola odpowiedzi

Pole Typ Opis
uuid string Identyfikator domeny używany w innych punktach końcowych domeny
status string active, pending, expired, cancelled, transferred
registrar string Sekretarz, w którym znajduje się domena
registration_date, expiration_date datetime Po zarejestrowaniu domeny i po jej wygaśnięciu. Termin ważności może być nul.
days_until_expiration integer | null Całe dni do terminu ważności, negatywne po upływie terminu
is_expired, needs_renewal_soon boolean Czy domena wygasła, czy wygasła w ciągu następnych 30 dni
auto_renew, renewal_period_years boolean, integer Czy domena odnawia się automatycznie i ile lat
registration_price, renewal_price string Ceny w USD jako wiersz dziesiętny
whois_privacy, transfer_lock boolean Ustawienia blokady przenoszenia rejestracyjnego WHOIS
nameserver1 to nameserver4 string | null Serwery nazw domeny
created_at, updated_at datetime Kiedy płyta została stworzona i ostatnio zmieniona (ISO 8601, UTC)
DOSTAWAĆ /api/v1/domains/{uuid}/

Pobierz szczegóły domeny

Zwraca jeden obiekt domeny z powyższymi polami.

Wymagane zezwolenie: domains:list

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

Kody statusu odpowiedzi

200 Sukces
404 Nie znaleziono, albo należy do innego konta
POST /api/v1/domains/search/

Wyszukaj dostępność domeny

Sprawdza, czy nazwa jest dostępna w ok. 20 popularnych rozszerzeniach (com, netto, org, io, dev, co, app, ai i więcej), plus rozszerzenie, które wpisałeś, jeśli nie jest wśród nich. Wyniki zaczynają się od dokładnego dopasowania, następnie dostępnych nazw, a następnie przyjęte.

Wymagane zezwolenie: domains:search

Parametry treści żądania

Parametr Typ Wymagany Opis
domain string Tak Nazwa z rozszerzeniem lub bez jego wydłużenia, np. mysite lub mysite.com (2 do 63 znaków)

Przykładowe żądanie

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"])

Przykładowa odpowiedź

{
  "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
}

Ceny są numerami w USD na rok i są nulowe dla nazw, które nie są dostępne. Wykazane ceny są ilustratywne.

Kody statusu odpowiedzi

200 Sukces
400 Brak domeny lub zawiera znaki inne niż litery, cyfry i schlee
500 Nie udało się przeszukać rejestratora.
POST /api/v1/domains/register/

Zarejestruj nową domenę

Zarejestruje domenę i opłaty za zaoszczędzoną metodę płatności. Dostępność i cena są sprawdzane w rejestrze ponownie tuż przed opłatą. Data kontaktu rejestratora są pobierane z profilu konta. Jeśli rejestrator odrzuca rejestrację po opłatie, płatności są zwracane.

Wymagane zezwolenie: domains:register (zdobywane według domen:*)

Parametry treści żądania

Parametr Typ Wymagany Opis
domain string Tak Pełna nazwa domeny wraz z rozszerzeniem, na przykład example.com
years integer Nie. Okres rejestracji, 1 do 10 (domyślnie 1). Cena jest rocznym czasem ceny..ai wymaga co najmniej 2 lat; mniejsza wartość zwraca 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}'

Przykładowa odpowiedź

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

Kody statusu odpowiedzi

201 Zarejestrowana domena
400 Nieprawidłowa domena, domena nie jest już dostępna, cena nie mogła zostać zweryfikowana, przestarzała metoda płatności lub nieudana płatność
402 Brak metody płatności na aktach lub niezapłaconych faktur
500 Płatności nie można było przerobić, albo rejestrator odrzucił rejestrację po zapłatie. W drugim przypadku komunikat o błędzie mówi, czy refundacja przebiegła.
POST /api/v1/domains/{uuid}/renew/

Odtworzyć domenę

Odnawia domenę i pobiera swoją rewitalną cenę za każdy rok do zaoszczędzonej metody płatności.

Wymagane zezwolenie: domains:renew

Parametry treści żądania

Parametr Typ Wymagany Opis
years integer Nie. Lata do dodania, 1 do 10 (domyślnie 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)!"
}

Kody statusu odpowiedzi

200 Odnowiono domenę
400 Nieprawidłowe lata, brak ceny odnowienia dla domeny, brak zastosowanej metody płatności lub niepowodzenie płatności
404 Nie znaleziono, albo należy do innego konta
500 Płatności nie można było przerobić, albo też przeszło to, ale nie udało się odnowić rejestracji.
PUT /api/v1/domains/{uuid}/nameservers/

Aktualizuj serwery nazw

Ustawia serwery nazw domeny w rejestrze i zwraca zaktualizowany obiekt domeny. Aby zarządzać DNS z DNS API, użyj ns1.vps.org, ns2.zq0xqz i ns3.zq0xqz i utworzyć strefę dla domeny.

Wymagane zezwolenie: domains:update

Parametry treści żądania

Parametr Typ Wymagany Opis
nameserver1 string Tak Nazwa głównego serwera nazw
nameserver2, nameserver3, nameserver4 string Nie. Dodatkowe nazwy serwerów nazw
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"}'

Kody statusu odpowiedzi

200 serwery nazw zaktualizowane; organizm jest obiektem domeny
400 serwer nazw1 brakuje
404 Nie znaleziono, albo należy do innego konta
500 Aktualizacja nie powiodła się; organ ma pole błędów i wiadomości
PUT /api/v1/domains/{uuid}/auto-renew/

Włącz lub wyłącz automatyczne odnowywanie

Ustawia automatycznie_ odnowić i zwraca zaktualizowany obiekt domeny. Wyślij włączone jako JSON logiczne: dowolne niepuste struny, w tym struny false, włącza automatyczne odnawianie.

Wymagane zezwolenie: 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}'

Kody statusu odpowiedzi

200 Ustawienie zapisanego; ciało jest obiektem domeny
400 Brak aktywacji
404 Nie znaleziono, albo należy do innego konta

Uwagi