XServer for WordPress API リファレンス
XServer for WordPress API は、XServer for WordPress のWPパネルで提供している主要機能(サイト管理・WordPress運用・ドメイン/DNS・PHPバージョン・ログ・Cron・SSH 等)を REST API で利用するためのインターフェースです。
API の変更履歴は 更新履歴 を参照してください。
| 項目 | 値 |
| ベースURL | https://api.xserver.ne.jp |
| ベースパス | /v1/wphosting/{contract_id} |
| 対象サービス | XServer for WordPress |
| プロトコル | HTTPS |
| レスポンス形式 | JSON |
| OpenAPI仕様 | openapi.json |
認証
すべてのリクエストで Authorization ヘッダーに Bearer トークン(APIキー)を付与してください。
Authorization: Bearer xs_xxxxxxxxxxxx...
APIキーはXServerアカウント(契約管理画面)の「APIキー管理」から発行できます。
操作対象(対象契約 × 対象サイト)
for WordPress のAPIキーは、「対象のご契約」と「対象のサイト」の2軸で操作範囲を設定できます。それぞれ「すべて」または「指定」を選択でき、キーが許可された契約・サイトに対してのみ操作できます(範囲外の契約・サイトを指定しても操作できません)。
権限(スコープ)
APIキー発行時に設定する権限によって、利用可能なAPIが異なります。各エンドポイントに表示されている必要な権限を確認してください。
| APIキーの権限 | 利用可能なAPI |
| すべての操作 | 読み取り + 書き込み のすべてのAPI |
| 読み取り専用 | 読み取り のAPIのみ |
| カスタム | 個別に選択した権限に応じたAPI |
カスタム権限では、以下のカテゴリごとに読み取り・書き込みを個別に設定できます。
| カテゴリ | 対象API |
| APIキー情報 | 認証中のAPIキー情報を取得 |
| サイト情報 | サイト一覧を取得 / サイト詳細を取得 / 利用状況を取得 |
| サイト作成・削除 | サイトを作成 / サイトを削除 |
| ステージング環境 | ステージング環境を作成 |
| バックアップ | 手動バックアップ一覧を取得 / 手動バックアップを作成 / 手動バックアップから復元 / 復元履歴を取得 / 手動バックアップを削除 |
| WordPressバージョン | WordPressバージョン情報を取得 / WordPressバージョンの設定を変更 / WordPress本体を更新 |
| メンテナンスモード | メンテナンスモードを取得 / メンテナンスモードを切替 |
| プラグイン | プラグイン一覧を取得 / プラグインをインストール / プラグインの状態を変更 / プラグインを更新 / プラグインを削除 |
| テーマ | テーマ一覧を取得 / テーマをインストール / テーマの状態を変更 / テーマを更新 / テーマを削除 |
| ドメイン設定 | ドメイン設定一覧を取得 / ドメイン設定を追加 / ドメインの所有者確認を実行 / ドメイン設定を削除 / サイトURLを変更 |
| DNSレコード設定 | DNSレコード一覧を取得 / DNSレコードを追加 / DNSレコードを変更 / DNSレコードを削除 |
| PHPバージョン設定 | PHPバージョンを取得 / PHPバージョンを変更 |
| ログ | アクセスログを取得 / エラーログを取得 |
| Cron設定 | Cron一覧を取得 / Cronを新規追加 / Cronを変更 / Cronを削除 |
| SSH設定 | SSH設定を取得 / SSH設定を変更 / SSH公開鍵一覧を取得 / SSH公開鍵を登録 / SSH公開鍵を更新 / SSH公開鍵を削除 |
| WordPressユーザー | WordPressユーザー一覧を取得 / WordPressユーザー詳細を取得 / WordPressユーザーを作成 / WordPressユーザーを更新 / WordPressユーザーを削除 / 権限グループ一覧を取得 |
| WordPressセキュリティ | セキュリティ設定一覧を取得 / セキュリティ設定を変更 |
レート制限
レスポンスヘッダーでレート制限情報が返されます。
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1709654400
X-RateLimit-Concurrent-Limit: 5
X-RateLimit-Concurrent-Remaining: 4
制限超過時は HTTP 429 と Retry-After ヘッダー(待機すべき秒数を整数で返却)が返されます。同時リクエスト数が上限を超えた場合も HTTP 429 が返されます。
また、認証失敗が短時間に連続した場合はIPアドレス単位で一時的にブロックされ、認証照合前に HTTP 429 が返されます。APIキーや認証ヘッダーの設定を確認してから再試行してください。
for WordPress のレート制限はご契約単位で適用されます。同じご契約で複数のAPIキーを発行しても、合算値で制限がかかります。上限はご契約のプランによって異なります。
| プラン | リクエスト/分 | リクエスト/日 | 同時接続数 |
| ベーシック | 60 | 10,000 | 5 |
| スタンダード | 120 | 30,000 | 10 |
| プレミアム | 300 | 100,000 | 20 |
| エンタープライズ | 300 | 100,000 | 20 |
HTTPステータスコード
成功時
リクエストが正常に処理された場合、以下のステータスコードが返されます。
| ステータス | 意味 | 対象 |
200 | OK | 同期処理のリクエスト(GET / POST / PUT / DELETE) |
202 | Accepted | 非同期処理の受け付け(サイト作成・削除、ステージング環境作成、バックアップの作成・復元)。詳細は「非同期処理について」を参照 |
成功時のレスポンスボディは各エンドポイントのレスポンス例を参照してください。
エラーハンドリング
エラー時は以下の形式のJSONが返されます。
{
"error": {
"code": "VALIDATION_ERROR",
"message": "入力値が正しくありません",
"errors": [
"エラーメッセージ1",
"エラーメッセージ2"
]
}
}
エラー時のHTTPステータスコード
| ステータス | 意味 | 説明 |
400 | Bad Request | リクエストが不正 |
401 | Unauthorized | 認証エラー(APIキーが無効・期限切れ) |
403 | Forbidden | 権限不足(スコープ不足・対象範囲外・IP制限等) |
404 | Not Found | リソースまたはエンドポイントが見つからない |
409 | Conflict | バックグラウンド処理の実行中など、状態により操作を完了できなかった |
422 | Unprocessable Entity | バリデーションエラー |
429 | Too Many Requests | レート制限超過 |
500 | Internal Server Error | サーバー内部エラー |
502 | Bad Gateway | バックエンドとの通信でエラーが発生 |
503 | Service Unavailable | サーバーに一時的に接続できない |
主なエラーコード
409 が返る場合、レスポンスの error.code で原因を判別できます。
| コード | HTTP | 説明 |
FEATURE_UNAVAILABLE | 409 | サイト・ご契約の状態により、その機能が利用できない(詳細は message を参照)。条件は「機能が利用できない状態について」を参照 |
JOB_IN_PROGRESS | 409 | 対象サイトでバックグラウンド処理が実行中のため、この操作を行えない。処理の完了を待ってから再試行してください |
DUPLICATE_REQUEST | 409 | 同じ Idempotency-Key のリクエストを処理中(「非同期処理について」参照) |
共通仕様
契約ID(contract_id)について
APIのURLパスに含まれる {contract_id} には、操作対象のご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567)を指定してください。契約IDはXServerアカウントで確認できます。
サイトの識別子(servername)について
個々のサイトを操作するAPIのURLパスに含まれる {servername} には、対象サイト環境の識別子(servername)を指定してください。servername はサイト一覧API(GET /v1/wphosting/{contract_id}/sites)のレスポンスで取得できます。本番環境・ステージング環境はそれぞれ別の servername を持ちます。
操作対象の範囲
APIキーに設定された「対象のご契約」「対象のサイト」の範囲内でのみ操作できます。範囲外の契約ID・servername を指定した場合は 403 または 404 が返されます。
バックグラウンド処理の実行中
サイトに対してバックグラウンド処理(サイト作成・バックアップ等)が実行中の場合、そのサイトへの書き込み操作は HTTP 409 が返されます。処理の完了を待ってから再試行してください。処理の状況は、サイトの状態(サイト一覧・詳細APIの status)や手動バックアップ一覧・復元履歴APIで確認できます(「非同期処理について」参照)。
DNSレコード設定の対象
DNSレコード設定APIは、当社ネームサーバーを利用しているドメインが対象です。
日時について
APIのレスポンスに含まれる日時はすべて日本時間(JST)で、タイムゾーン表記は付きません。
機能が利用できない状態について
WPパネル(画面)でメニューが表示されない状態では、APIも同じ条件で 409 FEATURE_UNAVAILABLE を返します。エラーの詳細は message を参照してください。
| 状態 | 影響する主な機能 |
| ご利用期限を過ぎている | サイト作成・プラグイン/テーマ/WordPress本体・WordPressユーザー・セキュリティ設定・バックアップ・ドメイン設定・Cron/SSH など(サイト情報・ログ・リソース・メンテナンスモード・PHPバージョン・サイト削除は利用可) |
| サーバーが凍結中 | 上記に加えサーバー管理ツール系(Cron / SSH) |
| マルチサイト環境 | プラグイン・テーマ・WordPress本体更新・WordPressユーザー・セキュリティ設定・サイトURL変更・ステージング環境作成・手動バックアップ |
| WordPressが正しくインストールされていない | 同上(マルチサイト環境と同じ範囲) |
| ステージング環境 | ドメイン設定・DNSレコード設定・サイトURL変更・手動バックアップの作成/復元 |
各エンドポイントで利用できない条件は、エンドポイントごとの説明にも記載しています。
非同期処理について
サイトの作成・削除、ステージング環境の作成、バックアップの作成・復元は、完了までに時間がかかるためバックグラウンドで実行されます。これらのAPIは、受け付けに成功すると 202 Accepted とともに、対象を特定する情報(servername。バックアップ作成では backup_id)を返します。
進行状況の確認
進行状況は、処理の種類ごとに対象リソースの status で確認します(ポーリングの推奨間隔: 15〜30秒)。
| 処理 | 確認方法 |
| サイト作成 / ステージング環境作成 | サイト詳細取得API の status で確認。作成中は setting、完了すると public または private、失敗すると error になります |
| サイト削除 | 完了確認は不要です。受け付けと同時にサイト一覧から削除されます |
| バックアップ作成 | 手動バックアップ一覧API の status で確認。completed で作成済み、failed で失敗です |
| バックアップ復元 | 復元履歴取得API の status で確認。completed で完了、failed で失敗です |
再送時の重複実行を防ぐ(Idempotency-Key)
非同期API(サイト作成・削除、ステージング環境作成、バックアップの作成・復元)では、Idempotency-Key ヘッダーを任意で指定できます。タイムアウト等でレスポンスを受け取れなかった場合に同じキーで再送すると、処理を重複実行せず初回と同じレスポンスが返ります。
Idempotency-Key: 3b1f2c9e-8a54-4c1d-9f2b-1a2b3c4d5e6f
- キーは8〜64文字の英数字・ハイフン・アンダースコアで指定します(UUID を推奨)。保持期間は48時間です。
- 同じキーで内容の異なるリクエストを送ると 422 が返ります。
- 同じキーの処理が確定前(実行中)の場合は 409(
DUPLICATE_REQUEST)が返ります。
- ヘッダーを指定しない場合は従来どおり、リクエストごとに処理を受け付けます。
APIキー情報
認証中のAPIキー情報を取得
現在認証に使用しているAPIキーの情報を返します。有効期限・サービス種別を確認できます。
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/me" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
service_type |
string |
APIキーのサービス種別。XServer for WordPress 用のキーでは wphosting |
expires_at |
string|null |
有効期限。無期限の場合は null |
レスポンス例
{
"service_type": "wphosting",
"expires_at": "2027-04-16 00:00:00"
}
サイト情報
サイト一覧を取得
ご契約内のすべてのWordPressサイト(本番・ステージング環境)を返します。WPパネルのサイト一覧に相当します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
sites[].servername |
string |
サイト環境の識別子 |
sites[].site_name |
string |
サイト名 |
sites[].env_type |
string |
環境種別(production / staging) |
sites[].status |
string |
サイトの状態setting作成中reset初期化中restore復元中sync同期中errorエラーwaiting_reload反映待ちmaintenanceメンテナンスpublic公開private非公開suspend凍結中
|
sites[].site_url |
string |
サイトURL |
sites[].wp_version |
string|null |
WordPressバージョン |
レスポンス例
{
"sites": [
{
"servername": "xw123456.xwp.jp",
"site_name": "My Blog",
"env_type": "production",
"status": "public",
"site_url": "https://example.com/",
"wp_version": "6.7.1"
}
]
}
サイト詳細を取得
指定したサイト環境の詳細(ドメイン・PHPバージョン・リソース割当・関連サイト等)を返します。WPパネルのサイト詳細に相当します。ディスク使用量は GET .../usage で確認できます。related_site には同一グループ内の関連サイト(本番↔ステージング)が含まれます。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
site.servername |
string |
サイト環境の識別子 |
site.site_name |
string |
サイト名 |
site.env_type |
string |
環境種別(production / staging) |
site.status |
string |
サイトの状態setting作成中reset初期化中restore復元中sync同期中errorエラーwaiting_reload反映待ちmaintenanceメンテナンスpublic公開private非公開suspend凍結中
|
site.site_url |
string |
サイトURL(表示用) |
site.domain |
string |
現在のドメイン(表示用) |
site.wp_version |
string|null |
WordPressバージョン |
site.php_version |
string|null |
PHPバージョン |
site.is_multisite |
boolean |
マルチサイトかどうか |
site.security_auto_optimize |
boolean |
セキュリティ自動最適化モードが有効かどうか |
site.resource.disk_limit_gb |
integer |
このサイトに割り当てられたディスク容量の上限(GB) |
site.resource.vcpu_limit |
integer |
vCPU 上限(コア数) |
site.resource.memory_limit_gb |
integer |
メモリ上限(GB) |
site.related_site[].servername |
string |
関連サイトの識別子 |
site.related_site[].domain |
string |
関連サイトのドメイン |
site.related_site[].site_url |
string |
関連サイトのURL |
site.related_site[].env_type |
string |
関連サイトの環境種別(production / staging) |
レスポンス例
{
"site": {
"servername": "xw123456.xwp.jp",
"site_name": "My Blog",
"env_type": "production",
"status": "public",
"site_url": "https://example.com",
"domain": "example.com",
"wp_version": "6.7.1",
"php_version": "8.3",
"is_multisite": false,
"security_auto_optimize": true,
"resource": {
"disk_limit_gb": 10,
"vcpu_limit": 1,
"memory_limit_gb": 1
},
"related_site": [
{
"servername": "xw123456-st.xwp.jp",
"domain": "xw123456-st.xwp.jp",
"site_url": "https://xw123456-st.xwp.jp",
"env_type": "staging"
}
]
}
}
利用状況を取得
ご契約の上限(ディスク・vCPU・メモリ・サイト数)と使用量、サイト別内訳を返します。WPパネルの利用状況に相当します。APIキーで対象サイトを限定している場合、per_site および disk.used_gb・sites.used は許可されたサイト分のみ返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/usage" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
disk.limit_gb |
integer |
契約のディスク容量上限(GB) |
disk.used_gb |
number |
使用中のディスク容量(GB)。per_site の disk_used_gb の合計 |
vcpu.limit |
integer |
vCPU 上限(コア数) |
memory.limit_gb |
integer |
メモリ上限(GB) |
sites.limit |
integer|null |
サイト数上限。null は無制限 |
sites.used |
integer |
使用中のサイト環境数(本番・ステージング各環境を1件としてカウント) |
per_site[].servername |
string |
サイト環境の識別子 |
per_site[].disk_used_gb |
number |
当該サイト環境のディスク使用量(GB) |
レスポンス例
{
"disk": { "limit_gb": 700, "used_gb": 1.51 },
"vcpu": { "limit": 10 },
"memory": { "limit_gb": 16 },
"sites": { "limit": null, "used": 10 },
"per_site": [
{ "servername": "xw123456.xwp.jp", "disk_used_gb": 0.28 },
{ "servername": "xw123456-st.xwp.jp", "disk_used_gb": 0.22 }
]
}
サイト作成・削除
サイトを作成
ご契約内に新しいWordPressサイト(本番環境)を作成します。非同期で申し込みます。受け付け成功時は 202 で servername を返します。進捗は GET .../sites/{servername} の status で確認してください(setting → public/private、失敗時 error)。Idempotency-Key ヘッダー(任意)で再送時の重複実行を防げます。server_id で初期サイトURL({server_id}.xwp.jp)を指定できます。未指定時は自動生成されます。サイト数・リソースは契約上限の範囲内です。上限到達・利用期限切れ・APIキーでサイト限定時は 409 です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
wp_sitename |
string |
必須 |
サイト名(WordPressのサイトタイトル)。全角127文字(半角255文字)以内 |
wp_username |
string |
必須 |
WordPress管理ユーザー名。半角255文字以内。半角英数字、半角スペースと _-.@ が使用可能。条件を満たさない場合は 422 エラーになります |
wp_password |
string |
必須 |
WordPress管理ユーザーのパスワード。半角7文字以上64文字以内。半角英字と数字または記号をそれぞれ1文字以上含めてください。使用可能な文字は半角英数字と !#$%=~^|:_[]().+-*/@&<>`;?, です。wp_username と同じ文字列は指定できません。条件を満たさない場合は 422 エラーになります |
wp_mailaddress |
string |
必須 |
WordPress管理ユーザーのメールアドレス。半角100文字以内。形式不正の場合は 422 エラーになります |
disk_limit_gb |
integer |
必須 |
このサイトに割り当てるディスク容量の上限(GB)。10 以上を指定してください(10 未満は 422 エラー) |
vcpu_limit |
integer |
必須 |
このサイトに割り当てる vCPU の上限(コア数) |
memory_limit_gb |
integer |
必須 |
このサイトに割り当てるメモリの上限(GB) |
server_id |
string |
任意 |
初期サイトURLのサーバーID({server_id}.xwp.jp の部分)。アルファベット小文字で始まる半角英小字・数字のみ。未指定時は自動生成(例: xw123456)。形式不正・使用済みは 422 エラー |
wp_theme |
string |
任意 |
インストールするWordPressテーマ。指定可能な値: default(WordPress標準テーマ)/ cocoon-master(Cocoon)/ lightning(Lightning)。未指定時は default |
security_auto_optimize |
boolean |
任意 |
セキュリティ自動最適化モードを有効にするか。未指定時は true(有効) |
memo |
string |
任意 |
メモ(管理用) |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wp_sitename": "My Blog",
"wp_username": "admin",
"wp_password": "Passw0rd!",
"wp_mailaddress": "admin@example.com",
"disk_limit_gb": 10,
"vcpu_limit": 1,
"memory_limit_gb": 1,
"server_id": "",
"wp_theme": "",
"security_auto_optimize": true,
"memo": ""
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
servername |
string |
作成されるサイト環境の識別子 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"servername": "xw123456.xwp.jp",
"message": "サイトの作成を受け付けました"
}
サイトを削除
指定したサイトを削除します。本番環境を指定した場合、関連するステージング環境も削除されます。非同期で申し込みます。受け付け成功時は 202 を返し、サイト一覧から即時に除外されます。削除したデータは復元できません。実行中の処理がある場合は 409 です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | 削除するサイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
servername |
string |
削除するサイト環境の識別子 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"servername": "xw123456.xwp.jp",
"message": "サイトの削除を受け付けました"
}
ステージング環境
ステージング環境を作成
指定した本番環境の複製としてステージング環境を作成します。1本番につき1ステージングまで。非同期で申し込みます。受け付け成功時は 202 で servername を返します。進捗は GET .../sites/{servername} の status で確認してください。既存ステージングあり・実行中処理・利用不可条件では 409 です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | 複製元となる本番環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
disk_limit_gb |
integer |
必須 |
ステージング環境に割り当てるディスク容量の上限(GB)。10 以上を指定してください(10 未満は 422 エラー) |
vcpu_limit |
integer |
必須 |
ステージング環境に割り当てる vCPU の上限(コア数) |
memory_limit_gb |
integer |
必須 |
ステージング環境に割り当てるメモリの上限(GB) |
server_id |
string |
任意 |
ステージング環境URLのサーバーID({server_id}.xwp.jp の部分)。アルファベット小文字で始まる半角英小字・数字のみ。未指定時は自動生成。形式不正・使用済みは 422 エラー |
security_auto_optimize |
boolean |
任意 |
セキュリティ自動最適化モードを有効にするか。未指定時は true(有効) |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/staging" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"disk_limit_gb": 10,
"vcpu_limit": 1,
"memory_limit_gb": 1,
"server_id": "",
"security_auto_optimize": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
servername |
string |
作成されるステージング環境の識別子 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"servername": "xw234567.xwp.jp",
"message": "ステージング環境の作成を受け付けました"
}
バックアップ
手動バックアップ一覧を取得
指定したサイトの手動バックアップの一覧を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/backups" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
backups[].backup_id |
string |
バックアップの識別子(復元・削除APIで使用) |
backups[].status |
string |
状態waiting作成待ちprepare準備中completed作成済みfailed失敗
|
backups[].memo |
string |
作成時に指定したメモ |
backups[].created_at |
string |
作成受付日時 |
backups[].finished_at |
string |
作成完了日時waitingprepare では null |
backups[].expires_at |
string |
保存期限。completed 以外では null |
レスポンス例
{
"backups": [
{
"backup_id": "20260712103000_a1B2c3",
"status": "completed",
"memo": "プラグイン更新前",
"created_at": "2026-07-12 10:30:00",
"finished_at": "2026-07-12 10:35:00",
"expires_at": "2026-08-11 10:35:00"
}
]
}
手動バックアップを作成
指定したサイトの手動バックアップ(Web・メール・データベース)の作成を非同期で申し込みます。受け付け成功時は 202 で backup_id を返します。進捗は GET .../backups の status で確認してください(completed で作成済み、failed で失敗)。作成数上限到達・実行中処理がある場合は 409 です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | バックアップを作成するサイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
memo |
string |
任意 |
メモ(管理用・255文字まで) |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/backups" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"memo": ""
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
servername |
string |
対象サイト環境の識別子 |
backup_id |
string |
作成されるバックアップの識別子 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"servername": "xw123456.xwp.jp",
"backup_id": "20260712103000_a1B2c3",
"message": "バックアップの作成を受け付けました"
}
手動バックアップから復元
指定した手動バックアップの内容でサイトを復元します。現在の内容は上書きされ、取り消しできません。completed のバックアップのみ復元可能です。非同期で申し込みます。成否は GET .../backups/restore-history の status で確認してください。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | 復元するサイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
backup_id | 復元に使うバックアップの識別子。手動バックアップ一覧API(GET .../backups)の backup_id で取得できます |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/backups/{backup_id}/restore" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
servername |
string |
復元するサイト環境の識別子 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"servername": "xw123456.xwp.jp",
"message": "バックアップの復元を受け付けました"
}
復元履歴を取得
指定したサイトのバックアップ復元履歴を新しい順で返します。手動・自動バックアップからの復元を含みます。復元申込後の成否確認に使用してください。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/backups/restore-history" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
restores[].restore_id |
integer |
復元処理のID |
restores[].type |
string |
復元の種別手動バックアップからの復元自動バックアップからの復元 |
restores[].status |
string |
状態waiting実行待ちrunning実行中completed完了failed失敗
|
restores[].created_at |
string|null |
受付日時 |
restores[].started_at |
string|null |
実行開始日時 |
restores[].finished_at |
string|null |
完了日時 |
レスポンス例
{
"restores": [
{
"restore_id": 456,
"type": "backup_restore",
"status": "completed",
"created_at": "2026-07-12 11:00:00",
"started_at": "2026-07-12 11:00:10",
"finished_at": "2026-07-12 11:05:00"
}
]
}
手動バックアップを削除
指定した手動バックアップを削除します。削除したバックアップは復元に使用できなくなります。実行中の処理がある場合は 409 です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
backup_id | 削除するバックアップの識別子。手動バックアップ一覧API(GET .../backups)の backup_id で取得できます |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/backups/{backup_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "バックアップを削除しました"
}
WordPressバージョン
WordPressバージョン情報を取得
WordPressのバージョン・更新の有無・自動更新設定を返します。更新が利用可能な場合のみ latest_version にバージョンが入り、最新の場合は null です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wordpress" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
wordpress.version |
string|null |
現在インストールされている WordPress のバージョン |
wordpress.latest_version |
string|null |
WordPress.org 上で利用可能な更新先バージョン。更新がない場合は null |
wordpress.update_available |
boolean |
更新が利用可能か(latest_version が null でないとき true) |
wordpress.auto_update |
boolean |
自動更新が有効か(auto_update_scope が none 以外のとき true) |
wordpress.auto_update_scope |
string |
自動更新スコープnone無効minorマイナー更新のみallすべて(メジャー更新を含む)
|
レスポンス例
{
"wordpress": {
"version": "6.7.1",
"latest_version": "6.7.2",
"update_available": true,
"auto_update": true,
"auto_update_scope": "minor"
}
}
WordPressバージョンの設定を変更
WordPress本体の自動更新設定(スコープ)を変更します。auto_update_scope のみ指定可能です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
auto_update_scope |
string |
必須 |
自動更新スコープnone無効minorマイナー更新のみallすべて(メジャー更新を含む)
|
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wordpress" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"auto_update_scope": "minor"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
wordpress.auto_update |
boolean |
変更後の自動更新が有効か(auto_update_scope が none 以外のとき true) |
wordpress.auto_update_scope |
string |
変更後の自動更新スコープnone無効minorマイナー更新のみallすべて(メジャー更新を含む)
|
message |
string |
処理結果メッセージ |
レスポンス例
{
"wordpress": { "auto_update": true, "auto_update_scope": "minor" },
"message": "WordPress本体の設定を変更しました"
}
WordPress本体を更新
WordPress本体を最新バージョンへ更新します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wordpress/update" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
wordpress.version |
string|null |
更新後のバージョン |
message |
string |
処理結果メッセージ |
レスポンス例
{
"wordpress": { "version": "6.7.1" },
"message": "WordPress本体を更新しました"
}
メンテナンスモード
メンテナンスモードを取得
サイトのメンテナンスモードの状態を返します。管理画面へのアクセス許可やメンテナンス画面の文言設定はWPパネルから行ってください。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/maintenance-mode" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
maintenance_mode.enabled |
boolean |
メンテナンスモードが有効か |
レスポンス例
{
"maintenance_mode": { "enabled": false }
}
メンテナンスモードを切替
サイトのメンテナンスモードを有効・無効に切り替えます。有効にするとWPパネルと同じカスタムメンテナンス画面が表示されます。管理画面へのアクセス許可やメンテナンス画面の文言設定はWPパネルから行ってください。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
enabled |
boolean |
必須 |
メンテナンスモードを有効にするか |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/maintenance-mode" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
maintenance_mode.enabled |
boolean |
変更後の状態 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"maintenance_mode": { "enabled": true },
"message": "メンテナンスモードを変更しました"
}
プラグイン
プラグイン一覧を取得
インストール済みプラグインの一覧(状態・バージョン・更新有無・自動更新)を返します。WPパネル「プラグイン管理」と同じ条件で返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/plugins" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
plugins[].plugin |
string |
プラグインslug |
plugins[].name |
string |
プラグイン名 |
plugins[].status |
string |
状態(active / inactive) |
plugins[].version |
string |
バージョン |
plugins[].update_available |
boolean |
更新の有無 |
plugins[].update_version |
string|null |
更新先バージョン。update_available が true のとき WordPress.org 上の最新版。false のときは null |
plugins[].auto_update |
boolean |
自動更新の有無 |
レスポンス例
{
"plugins": [
{
"plugin": "akismet",
"name": "Akismet Anti-spam",
"status": "active",
"version": "5.3",
"update_available": false,
"update_version": null,
"auto_update": true
}
]
}
プラグインをインストール
WordPress.org 公式リポジトリのプラグインを slug 指定でインストールします。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
plugin |
string |
必須 |
プラグインslug |
activate |
boolean |
任意 |
インストール後に有効化するか |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/plugins" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"plugin": "akismet",
"activate": false
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
plugin.plugin |
string |
インストールしたプラグインの slug |
plugin.activated |
boolean |
有効化されたか |
message |
string |
処理結果メッセージ |
レスポンス例
{
"plugin": { "plugin": "akismet", "activated": false },
"message": "プラグインをインストールしました"
}
プラグインの状態を変更
プラグインの有効/無効・自動更新設定を変更します。送信した項目のみ更新されます。バージョン更新は別APIです。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
plugin | プラグインslug |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
status |
string |
任意 |
active / inactive |
auto_update |
boolean |
任意 |
自動更新の有無 |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/plugins/{plugin}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "",
"auto_update": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
plugin |
object |
対象プラグイン |
message |
string |
処理結果メッセージ |
レスポンス例
{
"plugin": { "plugin": "akismet" },
"message": "プラグインの設定を変更しました"
}
プラグインを更新
プラグインを最新バージョンへ更新します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
plugin | プラグインslug |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/plugins/{plugin}/update" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
plugin |
object |
対象プラグイン |
message |
string |
処理結果メッセージ |
レスポンス例
{
"plugin": { "plugin": "akismet" },
"message": "プラグインを更新しました"
}
プラグインを削除
指定したプラグインを削除します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
plugin | プラグインslug |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/plugins/{plugin}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "プラグインを削除しました"
}
テーマ
テーマ一覧を取得
インストール済みテーマの一覧を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/themes" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
themes[].theme |
string |
テーマslug |
themes[].name |
string |
テーマ名 |
themes[].status |
string |
状態(active / inactive) |
themes[].version |
string |
バージョン |
themes[].update_available |
boolean |
更新の有無 |
themes[].update_version |
string|null |
更新先バージョン。update_available が true のとき WordPress.org 上の最新版。false のときは null |
themes[].auto_update |
boolean |
自動更新の有無 |
レスポンス例
{
"themes": [
{
"theme": "twentytwentyfive",
"name": "Twenty Twenty-Five",
"status": "active",
"version": "1.1",
"update_available": false,
"update_version": null,
"auto_update": false
}
]
}
テーマをインストール
WordPress.org 公式リポジトリのテーマを slug 指定でインストールします。提供WordPressテーマ(Cocoon、Xwrite 等)のインストールはできません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
theme |
string |
必須 |
テーマslug |
activate |
boolean |
任意 |
インストール後に有効化するか |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/themes" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"theme": "twentytwentyfive",
"activate": false
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
theme.theme |
string |
インストールしたテーマの slug |
theme.activated |
boolean |
有効化されたか |
message |
string |
処理結果メッセージ |
レスポンス例
{
"theme": { "theme": "twentytwentyfive", "activated": false },
"message": "テーマをインストールしました"
}
テーマの状態を変更
テーマの有効化・自動更新設定を変更します。送信した項目のみ更新されます。status は active(有効化)のみ指定可能で、無効化は API では提供しません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
theme | テーマslug |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
status |
string |
任意 |
active(有効化のみ指定可能) |
auto_update |
boolean |
任意 |
自動更新の有無 |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/themes/{theme}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "",
"auto_update": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
theme |
object |
対象テーマ |
message |
string |
処理結果メッセージ |
レスポンス例
{
"theme": { "theme": "twentytwentyfive" },
"message": "テーマの設定を変更しました"
}
テーマを更新
テーマを最新バージョンへ更新します。提供WordPressテーマ(Cocoon、Xwrite 等)の更新はできません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
theme | テーマslug |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/themes/{theme}/update" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
theme |
object |
対象テーマ |
message |
string |
処理結果メッセージ |
レスポンス例
{
"theme": { "theme": "twentytwentyfive" },
"message": "テーマを更新しました"
}
テーマを削除
指定したテーマを削除します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
theme | テーマslug |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/themes/{theme}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "テーマを削除しました"
}
ドメイン設定
ドメイン設定一覧を取得
サイトに設定されているドメインの一覧(Web/SSL状態・サイトURLフラグ)を返します。初期ドメインを含み、削除済みの独自ドメインは含めません。ステージング環境では利用できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
domains[].domain |
string |
ドメイン名 |
domains[].status |
string |
Web設定の状態awaiting_verification認証待ちverifying認証中verification_failed認証エラーpending_reflection反映待ちactive有効
|
domains[].ssl_status |
string |
SSLの状態unavailableWeb設定が有効化前not_installed無効verifying認証中verification_failed認証エラーpending_reflection反映待ちactive有効
|
domains[].is_site_url |
boolean |
現在のサイトURL(プライマリドメイン)か |
domains[].is_default |
boolean |
初期ドメイン(servername と同値)か。DELETE 不可 |
レスポンス例
{
"domains": [
{
"domain": "xw123456.xwp.jp",
"status": "active",
"ssl_status": "active",
"is_site_url": false,
"is_default": true
},
{
"domain": "example.com",
"status": "active",
"ssl_status": "active",
"is_site_url": true,
"is_default": false
}
]
}
ドメイン設定を追加
サイトにドメインを追加します。所有者確認が必要な場合は verification 情報(TXTレコード)を返します。DNS設定後、所有者確認APIを実行してください。一度削除した同一ドメインは再追加できます。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
追加するドメイン |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
domain.domain |
string |
追加したドメイン名 |
domain.status |
string |
Web設定の状態(要確認時は awaiting_verification) |
verification |
object|null |
所有者確認が必要な場合のTXTレコード情報 |
verification.status |
string |
所有者確認の状態(awaiting_verification) |
verification.txt_record_name |
string |
DNSに設定するTXTレコード名 |
verification.txt_record_value |
string |
DNSに設定するTXTレコード値 |
verification.note |
string |
所有者確認の手順メッセージ |
message |
string |
処理結果メッセージ |
レスポンス例
{
"domain": { "domain": "example.com", "status": "awaiting_verification" },
"verification": {
"status": "awaiting_verification",
"txt_record_name": "_acme-challenge.example.com",
"txt_record_value": "xxxxxxxx",
"note": "DNSに上記TXTレコードを設定後、所有者確認APIを実行してください。"
},
"message": "ドメインを追加しました。所有者確認が必要です。"
}
ドメインの所有者確認を実行
追加したドメインの所有者確認(TXTレコード検証)を実行します。成功時にWeb設定・無料SSL・リダイレクトが適用されます。確認済みのドメインへの再実行は 200 で完了状態を返します。TXTレコード反映前や処理中の再実行は失敗します。反映には数分〜数十分かかることがあります。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
domain | 対象ドメイン |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains/{domain}/verify" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
domain.domain |
string |
確認したドメイン名 |
domain.status |
string |
Web設定の状態(pending_reflection または active) |
message |
string |
処理結果メッセージ |
レスポンス例
{
"domain": { "domain": "example.com", "status": "pending_reflection" },
"message": "ドメインの所有者確認が完了しました"
}
ドメイン設定を削除
指定したドメイン設定を削除します。現在のサイトURLに設定中のドメインは削除できません。ステージング環境では利用できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
domain | 対象ドメイン |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains/{domain}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "ドメインを削除しました"
}
サイトURLを変更
現在のサイトURL(プライマリドメイン)を変更します。初期ドメインおよび独自ドメインの両方を指定できます。WordPress内のURL置換が実行されます。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
新しいサイトURLにするドメイン |
auto_redirect |
boolean |
任意 |
旧URLからの301リダイレクトを自動設定するか(既定 true) |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/site-url" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"auto_redirect": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
site_url.domain |
string |
変更後のドメイン |
site_url.site_url |
string |
変更後のサイトURL |
message |
string |
処理結果メッセージ |
レスポンス例
{
"site_url": { "domain": "example.com", "site_url": "https://example.com/" },
"message": "サイトURLを変更しました"
}
DNSレコード設定
DNSレコード一覧を取得
当社ネームサーバーを利用している独自ドメインの DNS レコード一覧を返します。初期ドメインは DNS 管理対象外です。ステージング環境では利用できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
domain | 対象ドメイン(独自ドメイン。is_default: false) |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains/{domain}/dns" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
records[].id |
integer |
DNSレコードID(PUT/DELETEで使用) |
records[].domain |
string |
対象ドメイン |
records[].host |
string |
ホスト名(@ は apex) |
records[].type |
string |
レコードタイプAAAAACNAMEMXTXTSRV |
records[].content |
string |
レコードの値 |
records[].ttl |
integer |
TTL(秒) |
records[].priority |
integer |
MX/SRVレコードの優先度。それ以外のレコードでは 0 |
レスポンス例
{
"records": [
{
"id": 12345,
"domain": "example.com",
"host": "@",
"type": "A",
"content": "123.45.67.89",
"ttl": 3600,
"priority": 0
}
]
}
DNSレコードを追加
DNSレコードを追加します。対象は独自ドメインに限ります。NS レコードは追加できません。所有者確認が完了していないドメインでは編集できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
domain | 対象ドメイン(独自ドメイン。is_default: false) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
host |
string |
必須 |
ホスト名(@ で apex、相対名または FQDN、最大255文字) |
type |
string |
必須 |
レコードタイプAAAAACNAMEMXTXTSRV(NS は非対応) |
content |
string |
必須 |
内容(最大1024文字。type に応じた形式チェックあり。A は IPv4 形式) |
ttl |
integer |
任意 |
TTL(60-86400。省略時 3600) |
priority |
integer |
任意 |
MX / SRV レコードの優先度(0~65535。省略時 0) |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains/{domain}/dns" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"host": "www",
"type": "A",
"content": "192.0.2.1",
"ttl": 3600,
"priority": 10
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
integer |
追加されたDNSレコードのID(PUT/DELETEで使用) |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": 12346,
"message": "DNSレコードを追加しました"
}
DNSレコードを変更
DNSレコードを変更します。送信した項目のみ更新され、省略した項目は現在の設定が維持されます。更新するフィールドが1つも指定されなかった場合は 422 を返します。対象は独自ドメインに限ります。所有者確認が完了していないドメインでは編集できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
domain | 対象ドメイン(独自ドメイン。is_default: false) |
dns_id | DNSレコードID(GET の records[].id) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
host |
string |
任意 |
ホスト名(@ で apex、相対名または FQDN) |
type |
string |
任意 |
レコードタイプAAAAACNAMEMXTXTSRV(NS は非対応) |
content |
string |
任意 |
内容(最大1024文字。type に応じた形式チェックあり。A は IPv4 形式) |
ttl |
integer |
任意 |
TTL(60-86400) |
priority |
integer |
任意 |
MX / SRV レコードの優先度(0~65535) |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains/{domain}/dns/{dns_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"host": "www",
"type": "A",
"content": "192.0.2.1",
"ttl": 3600,
"priority": 10
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "DNSレコードを変更しました"
}
DNSレコードを削除
DNSレコードを削除します。対象は独自ドメインに限ります。存在しない dns_id を指定した場合は 404 を返します。所有者確認が完了していないドメインでは編集できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
domain | 対象ドメイン(独自ドメイン。is_default: false) |
dns_id | DNSレコードID(GET の records[].id) |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/domains/{domain}/dns/{dns_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "DNSレコードを削除しました"
}
PHPバージョン設定
PHPバージョンを取得
現在のPHPバージョンと利用可能なバージョン一覧を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/php-version" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
php_version.current |
string|null |
現在のPHPバージョン |
php_version.available |
object |
選択可能なPHPバージョン。キーがバージョン番号、値が表示名称(例: {"8.3": "PHP8.3.30(推奨)", "8.2": "PHP8.2.28(非推奨)"}) |
レスポンス例
{
"php_version": {
"current": "8.3",
"available": {
"8.3": "PHP8.3.30(推奨)",
"8.2": "PHP8.2.28(非推奨)",
"8.1": "PHP8.1.32(非推奨)"
}
}
}
PHPバージョンを変更
PHPバージョンを変更します。同一バージョンを指定した場合は php_version.changed が false になり、実際には変更されません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
version |
string |
必須 |
変更先バージョン(GET .../php-version の available のキー。例: 8.3) |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/php-version" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"version": "8.3"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
php_version.current |
string |
変更後のバージョン |
php_version.previous |
string|null |
変更前のバージョン |
php_version.changed |
boolean |
バージョンが変更されたか(同一版本を指定した場合は false) |
message |
string |
処理結果メッセージ(常に「PHPバージョンを変更しました」。サーバー API 同様。実際の変更有無は php_version.changed を参照) |
レスポンス例
{
"php_version": { "current": "8.3", "previous": "8.2", "changed": true },
"message": "PHPバージョンを変更しました"
}
ログ
アクセスログを取得
サイトのアクセスログを取得します。行数指定・キーワード検索が可能です(全文取得は不可)。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
date |
string |
任意 |
対象日(YYYY-MM-DD)。省略時および当日を指定した場合はローテーション前の当日ログ。前日以前を指定した場合は該当日のアーカイブログ(.gz)を参照 |
keyword |
string |
任意 |
絞り込みキーワード |
line_number |
integer |
任意 |
取得行数(1〜50000) |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/access-log" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
access_log.contents |
string |
ログ内容 |
レスポンス例
{
"access_log": { "contents": "..." }
}
エラーログを取得
サイトのエラーログを取得します。行数指定・キーワード検索が可能です(全文取得は不可)。日付指定は不可で、当日分のみ取得します。WPパネルと同じ条件です。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
keyword |
string |
任意 |
絞り込みキーワード |
line_number |
integer |
任意 |
取得行数(1〜50000) |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/error-log" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
error_log.contents |
string |
ログ内容 |
レスポンス例
{
"error_log": { "contents": "..." }
}
Cron設定
Cron一覧を取得
登録済みのCron設定を一覧で返します。各要素の id は PUT/DELETE で指定するハッシュIDです。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/cron" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
crons[].id |
string |
CronのハッシュID(PUT/DELETEで使用) |
crons[].minute |
string |
分(0-59, */5 等) |
crons[].hour |
string |
時(0-23, * 等) |
crons[].day |
string |
日(1-31, * 等) |
crons[].month |
string |
月(1-12, * 等) |
crons[].weekday |
string |
曜日(0-7, * 等) |
crons[].command |
string |
実行コマンド |
crons[].comment |
string |
コメント |
crons[].enabled |
boolean |
有効/無効 |
notification_email |
string|null |
Cron実行結果の通知先メールアドレス(未設定時は null) |
レスポンス例
{
"crons": [
{
"id": "a1b2c3d4e5",
"minute": "*/5",
"hour": "*",
"day": "*",
"month": "*",
"weekday": "*",
"command": "/usr/bin/php /home/user/cron.php",
"comment": "5分毎のバッチ処理",
"enabled": true
}
],
"notification_email": "admin@example.com"
}
Cronを新規追加
新しいCron設定を追加します。レスポンスの id は後続の PUT・DELETE で使用します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
minute |
string |
必須 |
分(0-59, */5 等) |
hour |
string |
必須 |
時(0-23, * 等) |
day |
string |
必須 |
日(1-31, * 等) |
month |
string |
必須 |
月(1-12, * 等) |
weekday |
string |
必須 |
曜日(0-7, * 等) |
command |
string |
必須 |
実行コマンド(最大5000文字) |
comment |
string |
任意 |
コメント |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/cron" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"minute": "*\/5",
"hour": "*",
"day": "*",
"month": "*",
"weekday": "*",
"command": "\/usr\/bin\/php \/home\/user\/cron.php",
"comment": "5分毎のバッチ"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
string |
追加されたCronのハッシュID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": "a1b2c3d4e5",
"message": "Cron設定を追加しました"
}
Cronを変更
既存のCron設定を変更します。送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。スケジュール・コマンド・コメントなどの内容を変更すると id が変わります。後続の PUT/DELETE ではレスポンスの新しい id を使用してください。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
cron_id | CronのハッシュID(一覧取得で得られる id) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
minute |
string |
任意 |
分 |
hour |
string |
任意 |
時 |
day |
string |
任意 |
日 |
month |
string |
任意 |
月 |
weekday |
string |
任意 |
曜日 |
command |
string |
任意 |
実行コマンド |
comment |
string |
任意 |
コメント |
enabled |
boolean |
任意 |
有効/無効(デフォルト: true) |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/cron/{cron_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"minute": "0",
"hour": "3",
"day": "*",
"month": "*",
"weekday": "*",
"command": "\/usr\/bin\/php \/home\/user\/cron.php",
"comment": "毎日3時のバッチ",
"enabled": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
string |
変更したCronのハッシュID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": "a1b2c3d4e5",
"message": "Cron設定を変更しました"
}
Cronを削除
指定したCron設定を削除します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
cron_id | CronのハッシュID(一覧取得で得られる id) |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/cron/{cron_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "Cron設定を削除しました"
}
SSH設定
SSH設定を取得
SSH接続の有効/無効、国外アクセス制限の状態、接続情報、登録済み公開鍵数を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/ssh" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
ssh_enabled |
boolean |
SSH接続が有効かどうか |
abroad_access_restriction |
boolean |
SSH接続の国外アクセス制限の有効/無効 |
connection_info.host |
string |
接続先ホスト名 |
connection_info.port |
integer |
接続ポート |
connection_info.username |
string |
ユーザー名 |
connection_info.auth_method |
string |
認証方式(publickey) |
key_count |
integer |
登録済み公開鍵数 |
レスポンス例
{
"ssh_enabled": true,
"abroad_access_restriction": true,
"connection_info": {
"host": "aaaaa.xwp.jp",
"port": 10022,
"username": "aaaaa",
"auth_method": "publickey"
},
"key_count": 1
}
SSH設定を変更
SSH接続の有効/無効、国外アクセス制限の有効/無効を変更します。変更したいフィールドのみ送信してください。SSH公開鍵の登録・更新・削除の結果によっては、SSH接続および国外アクセス制限が自動で有効/無効される場合があります。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
ssh_enabled |
boolean |
任意 |
SSH接続の有効/無効 |
abroad_access_restriction |
boolean |
任意 |
国外アクセス制限の有効/無効 |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/ssh" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ssh_enabled": true,
"abroad_access_restriction": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
ssh_enabled |
boolean |
変更後のSSH接続状態(送信時のみ。未送信の項目は null) |
abroad_access_restriction |
boolean |
変更後の国外制限状態(送信時のみ。未送信の項目は null) |
message |
string |
処理結果メッセージ |
レスポンス例
{
"ssh_enabled": true,
"abroad_access_restriction": null,
"message": "SSH設定を変更しました"
}
SSH公開鍵一覧を取得
登録済みSSH公開鍵の一覧を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/ssh/key" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
keys[].id |
integer |
公開鍵ID |
keys[].label |
string |
ラベル |
keys[].public_key |
string |
公開鍵 |
keys[].status |
string |
ステータス(on/off) |
keys[].created_at |
string |
登録日時 |
レスポンス例
{
"keys": [
{
"id": 1,
"label": "CI/CD用",
"public_key": "ssh-ed25519 AAAA...",
"status": "on",
"created_at": "2026-04-01 12:00:00"
}
]
}
SSH公開鍵を登録
公開鍵を手動で登録するか、generate: true でサーバー側で鍵ペアを自動生成します。自動生成時は秘密鍵がレスポンスに含まれます(発行時の1回のみ)。公開鍵が最初に登録される場合は、SSH接続および国外アクセス制限が自動で有効になります。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
label |
string |
必須 |
ラベル(1〜500文字) |
public_key |
string |
任意 |
公開鍵(手動登録時。OpenSSH形式) |
generate |
boolean |
任意 |
サーバー側で鍵ペアを自動生成するか(デフォルト: false) |
passphrase |
string |
任意 |
パスフレーズ(自動生成時のみ。6〜32文字) |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/ssh/key" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "デプロイ用",
"public_key": "ssh-ed25519 AAAA...",
"generate": true,
"passphrase": ""
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
integer |
公開鍵ID |
label |
string |
ラベル |
public_key |
string |
公開鍵 |
status |
string |
ステータス |
private_key |
string |
秘密鍵(自動生成時のみ、発行時の1回だけ返却) |
message |
string |
処理結果メッセージ。有効な公開鍵が0件だった場合は suffix が付加される場合があります |
レスポンス例
{
"id": 2,
"label": "デプロイ用",
"public_key": "ssh-ed25519 AAAA...",
"status": "on",
"private_key": "-----BEGIN OPENSSH PRIVATE KEY-----\n...",
"message": "SSH鍵ペアを生成しました(SSH接続と国外アクセス制限を有効化しました)"
}
SSH公開鍵を更新
ラベルやステータス(on/off)を変更します。変更したいフィールドのみ送信してください。ステータスの変更により、公開鍵が有効になる一つ目の場合は SSH接続および国外アクセス制限が自動で有効になります。有効な公開鍵が0件になる場合は SSH接続および国外アクセス制限が自動で無効になります。SSH接続設定が無効の状態では更新できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
key_id | 公開鍵ID |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
label |
string |
任意 |
ラベル |
status |
string |
任意 |
ステータス(on/off) |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/ssh/key/{key_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "本番用",
"status": "off"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
integer |
公開鍵ID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": 1,
"message": "SSH公開鍵を更新しました"
}
SSH公開鍵を削除
指定したSSH公開鍵を削除します。公開鍵がすべて削除されて有効な公開鍵が0件になる場合は、SSH接続および国外アクセス制限が自動で無効になります。SSH接続設定が無効の状態では削除できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
key_id | 公開鍵ID |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/ssh/key/{key_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
integer |
公開鍵ID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": 1,
"message": "SSH公開鍵を削除しました(SSH公開鍵がすべて削除されたため、SSH接続と国外アクセス制限を無効にしました)"
}
WordPressユーザー
WordPressユーザー一覧を取得
指定したサイトのWordPressユーザーの一覧を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
search |
string |
任意 |
ユーザー名等の部分一致で絞り込み(半角英数字と _ - . @) |
orderby |
string |
任意 |
並び替え項目(ID / user_login / display_name / user_email / user_registered) |
order |
string |
任意 |
並び順(asc / desc) |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wp-users" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
wp_users[].id |
integer |
WordPressユーザーID(詳細・更新・削除APIで使用) |
wp_users[].user_login |
string |
ユーザー名(ログインID) |
wp_users[].display_name |
string |
表示名 |
wp_users[].user_email |
string |
メールアドレス |
wp_users[].roles |
string[] |
権限グループの配列(例: ["administrator"])。WordPressのユーザーは複数の権限グループを持てるため、1件の場合も配列で返します |
wp_users[].user_registered |
string |
登録日時 |
wp_users[].user_url |
string |
サイトURL(WordPressプロフィールの「Webサイト」欄。未設定時は空文字) |
レスポンス例
{
"wp_users": [
{
"id": 1,
"user_login": "admin",
"display_name": "admin",
"user_email": "admin@example.com",
"roles": ["administrator"],
"user_registered": "2026-07-01 10:00:00",
"user_url": ""
}
]
}
WordPressユーザー詳細を取得
指定したWordPressユーザーの情報を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子 |
user_id | WordPressユーザーID。ユーザー一覧API(GET .../wp-users)の id で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wp-users/{user_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
wp_user.id |
integer |
WordPressユーザーID |
wp_user.user_login |
string |
ユーザー名(ログインID) |
wp_user.display_name |
string |
表示名 |
wp_user.user_email |
string |
メールアドレス |
wp_user.roles |
string[] |
権限グループの配列(例: ["editor"])。WordPressのユーザーは複数の権限グループを持てるため、1件の場合も配列で返します |
wp_user.user_registered |
string |
登録日時 |
wp_user.user_url |
string |
サイトURL(WordPressプロフィールの「Webサイト」欄。未設定時は空文字) |
レスポンス例
{
"wp_user": {
"id": 2,
"user_login": "editor01",
"display_name": "編集者",
"user_email": "editor@example.com",
"roles": ["editor"],
"user_registered": "2026-07-10 12:00:00",
"user_url": ""
}
}
WordPressユーザーを作成
指定したサイトにWordPressユーザーを作成します。role に指定できる値は GET .../wp-users/roles で確認できます。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子 |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
user_login |
string |
必須 |
ユーザー名(半角英数字と _ - . @ のみ・60文字以内) |
user_email |
string |
必須 |
メールアドレス |
user_pass |
string |
必須 |
パスワード(半角7文字以上64文字以内) |
role |
string |
必須 |
権限グループ(例: administrator / editor / author / contributor / subscriber) |
display_name |
string |
任意 |
表示名 |
first_name |
string |
任意 |
名 |
last_name |
string |
任意 |
姓 |
user_url |
string |
任意 |
サイトURL |
send_email |
boolean |
任意 |
新規ユーザーへアカウントに関するメールを送信するか(未指定時は送信しない) |
リクエスト例
curl \
-X POST \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wp-users" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_login": "author01",
"user_email": "author01@example.com",
"user_pass": "Passw0rd!",
"role": "author",
"display_name": "",
"first_name": "",
"last_name": "",
"user_url": "",
"send_email": false
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
wp_user.id |
integer |
作成されたWordPressユーザーID |
wp_user.user_login |
string |
ユーザー名 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"wp_user": {
"id": 5,
"user_login": "author01"
},
"message": "WordPressユーザーを作成しました"
}
WordPressユーザーを更新
指定したWordPressユーザーの情報を更新します。送信した項目のみ更新されます(いずれか1つ以上必須)。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子 |
user_id | WordPressユーザーID |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
user_email |
string |
任意 |
メールアドレス |
user_pass |
string |
任意 |
パスワード(半角7文字以上64文字以内) |
role |
string |
任意 |
権限グループ |
display_name |
string |
任意 |
表示名 |
first_name |
string |
任意 |
名 |
last_name |
string |
任意 |
姓 |
user_url |
string |
任意 |
サイトURL |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wp-users/{user_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_email": "",
"user_pass": "",
"role": "",
"display_name": "",
"first_name": "",
"last_name": "",
"user_url": ""
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
wp_user.id |
integer |
更新したWordPressユーザーID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"wp_user": {
"id": 5
},
"message": "WordPressユーザーを更新しました"
}
WordPressユーザーを削除
指定したWordPressユーザーを削除します。対象ユーザーの投稿等のコンテンツもあわせて削除されます。ユーザーID 1(サイト作成時の初期ユーザー)は削除できません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子 |
user_id | 削除するWordPressユーザーID |
リクエスト例
curl \
-X DELETE \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wp-users/{user_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "WordPressユーザーを削除しました"
}
権限グループ一覧を取得
ユーザー作成・更新APIの role に指定できる権限グループの一覧を返します。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子 |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/wp-users/roles" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
roles[].role |
string |
権限グループのキー(role に指定する値) |
roles[].name |
string |
権限グループの表示名 |
レスポンス例
{
"roles": [
{"role": "administrator", "name": "Administrator"},
{"role": "editor", "name": "Editor"},
{"role": "author", "name": "Author"},
{"role": "contributor", "name": "Contributor"},
{"role": "subscriber", "name": "Subscriber"}
]
}
WordPressセキュリティ
セキュリティ設定一覧を取得
指定したサイトのWordPressセキュリティ設定の状態を返します。国外アクセス制限・ログイン試行回数制限・コメント/トラックバック制限・その他のセキュリティ項目を含みます。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子。サイト一覧API(GET /v1/wphosting/{contract_id}/sites)の servername で取得できます |
リクエスト例
curl \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/security" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
security_settings[].key |
string |
設定キー(設定変更APIで使用) |
security_settings[].label |
string |
設定の表示名 |
security_settings[].is_enable |
boolean |
現在有効かどうか |
security_settings[].is_disable_locked |
boolean |
無効化しようとしたときに409エラーになるか。セキュリティ自動最適化モードが有効なサイトで、ロック対象の項目のみ true になります。 |
レスポンス例
{
"security_settings": [
{
"key": "foreign_ip_restriction_restapi",
"label": "国外アクセス制限設定 > REST API アクセス制限",
"is_enable": true,
"is_disable_locked": true
},
{
"key": "comment_restriction_foreign_post",
"label": "コメント・トラックバック制限 > 国外からの投稿",
"is_enable": false,
"is_disable_locked": false
}
]
}
セキュリティ設定を変更
指定したセキュリティ設定の有効/無効を切り替えます。国外からWordPressのREST APIや管理画面を利用する場合は、該当の国外アクセス制限を無効化してください。REST API制限とダッシュボード制限は連動します。セキュリティ自動最適化モードが有効なサイトでは、一部の項目を無効化できません。許可IPリストはAPIからは変更されません。
パスパラメータ
| 名前 | 説明 |
contract_id | ご契約の契約ID(WP- で始まる契約ID。例: WP-AB234567) |
servername | サイト環境の識別子 |
key | 設定キー。セキュリティ設定一覧API(GET .../security)の key で取得できます |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
is_enable |
boolean |
必須 |
有効にする場合は true・無効にする場合は false |
リクエスト例
curl \
-X PUT \
"https://api.xserver.ne.jp/v1/wphosting/{contract_id}/sites/{servername}/security/{key}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"is_enable": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
security_setting.key |
string |
変更した設定キー |
security_setting.is_enable |
boolean |
変更後の状態 |
message |
string |
処理結果メッセージ。国外アクセス制限の連動が発生した場合は suffix が付加されます(REST API 有効化時: 「(REST API アクセス制限を有効にした場合、ダッシュボード アクセス制限も有効になります)」/ダッシュボード無効化かつ変更前に REST API が ON の場合: 「(ダッシュボード アクセス制限を無効にしたため、REST API アクセス制限も無効にしました)」)。 |
レスポンス例
{
"security_setting": {
"key": "foreign_ip_restriction_restapi",
"is_enable": true
},
"message": "セキュリティ設定を変更しました(REST API アクセス制限を有効にした場合、ダッシュボード アクセス制限も有効になります)"
}
© 2026 XServer Inc.