テック技報最新号へ →
インフラ

XServer API: エックスサーバーのドメイン・DNS・メール・WordPress 設定をスクリプトから操作する

エックスサーバー(スタンダード / プレミアム / ビジネス)のサーバーパネルでやっていた操作の多くが REST API で呼べる。複数サイトの保守や、入退社に合わせたメールアカウントの作成・削除を自動化できる。

@hiroshisatoy · 2026-10-17
#infra#hosting#xserver#api#automation#dns#mail

どんなときに使う?

  • 複数の WordPress サイトの PHP バージョン・SSL・キャッシュ設定をまとめて確認・変更したいとき
  • アクセスログやエラーログを定期的に取り出して異常を見たいとき
  • DNS レコードや SPF / DKIM / DMARC の設定をコードで管理したいとき
  • AI エージェントにサーバー管理の一部を任せたいとき(権限を絞ったキーを渡す)

できること(主な API)

ドメイン・サブドメイン、DNS レコード、無料 SSL、メールアカウント・転送・振り分け・自動応答、SPF / DKIM / DMARC、FTP アカウント、MySQL のデータベースとユーザー、PHP バージョンと php.ini、Cron、SSH 公開鍵、アクセス拒否、サイト転送、サーバーキャッシュ、WAF、WordPress の簡単インストール、自動バックアップの取得・復元、アクセスログ・エラーログ、CPU・メモリ・転送量の時系列(リソースモニター)など。

やり方

  1. XServer アカウント → 「APIキー管理」→「APIキー追加」でキーを作る
    • キー名と有効期限、必要なら接続を許可する IP アドレスを設定する
    • 対象サーバーを選び、権限を「すべての操作」「読み取り専用」「カスタム」(操作ごとに選択)から選ぶ
    • キーは xs_ で始まり、発行時にしか全文が表示されないので、すぐシークレット管理に保存する
  2. リクエストは 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 リファレンスにある

  3. 実行履歴は「APIキー管理 → 実行ログ」で過去 90 日分を確認できる(キー・期間・成功/エラーで絞り込める)

レート制限(サーバーアカウント単位)

プランリクエスト/分リクエスト/日同時接続数
スタンダード6010,0005
プレミアム12030,00010
ビジネス300100,00020

上限を超えると 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 以前に発行したキーは、発行時に指定したサーバーしか操作できない。他のサーバーも扱うなら権限設定を変更する

出典

X の元の投稿を開く