Web管理画面と同じ操作(ドメインの追加・削除、DNSレコードの管理)を、REST API経由でプログラムから実行できます。
すべてのエンドポイントはJSON形式でリクエスト・レスポンスをやり取りします。認証には下記のAPIキーが必要です。ページ分割やレート制限は現時点ではありません。
https://ns.nrnic.com/api
APIキーはアカウント設定から発行できます。発行したキーはその場でしか表示されないため、必ず安全な場所に保存してください。
すべてのリクエストに、以下のように Authorization ヘッダーを付与してください。
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
エラー時は該当するHTTPステータスコード(401/404/409/422/500など)とともに、以下の形式でJSONを返します。
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| メソッド | パス | 説明 |
|---|---|---|
| GET | /api/domains | ログイン中ユーザーのドメイン一覧を取得 |
| POST | /api/domains | ドメインを追加 |
| GET | /api/domains/{id} | ドメインの詳細(NS同期状況・委任状況を含む)を取得 |
| DELETE | /api/domains/{id} | ドメインを削除 |
| POST | /api/domains/{id}/resync | DNSゾーンをすべてのネームサーバー(ns1〜ns4)へ再送信 |
| POST | /api/domains/{id}/delegation-check | 委任状況(NS切り替え済みか)を確認 |
| GET | /api/domains/{id}/records | DNSレコード一覧を取得 |
| POST | /api/domains/{id}/records | DNSレコードを追加 |
| PUT | /api/domains/{id}/records/{record_id} | DNSレコードを更新 |
| DELETE | /api/domains/{id}/records/{record_id} | DNSレコードを削除 |
# ログイン中ユーザーのドメイン一覧を取得curl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# ドメインを追加curl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# ドメインを削除curl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# DNSレコードを追加curl -s https://ns.nrnic.com/api/domains/123/records \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"type": "A", "name": "@", "content": "192.0.2.1", "ttl": 3600}'
# DNSレコードを更新curl -s -X PUT https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"type": "A", "name": "@", "content": "192.0.2.2", "ttl": 3600}'
# DNSレコードを削除curl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | レコード種別。A / AAAA / CNAME / MX / TXT / NS / SRV / CAA のいずれか。 |
| name | ホスト名(サブドメイン部)。ゾーン頂点は "@"。 |
| content | レコードの値(IPアドレス・ターゲットホスト名など)。 |
| ttl | TTL(秒)。60〜604800。省略時は3600。 |
| priority | MX・SRVレコードの優先度(0〜65535)。 |
| weight | SRVレコードの重み(0〜65535)。 |
| port | SRVレコードのポート番号(0〜65535)。 |