XServer API: エックスサーバーのドメイン・DNS・メール・WordPress 設定をスクリプトから操作する
エックスサーバー(スタンダード / プレミアム / ビジネス)のサーバーパネルでやっていた操作の多くが REST API で呼べる。複数サイトの保守や、入退社に合わせたメールアカウントの作成・削除を自動化できる。
どんなときに使う?
- 複数の WordPress サイトの PHP バージョン・SSL・キャッシュ設定をまとめて確認・変更したいとき
- アクセスログやエラーログを定期的に取り出して異常を見たいとき
- DNS レコードや SPF / DKIM / DMARC の設定をコードで管理したいとき
- AI エージェントにサーバー管理の一部を任せたいとき(権限を絞ったキーを渡す)
できること(主な API)
ドメイン・サブドメイン、DNS レコード、無料 SSL、メールアカウント・転送・振り分け・自動応答、SPF / DKIM / DMARC、FTP アカウント、MySQL のデータベースとユーザー、PHP バージョンと php.ini、Cron、SSH 公開鍵、アクセス拒否、サイト転送、サーバーキャッシュ、WAF、WordPress の簡単インストール、自動バックアップの取得・復元、アクセスログ・エラーログ、CPU・メモリ・転送量の時系列(リソースモニター)など。
やり方
- XServer アカウント → 「APIキー管理」→「APIキー追加」でキーを作る
- キー名と有効期限、必要なら接続を許可する IP アドレスを設定する
- 対象サーバーを選び、権限を「すべての操作」「読み取り専用」「カスタム」(操作ごとに選択)から選ぶ
- キーは
xs_で始まり、発行時にしか全文が表示されないので、すぐシークレット管理に保存する
- リクエストは
https://api.xserver.ne.jpに送り、Authorization: Bearer <APIキー>を付ける。サーバー管理のパスは/v1/server/{servername}/...bash# DNS レコード一覧を取得する例 curl -s "https://api.xserver.ne.jp/v1/server/$XS_SERVER/dns" \ -H "Authorization: Bearer $XSERVER_API_KEY"エンドポイントの一覧と OpenAPI 仕様(
openapi.json)は API リファレンスにある - 実行履歴は「APIキー管理 → 実行ログ」で過去 90 日分を確認できる(キー・期間・成功/エラーで絞り込める)
レート制限(サーバーアカウント単位)
| プラン | リクエスト/分 | リクエスト/日 | 同時接続数 |
|---|---|---|---|
| スタンダード | 60 | 10,000 | 5 |
| プレミアム | 120 | 30,000 | 10 |
| ビジネス | 300 | 100,000 | 20 |
上限を超えると 429 が返り、Retry-After ヘッダーに待つ秒数が入る。一括処理では 1 件ずつ間隔を空ける。
注意点
- 最小権限で発行する。監視やログ収集だけなら「読み取り専用」、エージェントに渡すキーは操作を「カスタム」で絞り、許可 IP と有効期限も付ける
- 漏えいが疑われたら「APIキー管理」から削除すると即無効になる(復旧はできない)
- お金が動く API がある。
POST /v1/server(サーバーの新規申込)はプリペイド残高から支払う。先にdry_run=trueで合計金額を確かめ、本番ではexpected_total_priceとagree_to_terms=trueを指定し、Idempotency-Keyヘッダー(UUID 推奨)を付けて二重申込を防ぐ。キーに「新規申込を許可」を付けない限りこの API は使えない - 2026-08-04 以前に発行したキーは、発行時に指定したサーバーしか操作できない。他のサーバーも扱うなら権限設定を変更する
出典
- @hiroshisatoy · 2026-04-16
- エックスサーバー マニュアル(XServer API): xserver.ne.jp
- API リファレンス(サーバー管理): developer.xserver.ne.jp