VPS.org API

Tài liệu API REST

API miền

Tìm kiếm tên miền có sẵn, đăng ký và cập nhật miền, và quản lý máy phục vụ tên và tự động cập nhật. Miền được xác định bởi uuid của nó.

Điểm cuối 7
Đường cơ sở /api/v1/domains
LẤY /api/v1/domains/

Liệt kê tất cả các tên miền

Trả lại các miền đăng ký trong tài khoản của bạn, 25 mỗi trang. Danh sách không có bộ lọc.

Cần quyền: domains:list

Ví dụ về yêu cầu

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

Ví dụ về câu trả lời

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

Các trường phản hồi

Địa điểm Kiểu Mô tả
uuid string Định danh miền được dùng trong các điểm cuối miền khác
status string active, pending, expired, cancelled, transferred
registrar string Nhà đăng ký tên miền
registration_date, expiration_date datetime Khi tên miền được đăng ký và khi nó hết hạn. expiration_date có thể là null.
days_until_expiration integer | null Toàn bộ ngày cho đến expiration_ date, âm khi hết hạn
is_expired, needs_renewal_soon boolean Có phải miền đã hết hạn hay không, và có phải nó sẽ hết hạn trong 30 ngày tới không
auto_renew, renewal_period_years boolean, integer Có nên tự động cập nhật miền hay không, và trong bao nhiêu năm
registration_price, renewal_price string Giá USD như chuỗi thập phân
whois_privacy, transfer_lock boolean Đặt giá trị
nameserver1 to nameserver4 string | null Máy phục vụ tên miền
created_at, updated_at datetime Khi ghi chú được tạo và thay đổi lần cuối (ISO 8601, UTC)
LẤY /api/v1/domains/{uuid}/

Nhập chi tiết miền

Trả lại một đối tượng miền với các trường ở trên.

Cần quyền: domains:list

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

Mã trạng thái phản hồi

200 Thành công
404 Không tìm thấy, hoặc nó thuộc về tài khoản khác
POST /api/v1/domains/search/

Tìm kiếm miền

Kiểm tra xem tên có sẵn trong khoảng 20 phần mở rộng phổ biến (com, net, org, io, dev, co, app, ai và nhiều hơn nữa), cộng thêm phần mở rộng bạn gõ nếu nó không nằm trong số đó. Kết quả bắt đầu với sự trùng khớp chính xác, sau đó là tên có sẵn, sau đó là những tên đã được sử dụng.

Cần quyền: domains:search

Các tham số thân yêu cầu

Tham số Kiểu Yêu cầu Mô tả
domain string Đúng Một tên có hoặc không có phần mở rộng, ví dụ như mysite hay mysite. com (2 đến 63 ký tự)

Ví dụ về yêu cầu

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

Ví dụ về câu trả lời

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

Giá là số tiền trong USD cho một năm và là 0 cho tên không có sẵn. Giá được hiển thị là minh họa.

Mã trạng thái phản hồi

200 Thành công
400 Thiếu miền, hoặc nó chứa các ký tự khác ngoài chữ cái, số và dấu gạch ngang
500 Lỗi khi tìm kiếm cơ quan đăng ký. Thử lại sau.
POST /api/v1/domains/register/

Đăng ký tên miền mới

Đăng ký một tên miền và thu phí theo phương thức thanh toán đã lưu. Sự sẵn có và giá sẽ được kiểm tra với nhà đăng ký một lần nữa ngay trước khi thu phí. Thông tin liên lạc của người đăng ký sẽ được lấy từ hồ sơ tài khoản của bạn. Nếu nhà đăng ký từ chối đăng ký sau khi thu phí, tiền sẽ được trả lại.

Cần quyền: domains:register (được cấp bởi miền: *)

Các tham số thân yêu cầu

Tham số Kiểu Yêu cầu Mô tả
domain string Đúng Tên miền đầy đủ bao gồm phần mở rộng, ví dụ example. com
years integer Không Thời gian đăng ký, 1 đến 10 (mặc định 1). Giá là giá hàng năm nhân với năm..ai yêu cầu ít nhất 2 năm; giá trị nhỏ hơn trả về 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}'

Ví dụ về câu trả lời

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

Mã trạng thái phản hồi

201 Đăng ký miền
400 Miền không hợp lệ, miền không còn có sẵn, giá không thể xác thực, phương pháp thanh toán đã lỗi thời, hoặc thanh toán thất bại
402 Không có phương thức thanh toán trong tập tin, hoặc hóa đơn chưa thanh toán
500 Không thể xử lý khoản thanh toán, hoặc nhà đăng ký đã từ chối đăng ký sau khi thanh toán. Trong trường hợp thứ hai, thông điệp lỗi nói rằng liệu khoản thanh toán có được hoàn lại hay không.
POST /api/v1/domains/{uuid}/renew/

Tăng cấp miền

Thời hạn miền và tính phí renewal_ price cho mỗi năm theo phương thức thanh toán đã lưu.

Cần quyền: domains:renew

Các tham số thân yêu cầu

Tham số Kiểu Yêu cầu Mô tả
years integer Không Năm cần cộng, từ 1 đến 10 (mặc định là 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)!"
}

Mã trạng thái phản hồi

200 Miền đã được cập nhật
400 Năm không hợp lệ, không có giá cập nhật cho tên miền, không có phương pháp thanh toán có thể sử dụng, hoặc thanh toán thất bại
404 Không tìm thấy, hoặc nó thuộc về tài khoản khác
500 Không thể xử lý thanh toán, hoặc thanh toán đã được thực hiện nhưng việc gia hạn của nhà đăng ký thất bại. Liên hệ với hỗ trợ trong trường hợp đó.
PUT /api/v1/domains/{uuid}/nameservers/

Cập nhật máy phục vụ tên

Đặt máy phục vụ tên miền của miền tại cơ quan đăng ký và trả lại đối tượng miền cập nhật. Để quản lý DNS với API DNS, dùng ns1. vps.org, ns2. vps.org và ns3. vps.org và tạo một vùng cho miền.

Cần quyền: domains:update

Các tham số thân yêu cầu

Tham số Kiểu Yêu cầu Mô tả
nameserver1 string Đúng Tên máy máy phục vụ tên chính
nameserver2, nameserver3, nameserver4 string Không Tên máy máy phục vụ tên bổ sung
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"}'

Mã trạng thái phản hồi

200 Name servers updated; the body is the domain object
400 thiếu máy phục vụ tên1
404 Không tìm thấy, hoặc nó thuộc về tài khoản khác
500 Cập nhật thất bại; cơ thể có lỗi và các trường thông điệp
PUT /api/v1/domains/{uuid}/auto-renew/

Bật hay tắt tự động cập nhật

Đặt auto_ renew và trả về đối tượng miền cập nhật. Gửi được bật như một boolean JSON: bất kỳ chuỗi không rỗng nào, bao gồm chuỗi false, bật tự động cập nhật.

Cần quyền: 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}'

Mã trạng thái phản hồi

200 Thiết lập đã được lưu; cơ thể là đối tượng miền
400 thiếu
404 Không tìm thấy, hoặc nó thuộc về tài khoản khác

Ghi chú