VPS.org API

Documentazione delle API REST

API dei domini

Cerca nomi di dominio disponibili, registra e rinnova i domini e gestisci i loro nameserver e il rinnovo automatico. I domini sono identificati dal loro uuid.

Punti finali 7
Percorso di base /api/v1/domains
OTTENERE /api/v1/domains/

Elenca tutti i domini

Restituisce i domini registrati nel tuo account, 25 per pagina. L'elenco non ha filtri.

Autorizzazione richiesta: domains:list

Richiesta di esempio

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

Esempio di risposta

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

Campi di risposta

Campo Tipo Designazione delle merci
uuid string identificatore del dominio utilizzato negli altri endpoint di dominio
status string active, pending, expired, cancelled, transferred
registrar string Il cancelliere del Tribunale è tenuto a
registration_date, expiration_date datetime Quando il dominio è stato registrato e quando scade. experience_date può essere nullo.
days_until_expiration integer | null Interi giorni fino alla data di scadenza, negativi una volta scaduto
is_expired, needs_renewal_soon boolean Se il dominio è scaduto e se scade entro i prossimi 30 giorni
auto_renew, renewal_period_years boolean, integer Indica se il dominio si rinnova automaticamente e per quanti anni
registration_price, renewal_price string Prezzi in USD come stringhe decimali
whois_privacy, transfer_lock boolean WHOIS impostazioni di protezione della privacy e del registro di trasferimento
nameserver1 to nameserver4 string | null Server di nomi del dominio
created_at, updated_at datetime Quando il record è stato creato e modificato (ISO 8601, UTC)
OTTENERE /api/v1/domains/{uuid}/

Ottieni dettagli di dominio

Restituisce un oggetto di dominio con i campi sopra riportati.

Autorizzazione richiesta: domains:list

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

Codici di stato della risposta

200 Successo
404 Non trovato, o appartiene ad un altro account
POST /api/v1/domains/search/

Disponibilità di ricerca dominio

Controlla se un nome è disponibile su circa 20 estensioni popolari (com, net, org, io, dev, co, app, ai e altro), più l'estensione che hai digitato se non è tra di loro. I risultati iniziano con la corrispondenza esatta, poi i nomi disponibili, poi prese quelli.

Autorizzazione richiesta: domains:search

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
domain string SÌ Un nome con o senza estensione, per esempio mysite o mysite.com (2 a 63 caratteri)

Richiesta di esempio

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

Esempio di risposta

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

I prezzi sono in USD per un anno e sono nulli per i nomi che non sono disponibili. I prezzi indicati sono illustrativi.

Codici di stato della risposta

200 Successo
400 dominio mancante, o contiene caratteri diversi da lettere, cifre e trattini
500 La ricerca del registro non è riuscita. Riprova più tardi.
POST /api/v1/domains/register/

Registra un nuovo dominio

Registri un dominio e addebita il metodo di pagamento salvato. Disponibilità e prezzo sono controllati con il registrar di nuovo subito prima della carica. I dati di contatto del dichiarante sono presi dal tuo profilo di conto. Se il registrar rifiuta la registrazione dopo la carica, il pagamento viene rimborsato.

Autorizzazione richiesta: domains:register (concessi da domini:*)

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
domain string SÌ Il nome completo del dominio compreso la sua estensione, per esempio.com
years integer No. Periodo di registrazione, da 1 a 10 (default 1). Il prezzo è il prezzo annuale volte anni..ai richiede almeno 2 anni; un valore più piccolo restituisce 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}'

Esempio di risposta

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

Codici di stato della risposta

201 Dominio registrato
400 Dominio non valido, dominio non più disponibile, prezzo non può essere verificato, metodo di pagamento obsoleto, o il pagamento non è riuscito
402 Nessun metodo di pagamento sul file, o fatture non pagate
500 Il pagamento non può essere elaborato, o il registrar ha rifiutato la registrazione dopo il pagamento. Nel secondo caso il messaggio di errore dice se il rimborso è andato attraverso.
POST /api/v1/domains/{uuid}/renew/

Rinnova un dominio

Rinnova il dominio e addebita il suo prezzo_rinnovativo per ogni anno al metodo di pagamento salvato.

Autorizzazione richiesta: domains:renew

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
years integer No. Anni da aggiungere, da 1 a 10 (predefinito 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)!"
}

Codici di stato della risposta

200 Rinnovato dominio
400 Anni non validi, nessun prezzo di rinnovo per il dominio, nessun metodo di pagamento utilizzabile o il pagamento non è riuscito
404 Non trovato, o appartiene ad un altro account
500 Il pagamento non può essere elaborato, o il pagamento è andato attraverso, ma il rinnovo registrar non è riuscito. Contatta il supporto in questo caso.
PUT /api/v1/domains/{uuid}/nameservers/

Aggiorna server nomi

Imposta i nameserver del dominio al registrar e restituisce l'oggetto di dominio aggiornato. Per gestire il DNS con l'API DNS, utilizzare ns1.vps.org, ns2.vps.org e ns3.vps.org e creare una zona per il dominio.

Autorizzazione richiesta: domains:update

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
nameserver1 string SÌ Nome hostname del server dei nomi primario
nameserver2, nameserver3, nameserver4 string No. Nome hostname aggiuntive
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"}'

Codici di stato della risposta

200 Nameserver aggiornati; il corpo è l'oggetto di dominio
400 server dei nomi1 mancante
404 Non trovato, o appartiene ad un altro account
500 L'aggiornamento non è riuscito; il corpo ha campi di errore e di messaggio
PUT /api/v1/domains/{uuid}/auto-renew/

Attiva o disattiva automaticamente

Imposta il _rinnovamento automatico e restituisce l'oggetto di dominio aggiornato. Inviare abilitato come booleano JSON: qualsiasi stringa non vuota, inclusa la stringa false, attiva il rinnovo automatico.

Autorizzazione richiesta: 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}'

Codici di stato della risposta

200 Impostazione salvata; il corpo è l'oggetto di dominio
400 abilitato mancante
404 Non trovato, o appartiene ad un altro account

Osservazioni