VPS.org API

Documentare API REST

API domenii

Căutați numele de domenii disponibili, înregistrați și reînnoiți domenii și gestionați-le serverele de nume și reînnoierea automată. Domeniile sunt identificate de uuid.

Puncte finale 7
Calea de bază /api/v1/domains
OBŢINE /api/v1/domains/

Listați toate domeniile

Returnează domeniile înregistrate în contul dvs., 25 pe pagină. Lista nu are filtre.

Permisul necesar: domains:list

Exemplu de solicitare

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

Exemplu de răspuns

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

Câmpuri de răspuns

Câmp Tip Descriere
uuid string Identificator de domeniu utilizat în celelalte puncte finale de domeniu
status string active, pending, expired, cancelled, transferred
registrar string Registratorul domeniu este ținut la
registration_date, expiration_date datetime Când domeniul a fost înregistrat și când expire. Expiration_ date poate fi nul.
days_until_expiration integer | null Zile întregi până la data expirării, negativă o dată expirat
is_expired, needs_renewal_soon boolean Dacă domeniul a expirat sau dacă expiră în următoarele 30 de zile
auto_renew, renewal_period_years boolean, integer Dacă domeniul reînnoiește automat, și pentru câți ani
registration_price, renewal_price string Prețurile în USD ca corzi decimale
whois_privacy, transfer_lock boolean Setările de blocare a transferului WHOIS și a registrarului
nameserver1 to nameserver4 string | null Servetorii de nume de domeniu
created_at, updated_at datetime Când recordul a fost creat și schimbat ultima (ISO 8601, UTC)
OBŢINE /api/v1/domains/{uuid}/

Obține detalii de domeniu

Returnă un obiect de domeniu cu câmpurile de mai sus.

Permisul necesar: domains:list

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

Coduri de stare a răspunsului

200 Succes
404 Nu a fost găsit, sau aparţine unui alt cont
POST /api/v1/domains/search/

Caută Disponibilitatea domeniului

Verifica dacă un nume este disponibil în aproximativ 20 de extensii populare (com, net, org, io, dev, co, aplicație, ai și mai multe), plus extensia pe care le-ai scris dacă nu este printre ele. Rezultatele încep cu meciul exact, apoi numele disponibile, apoi luate unul.

Permisul necesar: domains:search

Parametrii corpului cererii

Parametrul Tip Necesar Descriere
domain string Da Un nume cu sau fără o extensie, de exemplu, mysite.com (2 până la 63 de caractere)

Exemplu de solicitare

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

Exemplu de răspuns

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

Prețurile sunt numere în USD pentru un an și sunt nule pentru nume care nu sunt disponibile. Prețurile prezentate sunt ilustrative.

Coduri de stare a răspunsului

200 Succes
400 Domeniul lipsă, sau conține caractere altele decât literele, cifrele și tipurile
500 Cautărea registrarului a eşuat.
POST /api/v1/domains/register/

Înregistrați un domeniu nou

Înregistrează un domeniu și tarifează metoda de plată salvată. Disponibilitatea și prețul sunt verificate cu registratorul din nou chiar înainte de taxă. Datele de contact înregistrat sunt luate din profilul contului. Dacă registratorul respinge înregistrarea după taxă, plata este rambursată.

Permisul necesar: domains:register (reducete de domenii:*)

Parametrii corpului cererii

Parametrul Tip Necesar Descriere
domain string Da Numele complet de domeniu, inclusiv extensia sa, de exemplu.com
years integer Nu. Perioada de înregistrare, 1-10 (defect 1). Prețul este perioada anuală de preț an..ai necesită cel puțin 2 ani; o valoare mai mică revine 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}'

Exemplu de răspuns

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

Coduri de stare a răspunsului

201 Domeniul înregistrat
400 Domeniul nu este valid, domeniul nu mai disponibil, pretul nu a putut fi verificat, metoda de plată depășită sau plata eșuată
402 Nu există metodă de plată pe dosar sau facturi nereturnate
500 În al doilea caz, mesajul de eroare spune dacă restituirea a trecut.
POST /api/v1/domains/{uuid}/renew/

Reînnoiește un domeniu

Renouvează domeniul și tarifează reînnoirea_price pentru fiecare an la metoda de plată salvată.

Permisul necesar: domains:renew

Parametrii corpului cererii

Parametrul Tip Necesar Descriere
years integer Nu. Ani de adăugat, 1 la 10 (defect 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)!"
}

Coduri de stare a răspunsului

200 Domeniu reînnoit
400 Anii nevalizi, nici un preţ de reînnoire pentru domeniu, nici o metodă de plată utilizabilă sau plata nu a eșuat
404 Nu a fost găsit, sau aparţine unui alt cont
500 Plata nu a putut fi procesată, sau plata a trecut prin, dar reînnoirea registrarului a eșuat.
PUT /api/v1/domains/{uuid}/nameservers/

Actualizare servere de nume

Setați serverele de nume de domeniu la registrar și returnează obiectul de domeniu actualizat. Pentru a gestiona DNS cu API DNS, utilizați ns1.vps.org, ns2.vps.org și ns3.vps.org și creați o zonă pentru domeniu.

Permisul necesar: domains:update

Parametrii corpului cererii

Parametrul Tip Necesar Descriere
nameserver1 string Da Numele de server primar
nameserver2, nameserver3, nameserver4 string Nu. Numele de nume suplimentar server
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"}'

Coduri de stare a răspunsului

200 Serverul de nume actualizat; corpul este obiectul de domeniu
400 lipsește serverul de nume1
404 Nu a fost găsit, sau aparţine unui alt cont
500 Actualizarea a eșuat; corpul are câmpuri de eroare și mesaj
PUT /api/v1/domains/{uuid}/auto-renew/

Întoarce sau oprire automată

Setează auto_renou și returnează obiectul de domeniu actualizat. Trimite activat ca un boolean JSON: orice string nezbrăcat, inclusiv cordonul fals, se activează auto-reînnoierea.

Permisul necesar: 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}'

Coduri de stare a răspunsului

200 Setarea salvată; corpul este obiectul de domeniu
400 activat lipsește
404 Nu a fost găsit, sau aparţine unui alt cont

Note