VPS.org API

REST API Documentation

Domains API

Αναζήτηση για τα διαθέσιμα ονόματα τομέα, εγγραφή και ανανέωση τομέων, και να διαχειριστεί τους nameservers και την αυτόματη ανανέωση τους.

Τελικά σημεία 7
Βασική διαδρομή /api/v1/domains
ΠΑΙΡΝΩ /api/v1/domains/

Λίστα όλων των τομέων

Επιστρέφει τους τομείς που είναι εγγεγραμμένοι στο λογαριασμό σας, 25 ανά σελίδα.

Απαιτείται άδεια: domains:list

Παράδειγμα Αιτήματος

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

Παράδειγμα απάντησης

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

Πεδία απόκρισης

Πεδίο Τύπος Description
uuid string Κωδικός τομέα που χρησιμοποιείται στα άλλα τελικά σημεία του τομέα
status string active, pending, expired, cancelled, transferred
registrar string Καταχωρήστε τον τομέα
registration_date, expiration_date datetime Όταν το πεδίο ήταν εγγεγραμμένο και όταν λήγει.
days_until_expiration integer | null Ολόκληρες ημέρες μέχρι τη λήξη της προθεσμίας, αρνητικές μόλις λήξει
is_expired, needs_renewal_soon boolean Αν το πεδίο έχει λήξει, και αν λήγει εντός των επόμενων 30 ημερών
auto_renew, renewal_period_years boolean, integer Αν ο τομέας ανανεώνεται αυτόματα, και για πόσα χρόνια
registration_price, renewal_price string Τιμές σε USD ως δεκαδικά νήματα
whois_privacy, transfer_lock boolean Ρυθμίσεις κλειδαριών προσωπικών δεδομένων και εγγραφής
nameserver1 to nameserver4 string | null Οι ονομαστές του τομέα
created_at, updated_at datetime Όταν δημιουργήθηκε η εγγραφή και τροποποιήθηκε τελευταία (ISO 8601, UTC)
ΠΑΙΡΝΩ /api/v1/domains/{uuid}/

Λήψη λεπτομερειών τομέα

Επιστρέφει ένα αντικείμενο τομέα με τα πεδία παραπάνω.

Απαιτείται άδεια: domains:list

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

Κωδικοί κατάστασης απόκρισης

200 Επιτυχία
404 Δεν βρέθηκε ή ανήκει σε άλλο λογαριασμό
POST /api/v1/domains/search/

Αναζήτηση Διαθεσιμότητα τομέα

Ελέγχει αν ένα όνομα είναι διαθέσιμο σε περίπου 20 δημοφιλείς επεκτάσεις (com, net, org, io, dev, co, app, ai και περισσότερο), συν την επέκταση που πληκτρολογήσατε αν δεν είναι μεταξύ τους. Αποτελέσματα αρχίζουν με την ακριβή αντιστοιχία, στη συνέχεια διαθέσιμα ονόματα, στη συνέχεια λαμβάνονται αυτά.

Απαιτείται άδεια: domains:search

Παράμετροι σώματος αιτήματος

Parameter Τύπος Υποχρεούμαι Description
domain string Ναί Όνομα με ή χωρίς επέκταση, για παράδειγμα mysite ή mysite.com (2 έως 63 χαρακτήρες)

Παράδειγμα Αιτήματος

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

Παράδειγμα απάντησης

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

Οι τιμές είναι αριθμοί σε USD για ένα έτος και είναι άκυρες για τις ονομασίες που δεν είναι διαθέσιμες. Οι τιμές που εμφανίζονται είναι ενδεικτικά.

Κωδικοί κατάστασης απόκρισης

200 Επιτυχία
400 Λείπει ο τομέας, ή περιέχει χαρακτήρες εκτός από γράμματα, ψηφία και παύλες
500 Η αναζήτηση του μητρώου απέτυχε.
POST /api/v1/domains/register/

Εγγραφή νέου τομέα

Καταχωρίζει ένα τομέα και χρεώνει την αποθηκευμένη μέθοδο πληρωμής σας. Διαθεσιμότητα και η τιμή ελέγχονται με τον καταχωρητή και πάλι ακριβώς πριν από την χρέωση. Τα στοιχεία επικοινωνίας καταχωρητή λαμβάνονται από το προφίλ του λογαριασμού σας. Εάν ο καταχωρητής απορρίψει την εγγραφή μετά την χρέωση, η πληρωμή επιστρέφεται.

Απαιτείται άδεια: domains:register (επιχορηγείται από τομείς:*)

