VPS.org API

REST API Documentation

Domains API

Søg efter tilgængelige domænenavne, registrere og forny domæner, og administrere deres navneservere og auto-fornyelse. Domæner er identificeret af deres uuid.

Endepunkter 7
Basissti /api/v1/domains
/api/v1/domains/

Liste over alle domæner

Returnerer de domæner, der er registreret på din konto, 25 pr. side. Listen har ingen filtre.

Krævet tilladelse: domains:list

Eksempel på anmodning

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

Eksempel på svar

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

Svarfelter

Felt Type Description
uuid string Domæneidentifikator anvendt i de andre domæne- endpoints
status string active, pending, expired, cancelled, transferred
registrar string domænets justitssekretær
registration_date, expiration_date datetime Når domænet blev registreret og når det udløber. udløb_ dato kan være nul.
days_until_expiration integer | null Hele dage indtil udløb_dato, negativ én gang udløbet
is_expired, needs_renewal_soon boolean Om domænet er udløbet, og om det udløber inden for de næste 30 dage
auto_renew, renewal_period_years boolean, integer Om domænet fornyer automatisk, og hvor mange år
registration_price, renewal_price string Priser i USD som decimalstrenge
whois_privacy, transfer_lock boolean WHOIS indstillinger for privatliv og registreringsoverførelseslåse
nameserver1 to nameserver4 string | null Domænets navneservere
created_at, updated_at datetime Da rekorden blev oprettet og sidst ændret (ISO 8601, UTC)
/api/v1/domains/{uuid}/

Få domænedetaljer

Returnerer et domæneobjekt med felterne ovenfor.

Krævet tilladelse: domains:list

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

Svarstatuskoder

200 Succes
404 Ikke fundet, eller det tilhører en anden konto
POST /api/v1/domains/search/

Søg domæne Tilgængelighed

Kontrollerer, om et navn er tilgængeligt på tværs af omkring 20 populære udvidelser (com, netto, org, io, dev, co, app, ai og mere), plus den udvidelse, du indtastede, hvis det ikke er blandt dem. Resultater starter med den nøjagtige match, så tilgængelige navne, derefter taget dem.

Krævet tilladelse: domains:search

Parametre for anmodningstekst

Parameter Type Påkrævet Description
domain string Ja Et navn med eller uden en udvidelse, f.eks. mysite eller mysite.com (2 til 63 tegn)

Eksempel på anmodning

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

Eksempel på svar

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

Priserne er tal i USD for et år og er nul for navne, der ikke er tilgængelige. De viste priser er illustrative.

Svarstatuskoder

200 Succes
400 Manglende domæne, eller det indeholder andre tegn end bogstaver, cifre og bindestreger
500 Opslagsværket mislykkedes.
POST /api/v1/domains/register/

Registrer nyt domæne

Registrerer et domæne og opkræver din gemte betalingsmetode. Tilgængelighed og pris kontrolleres igen hos registratoren lige før afgiften. Kontaktoplysningerne for registranten tages fra din kontoprofil. Hvis registratoren afviser registreringen efter gebyret, refunderes betalingen.

Krævet tilladelse: domains:register (tildelt af områder:*)

Parametre for anmodningstekst

Parameter Type Påkrævet Description
domain string Ja Det fulde domænenavn, herunder dets udvidelse, for eksempel.com
years integer No Registreringsperiode, 1 til 10 (standard 1). Prisen er den årlige pris gange år..ai kræver mindst 2 år; en mindre værdi giver 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}'

Eksempel på svar

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

Svarstatuskoder

201 Domæne registreret
400 Ugyldigt domæne, domæne ikke længere tilgængelig, prisen kunne ikke verificeres, forældet betalingsmetode, eller betalingen mislykkedes
402 Ingen betalingsmetode for aktuar eller ubetalte fakturaer
500 Betalingen kunne ikke behandles, eller registratoren afviste registreringen efter betaling. I det andet tilfælde fejlmeddelelsen siger, om restitutionen gik igennem.
POST /api/v1/domains/{uuid}/renew/

Forny et domæne

Fornyer domænet og opkræver sin fornyelse_pris for hvert år til din gemte betalingsmetode.

Krævet tilladelse: domains:renew

Parametre for anmodningstekst

Parameter Type Påkrævet Description
years integer No År at tilføje, 1 til 10 (standard 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)!"
}

Svarstatuskoder

200 Område fornyet
400 Ugyldige år, ingen fornyelsespris for domænet, ingen brugbar betalingsmetode, eller betalingen mislykkedes
404 Ikke fundet, eller det tilhører en anden konto
500 Betalingen kunne ikke behandles, eller betalingen gik igennem, men den registrator fornyelse mislykkedes. Kontakt support i så fald.
PUT /api/v1/domains/{uuid}/nameservers/

Opdatér navneservere

Indstiller domænets navneservere ved registratoren og returnerer det opdaterede domæneobjekt. For at administrere DNS med DNS API, skal du bruge ns1.vps.org, ns2.vps.org og ns3.vps.org og oprette en zone for domænet.

Krævet tilladelse: domains:update

Parametre for anmodningstekst

Parameter Type Påkrævet Description
nameserver1 string Ja Primærnavnserverværtsnavn
nameserver2, nameserver3, nameserver4 string No Yderligere navneserver værtsnavne
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"}'

Svarstatuskoder

200 Navneservere opdateret; kroppen er domæneobjektet
400 nameserver1 mangler
404 Ikke fundet, eller det tilhører en anden konto
500 Opdateringen mislykkedes; kroppen har fejl- og beskedfelter
PUT /api/v1/domains/{uuid}/auto-renew/

Slå automatisk fornyelse til eller fra

Sætter auto_ renew og returnerer det opdaterede domæneobjekt. Send aktiveret som en JSON- boolean: enhver ikke- tom streng, herunder strengen falsk, tænder automatisk fornyelse.

Krævet tilladelse: 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}'

Svarstatuskoder

200 Indstilling gemt; kroppen er domæne objektet
400 aktiveret mangler
404 Ikke fundet, eller det tilhører en anden konto

Bemærkninger