VPS.org API

REST APIドキュメント

ドメインAPI

利用可能なドメイン名を検索し、ドメインを登録し、更新し、名前サーバと自動更新を管理します。ドメインはuuidで識別されます。

エンドポイント 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 ドメインの登録日と期限。 expiration_date は null にできます。
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 WHOIS プライバシーとレジスタント転送ロックの設定
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 見つかりませんでした。あるいは、他のアカウントに属しています。
ポスト /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
}

価格は1年間のUSDで表され、利用できない名前は null です。表示されている価格は説明用です。

応答ステータスコード

200 成功
400 ドメインが欠けているか、文字、数字、ハイフン以外の文字を含んでいます
500 レジスタの検索に失敗しました。後でやり直してください。
ポスト /api/v1/domains/register/

新しいドメインを登録する

ドメインを登録し、保存した支払い方法を請求します。利用可能性と価格は、請求の直前にレジスタントと再確認されます。登録者の連絡先情報は、あなたのアカウントプロファイルから取得されます。登録者が登録を拒否した場合、請求後に支払いは返金されます。

必要な権限: domains:register あなたは 私のために あなたの 心を 捧げる

リクエストボディパラメータ

パラメータ タイプ 必須 説明
domain string はい 拡張子を含むフルドメイン名 (例えば 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}'

回答例

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

ドメインを更新

ドメインを更新し、毎年の更新料を保存された支払い方法に請求します。

必要な権限: 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/

自動更新を有効/無効にします

auto_renew を設定し、更新されたドメインオブジェクトを返します。JSON ブルーンとして送信すると、空でない文字列は自動更新を有効にします。 false 文字列も含まれます。

必要な権限: 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 見つかりませんでした。あるいは、他のアカウントに属しています。

ノート