Παράμετροι σώματος αιτήματος

Parameter Τύπος Υποχρεούμαι Description
domain string Ναί Το πλήρες όνομα τομέα συμπεριλαμβανομένης της επέκτασης του, για παράδειγμα.com
years integer No Περίοδος καταχώρισης, 1 έως 10 (προκαθορισμένη 1). Η τιμή είναι η ετήσια τιμή επί χρόνια..ai απαιτεί τουλάχιστον 2 έτη? μια μικρότερη τιμή επιστρέφει 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}'

Παράδειγμα απάντησης

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

Κωδικοί κατάστασης απόκρισης

201 Καταχωρήθηκε πεδίο
400 Μη έγκυρο πεδίο, πεδίο που δεν είναι πλέον διαθέσιμο, η τιμή δεν μπορούσε να επαληθευτεί, ξεπερασμένη μέθοδος πληρωμής ή η πληρωμή απέτυχε
402 Δεν υπάρχει μέθοδος πληρωμής στο αρχείο ή μη καταβληθέντα τιμολόγια
500 Η πληρωμή δεν μπορούσε να υποβληθεί σε επεξεργασία, ή ο γραμματέας απέρριψε την εγγραφή μετά την πληρωμή. Στη δεύτερη περίπτωση, το μήνυμα σφάλματος αναφέρει εάν η επιστροφή έγινε.
POST /api/v1/domains/{uuid}/renew/

Ανανέωση Χώρου

Ανακαινίζει τον τομέα και χρεώνει την ανανέωση_τιμή για κάθε χρόνο με τον τρόπο πληρωμής που έχετε αποθηκεύσει.

Απαιτείται άδεια: domains:renew

Παράμετροι σώματος αιτήματος

Parameter Τύπος Υποχρεούμαι Description
years integer No Έτη για να προσθέσετε, 1 έως 10 (προκαθορισμένο 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)!"
}

Κωδικοί κατάστασης απόκρισης

200 Ανανέωση τομέα
400 Μη έγκυροι χρόνοι, καμία τιμή ανανέωσης για τον τομέα, καμία μέθοδος πληρωμής που χρησιμοποιείται ή η πληρωμή απέτυχε
404 Δεν βρέθηκε ή ανήκει σε άλλο λογαριασμό
500 Η πληρωμή δεν μπορούσε να υποστεί επεξεργασία, ή η πληρωμή πέρασε, αλλά η ανανέωση του μητρώου απέτυχε.
PUT /api/v1/domains/{uuid}/nameservers/

Ενημέρωση των ονομαζόμενων εξυπηρετητών

Ορίζει τους nameservers του domain στο μητρώο και επιστρέφει το ενημερωμένο αντικείμενο domain. Για να διαχειριστείτε το DNS με το DNS API, χρησιμοποιήστε ns1.vps.org, ns2.vps.org και ns3.zqx0qz και δημιουργήστε μια ζώνη για τον τομέα.

Απαιτείται άδεια: domains:update

Παράμετροι σώματος αιτήματος

Parameter Τύπος Υποχρεούμαι Description
nameserver1 string Ναί Όνομα κεντρικού εξυπηρετητή ονόματος
nameserver2, nameserver3, nameserver4 string No Πρόσθετα ονόματα φιλοξενούμενων 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"}'

Κωδικοί κατάστασης απόκρισης

200 Οι Nameservers ενημερώνονται; το σώμα είναι το αντικείμενο τομέα
400 λείπει ο εξυπηρετητής 1
404 Δεν βρέθηκε ή ανήκει σε άλλο λογαριασμό
500 Η ενημέρωση απέτυχε; το σώμα έχει πεδία σφαλμάτων και μηνυμάτων
PUT /api/v1/domains/{uuid}/auto-renew/

Ενεργοποίηση ή απενεργοποίηση της αυτόματης ανανέωσης

Ορίζει το auto_renew και επιστρέφει το ενημερωμένο αντικείμενο τομέα. Αποστολή ενεργοποιημένο ως ένα JSON boolean: κάθε μη-άδειο συμβολοσειρά, συμπεριλαμβανομένης της συμβολοσειράς ψευδής, ενεργοποιεί αυτόματα την ανανέωση.

Απαιτείται άδεια: 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}'

Κωδικοί κατάστασης απόκρισης

200 Ρύθμιση αποθηκευμένου; το σώμα είναι το αντικείμενο τομέα
400 ενεργοποιημένη η απουσία
404 Δεν βρέθηκε ή ανήκει σε άλλο λογαριασμό

Σημειώσεις