VPS.org API

REST API dokumentacija

Domain API

Pretraži dostupna imena domena, registriraj i obnovi domene, upravljaj njihovim nameserverima i automatskim obnavljanjem. Domene se identificiraju po njihovom uuid-u.

Krajnje tačke 7
Osnovni put /api/v1/domains
DOBITI /api/v1/domains/

Prikaži sve domene

Vraća domene registrirane na vašem računu, 25 po stranici. Lista nema filtera.

Potrebna dozvola: domains:list

Primjer zahtjeva

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

Primjer odgovora

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

Polja za odgovor

Polje Tip Opis
uuid string Domenski identifikator korišten u drugim domenama krajnjih tačaka
status string active, pending, expired, cancelled, transferred
registrar string Registrator domene
registration_date, expiration_date datetime Kada je domena registrirana i kada istječe. expiration_date može biti null.
days_until_expiration integer | null Cijeli dani do datuma_istek, negativno nakon isteka
is_expired, needs_renewal_soon boolean Da li je domena istekla, i da li će isteći u narednih 30 dana
auto_renew, renewal_period_years boolean, integer Da li se domena automatski obnavlja, i za koliko godina
registration_price, renewal_price string Cijene u USD kao decimalni nizovi
whois_privacy, transfer_lock boolean WHOIS privatnost i registriranje transfera zaključavanja postavki
nameserver1 to nameserver4 string | null Domain name servers
created_at, updated_at datetime Kada je zapis napravljen i zadnji put izmijenjen (ISO 8601, UTC)
DOBITI /api/v1/domains/{uuid}/

Dohvati detalje o domeni

Vraća jedan domen objekt sa poljima iznad.

Potrebna dozvola: domains:list

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

Kodovi statusa odgovora

200 Uspjeh
404 Nije pronađen, ili pripada drugom računu
POST /api/v1/domains/search/

Pretraži dostupnost domena

Provjera da li je ime dostupno preko oko 20 popularnih ekstenzija (com, net, org, io, dev, co, app, ai i više), plus ekstenzija koju ste upisali ako nije među njima. Rezultati počinju sa tačnim podudaranjem, zatim dostupnim imenima, zatim korištenim.

Potrebna dozvola: domains:search

Zahtjev za parametre tijela

Parametar Tip Obavezno Opis
domain string Da Ime sa ili bez ekstenzije, naprimjer mysite ili mysite.com (2 do 63 znakova)

Primjer zahtjeva

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

Primjer odgovora

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

Cijene su brojevi u USD za jednu godinu i nule za imena koja nisu dostupna. Cijene prikazane su ilustrativne.

Kodovi statusa odgovora

200 Uspjeh
400 Nedostaje domena, ili sadrži znakove osim slova, cifara i crtica
500 Pretraživanje registra nije uspjelo. Pokušajte ponovo kasnije.
POST /api/v1/domains/register/

Registrujte novu domenu

Registrira domenu i naplaćuje vaš spremljeni način plaćanja. Dostupnost i cijena se ponovno provjeravaju kod registratora neposredno prije naplate. Kontakt podaci registratora se uzimaju iz vašeg računa. Ako registrator odbije registraciju nakon naplate, plaćanje se vraća.

Potrebna dozvola: domains:register (dodijeljeno od strane domena:*)

Zahtjev za parametre tijela

Parametar Tip Obavezno Opis
domain string Da Puno ime domene uključujući i njenu ekstenziju, na primjer example.com
years integer Ne, ne, ne. Period registracije, 1 do 10 (uobičajeno 1). Cijena je godišnja cijena pomnožena sa godinama..ai zahtijeva najmanje 2 godine; manja vrijednost vraća 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}'

Primjer odgovora

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

Kodovi statusa odgovora

201 Domena registrirana
400 Nevažeći domen, domen više nije dostupan, cijena se nije mogla provjeriti, zastarjeli način plaćanja, ili plaćanje nije uspjelo
402 Nema načina plaćanja u datoteci, ili neplaćeni računi
500 Plaćanje nije moglo biti obrađeno, ili je registrar odbacio registraciju nakon plaćanja. U drugom slučaju poruka o grešci govori da li je povrat novca prošao.
POST /api/v1/domains/{uuid}/renew/

Domena

Obnovi domenu i naplati njenu obnovu_cijenu za svaku godinu na vaš spremljeni način plaćanja.

Potrebna dozvola: domains:renew

Zahtjev za parametre tijela

Parametar Tip Obavezno Opis
years integer Ne, ne, ne. Godina za zbrajanje, 1 do 10 (uobičajeno 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)!"
}

Kodovi statusa odgovora

200 Domena obnovljena
400 Nevažeće godine, nema obnove cijene za domenu, nema upotrebljivog načina plaćanja, ili plaćanje nije uspjelo
404 Nije pronađen, ili pripada drugom računu
500 Plaćanje nije moglo biti obrađeno, ili je plaćanje prošlo ali obnova registratora nije uspjela. Kontaktirajte podršku u tom slučaju.
PUT /api/v1/domains/{uuid}/nameservers/

Nameservers

Postavlja domenske nameservere kod registratora i vraća ažurirani domenski objekt. Za upravljanje DNS-om sa DNS API-jem, koristite ns1.vps.org, ns2.vps.org i ns3.vps.org i napravite zonu za domenu.

Potrebna dozvola: domains:update

Zahtjev za parametre tijela

Parametar Tip Obavezno Opis
nameserver1 string Da Primarni nameserver hostname
nameserver2, nameserver3, nameserver4 string Ne, ne, ne. Dodatni nameserver hostnames
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"}'

Kodovi statusa odgovora

200 Nameservers updated; the body is the domain object
400 Nedostaje nameserver1
404 Nije pronađen, ili pripada drugom računu
500 Ažuriranje nije uspjelo; tijelo ima polja greške i poruke
PUT /api/v1/domains/{uuid}/auto-renew/

Uključi ili isključi automatsko obnavljanje

Postavlja auto_renew i vraća ažurirani domen objekt. Pošalji omogućeno kao JSON boolean: bilo koji ne-prazan string, uključujući string false, uključuje automatsko obnavljanje.

Potrebna dozvola: 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}'

Kodovi statusa odgovora

200 Postavka je spremljena; tijelo je objekt domene
400 omogućeno nedostaje
404 Nije pronađen, ili pripada drugom računu

Bilješke