VPS.org API

REST API ҳужжатлаштириш

Доменлар API

Домен номларини топиш, доменларни рўйхатдан ўтказиш ва янгилаш, ном серверларини бошқариш ва автоматик янгилаш. Доменлар уларнинг uuid'лари билан аниқланади.

Tugash nuqtalari 7
Asosiy yo'l /api/v1/domains
OLING /api/v1/domains/

Barcha domenlarni ro'yxatlash

Ҳисобингизда рўйхатдан ўтган доменларни қайтаради, ҳар бир саҳифада 25 та. Ушбу рўйхатда филтрлар йўқ.

Ҳужжат талаб этилади: domains:list

Namunaviy so'rov

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

Javob namunasi

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

Javob maydonlari

Асосий Turi Тасвирлаш
uuid string Бошқа доменлар охирида фойдаланилган домен идентификатори
status string active, pending, expired, cancelled, transferred
registrar string Доменни сақлаш учун регистратор
registration_date, expiration_date datetime Домен қачон рўйхатдан ўтказилгани ва қачон тугаши. expiration_date null бўлиши мумкин.
days_until_expiration integer | null expiration_date гача бўлган кунлар сони, муддат тугагандан кейин манфий
is_expired, needs_renewal_soon boolean Домен муддати тугаган ёки тугамаслиги, кейинги 30 кун ичида тугаши мумкин
auto_renew, renewal_period_years boolean, integer Домен автоматик янгиланиши керакми ва қанча йил учун
registration_price, renewal_price string $USD даги нархлар ўнлик string сифатида
whois_privacy, transfer_lock boolean WHOIS махфийлиги ва регистратор ўтказиб юбориш қулфи параметрлари
nameserver1 to nameserver4 string | null Доменнинг ном серверлари
created_at, updated_at datetime Рекорд яратилган ва охирги ўзгартирилган вақт (ISO 8601, UTC)
OLING /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"

Javob holati kodlari

200 Муваффақият
404 Топилмади ёки бошқа ҳисобга тегишли
ПОСТ /api/v1/domains/search/

Домен мавжудлигини қидириш

Ном 20 та машҳур кенгайтирма (com, net, org, io, dev, co, app, ai ва бошқалар) орасида мавжудлигини текширади, агар у улар орасида бўлмаса, сиз ёзган кенгайтирма ҳам. Натижалар аниқ мослашган ном билан бошланади, кейин мавжуд номлар, кейин олинганлар.

Ҳужжат талаб этилади: domains:search

Tana parametrlarini so'rash

Парамeтрлар Turi Majburiy Тасвирлаш
domain string Ha Яширилган ёки очиқ ном, мисол учун mysite ёки mysite.com (2 дан 63 гача белги)

Namunaviy so'rov

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

Javob namunasi

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

Нархлар бир йил учун долларда кўрсатилган ва мавжуд бўлмаган номлар учун нульдир. Кўрсатилган нархлар иллюстрация учундир.

Javob holati kodlari

200 Муваффақият
400 Домен йўқ ёки унда ҳарфлар, рақамлар ва тирелардан бошқа белгилар мавжуд
500 Регистраторни қидириш муваффақиятсиз якунланди. Кейинроқ яна урининг.
ПОСТ /api/v1/domains/register/

Yangi domenni ro'yxatdan o'tkazing

Доменни рўйхатдан ўтказади ва сизнинг сақланган тўлов усулингизни ҳисобга олади. Қўлланиш имконияти ва нархи тўлов амалга оширилишидан олдин қайтадан регистратор билан текширилади. Регистраторнинг алоқа маълумотлари ҳисобингиз профилидан олинади. Агар регистратор тўлов амалга оширилгандан кейин рўйхатдан ўтказишни рад қилса, тўлов қайтарилади.

Ҳужжат талаб этилади: domains:register (доменлар томонидан берилган:*)

Tana parametrlarini so'rash

Парамeтрлар Turi Majburiy Тасвирлаш
domain string Ha Доменнинг тўлиқ номи, жумладан унинг кенгайтирилган номи, масалан example.com
years integer Йўқ Регистрация муддати, 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}'

Javob namunasi

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

Javob holati kodlari

201 Домен рўйхатдан ўтказилди
400 Нодуруст домен, домен мавжуд эмас, нарх текширилмади, эски тўлов усули ёки тўлов муваффақиятсиз якунланди
402 Файлда тўлов усули йўқ ёки тўловсиз ҳисобварақлар
500 Улуш тўловни амалга оширишга имкон бермади ёки регистратор тўловдан кейин рўйхатдан ўтишдан бош тортди. Иккинчи ҳолатда хато хабари қайтариш амалга ошган-ошмаганини билдиради.
ПОСТ /api/v1/domains/{uuid}/renew/

Доменни янгилаш

Доменни янгилайди ва ҳар йили сақланган тўлов усулингизга унинг renewal_price'ини тўлайди.

Ҳужжат талаб этилади: domains:renew

Tana parametrlarini so'rash

Парамeтрлар Turi Majburiy Тасвирлаш
years integer Йўқ Қўшиладиган йиллар, 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)!"
}

Javob holati kodlari

200 Домен янгиланди
400 Ёлғон йиллар, домен учун янгилаш нархи йўқ, фойдаланиладиган тўлов усули йўқ ёки тўлов муваффақиятсиз якунланди
404 Топилмади ёки бошқа ҳисобга тегишли
500 Томонлар тўловни амалга ошира олмади ёки тўлов амалга оширилди, аммо регистратор янгилашни амалга ошира олмади. Бу ҳолатда қўллаб-қувватлаш хизматига мурожаат қилинг.
PUT /api/v1/domains/{uuid}/nameservers/

Ном серверларини янгилаш

Доменнинг ном серверларини регистраторда ўрнатади ва янгиланган домен объектини қайтаради. DNS API билан DNSни бошқариш учун ns1.vps.org, ns2.vps.org ва ns3.vps.org ни фойдаланинг ва домен учун зона яратинг.

Ҳужжат талаб этилади: domains:update

Tana parametrlarini so'rash

Парамeтрлар Turi Majburiy Тасвирлаш
nameserver1 string Ha Бошқа ном сервери хост номи
nameserver2, nameserver3, nameserver4 string Йўқ Қолган ном сервер хост номлари
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"}'

Javob holati kodlari

200 Ном серверлари янгиланди; тана домен объекти
400 nameserver1 йўқ
404 Топилмади ёки бошқа ҳисобга тегишли
500 Янгилаш муваффақиятсиз якунланди; тана хато ва хабар майдонлари бор
PUT /api/v1/domains/{uuid}/auto-renew/

Авто янгилашни ишга тушириш ёки ўчириш

auto_renew параметрини ўрнатади ва янгиланган домен объектини қайтаради. JSON boolean сифатида юбориш ишга туширилган: ҳар қандай бўш бўлмаган string, false string ҳам қўшилган ҳолда, автоматик янгиланишни ишга туширади.

Ҳужжат талаб этилади: 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}'

Javob holati kodlari

200 Параметрлар сақланди; тана домен объектидир
400 ишга туширилган йўқ
404 Топилмади ёки бошқа ҳисобга тегишли

Ёдлаш