VPS.org API

REST API 文件

域 APIP

搜索可用的域名、注册和更新域名,管理它们的命名器和自动更新。域名由用户名识别。

终点 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"
    }
  ]
}

响应字段

外地 类型 说明
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 以美元计的价格以小数弦
whois_privacy, transfer_lock boolean WHISIS 隐私和登记员调用锁设置
nameserver1 to nameserver4 string | null 域域名命名者
created_at, updated_at datetime 当创建记录和上次更改时(ISO 8601,UTC)
得到 /api/v1/domains/{uuid}/

Getc 域域细节

返回上面字段的一个域对象。

所需许可: 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 未找到, 或属于另一个账户
邮 /api/v1/domains/search/

搜索域域可用性

检查大约20个流行扩展名( com、 Net、 org、 io、 dev、 co、 app、 ai 等) 是否可用, 加上您输入的扩展名, 如果不是其中之一, 则检查该名称是否在其中。 结果从准确匹配开始, 然后是可用的名称, 然后取取取这些名称 。

所需许可: domains:search

请求体参数

参数 类型 必需的 说明
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
}

价格是一年以美元计的数字,对于没有提供的姓名是无效的。

响应状态码

200 成功
400 缺少域域, 或者它包含字母、 数字和连字符以外的字符
500 登记员查不出来 稍后再查
邮 /api/v1/domains/register/

注册新域名

注册域名并收取您保存的支付方法的费用。 指控前会再次与注册处核对可用性和价格。 登记员的详细联系方式会从您的账户档案中提取。 如果注册处在收费后拒绝注册, 则将退款 。

所需许可: domains:register (按领域提供:*)

请求体参数

参数 类型 必需的 说明
domain string 是的 包括扩展名在内的全域名, 例如. 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}'

示例回复

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

响应状态码

201 已注册域域
400 无效域域、 域域不再可用、 价格无法校验、 付款方法过时或付款失败
402 档案中没有付款方法或未付发票
500 无法处理付款,登记员付款后拒绝登记,第二个错误信息是说退款是否经过。
邮 /api/v1/domains/{uuid}/renew/

更新域 a/

将域名更新,每年更新价格由您保存的支付方法支付。

所需许可: domains:renew

请求体参数

参数 类型 必需的 说明
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)!"
}

响应状态码

200 更新域域
400 无效年数、 域域的续延价、 没有可用的付款方法或付款失败
404 未找到, 或属于另一个账户
500 无法处理付款,付款也未能通过,但登记员续签失败。
PUT /api/v1/domains/{uuid}/nameservers/

更新命名器

设置域名登记器上的域名, 并返回更新的域名对象。 要用 DNS API 管理 DNS, 请使用 ns1. vps.org、 ns2. vps.org 和 ns3. vps.org, 并为域创建区域 。

所需许可: domains:update

请求体参数

参数 类型 必需的 说明
nameserver1 string 是的 初级名称服务器主机名
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"}'

响应状态码

200 更新了命名器; 主体是域对象
400 缺少名服务器1 失踪
404 未找到, 或属于另一个账户
500 更新失败; 机构有错误和信件字段
PUT /api/v1/domains/{uuid}/auto-renew/

打开或关闭自动更新

设置自动更新并返回更新的域名对象。 发送为 JSON 布尔值: 任何非空字符串, 包括字符串假, 自动更新打开 。

所需许可: 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 未找到, 或属于另一个账户

注注注音音小小小