シンアカウント API リファレンス
シンアカウントAPI は、シンレンタルサーバーのサーバーパネルで提供している主要機能を REST API で利用するためのインターフェースです。
| 項目 | 値 |
| ベースURL | https://api.shin-server.jp |
| ベースパス | /v1/server/{servername} |
| プロトコル | HTTPS |
| レスポンス形式 | JSON |
| OpenAPI仕様 | openapi.json |
認証
すべてのリクエストで Authorization ヘッダーに Bearer トークン(APIキー)を付与してください。
Authorization: Bearer xs_xxxxxxxxxxxx...
APIキーはシンアカウント(契約管理画面)の「APIキー管理」から発行できます。キー名・有効期限・対象サーバーアカウント・権限を設定できます。
APIキーの発行手順については、下記マニュアルをご参照ください。
権限(スコープ)
APIキー発行時に設定する権限によって、利用可能なAPIが異なります。各エンドポイントに表示されている必要な権限を確認してください。
| APIキーの権限 | 利用可能なAPI |
| すべての操作 | 読み取り + 書き込み のすべてのAPI |
| 読み取り専用 | 読み取り のAPIのみ |
| カスタム | 個別に選択した権限に応じたAPI |
レート制限
レスポンスヘッダーでレート制限情報が返されます。
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 が返されます。
| プラン | リクエスト/分 | リクエスト/日 | 同時接続数 |
| シンレンタルサーバー ベーシック | 60 | 10,000 | 5 |
| シンレンタルサーバー スタンダード | 120 | 30,000 | 10 |
| シンレンタルサーバー プレミアム | 120 | 30,000 | 10 |
| シンレンタルサーバー ビジネス | 300 | 100,000 | 20 |
HTTPステータスコード
成功時
リクエストが正常に処理された場合、以下のステータスコードが返されます。
| ステータス | 意味 | 対象 |
200 | OK | すべてのリクエスト(GET / POST / PUT / DELETE) |
成功時のレスポンスボディは各エンドポイントのレスポンス例を参照してください。
エラーハンドリング
エラー時は以下の形式の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 | バックエンドとの通信でエラーが発生 |
エラーコード一覧
レスポンスの error.code には以下のいずれかの値が入ります。
| コード | HTTP | 説明 |
BAD_REQUEST | 400 | リクエストの形式が不正(JSONのパースエラー、必須ヘッダー欠落など) |
UNAUTHORIZED | 401 | APIキーが未指定・無効・期限切れ |
FORBIDDEN | 403 | APIキーの権限不足またはIP制限 |
NOT_FOUND | 404 | 指定したリソース(ID・アカウント等)が存在しない |
OPERATION_ERROR | 409 | リクエストは有効だが、サーバー側の制約により操作を完了できなかった。message に原因が含まれます(例: 重複登録、パスワードポリシー違反など) |
VALIDATION_ERROR | 422 | 入力値のバリデーションエラー。errors 配列にメッセージが含まれます |
RATE_LIMIT_EXCEEDED | 429 | 分あたり・日あたりのリクエスト上限を超過。Retry-After ヘッダーで待機秒数を確認できます |
INTERNAL_ERROR | 500 | API内部で予期しないエラーが発生 |
BACKEND_ERROR | 502 | バックエンドとの通信・応答処理でエラーが発生。時間をおいて再試行してください |
共通仕様
サーバー名(servername)について
APIのURLパスに含まれる {servername} には、サーバーの初期ドメインを指定してください。
初期ドメインはサーバー契約時に自動で付与されるドメインで、以下の形式です。
| サービス | 初期ドメインの形式 |
| シンレンタルサーバー | サーバーID.wpx.jp |
GET /v1/server/wp123456.wpx.jp/server-info
ドメイン所有権確認
一部のAPIでは、操作対象ドメインの所有権確認として _xserver-verify.{domain} の TXT レコード検証が自動で実施されます。
事前に以下の手順で TXT レコードを設定してください。
- サーバー情報取得API(
GET /v1/server/{servername}/server-info)を実行し、レスポンスの domain_validation_token を取得する
- 対象ドメインの DNS に TXT レコードを追加する
ホスト名: _xserver-verify.{domain}
値: xserver-verify={取得したトークン}
- DNS の反映を待ってから対象APIを実行する
所有権確認が必要なAPIは以下の通りです。
- ドメイン追加(
POST /v1/server/{servername}/domain)
- メールアカウント作成(
POST /v1/server/{servername}/mail)
日本語ドメインについて
日本語ドメイン(国際化ドメイン名)を指定する場合、APIによって指定方法が異なります。
| API | 指定方法 |
ドメイン追加(POST /domain) | 日本語ドメインのまま指定可能(例: 日本語.jp) |
| 上記以外のドメイン操作 | Punycode に変換して指定(例: xn--wgv71a309e.jp) |
パスパラメータ・クエリパラメータ・リクエストボディのいずれでドメインを指定する場合も同様です。サブドメインの場合はドメイン部分を Punycode に変換してください(例: blog.xn--wgv71a309e.jp)。
APIキー情報
認証中のAPIキー情報を取得
現在認証に使用しているAPIキーの情報を返します。有効期限・紐づくサーバー名・権限種別を確認できます。
リクエスト例
curl \
"https://api.shin-server.jp/v1/me" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
service_type |
string |
APIキーのサービス種別(server) |
expires_at |
string|null |
有効期限(ISO 8601形式)。無期限の場合は null |
servername |
string |
紐づくサーバー名(初期ドメイン) |
permission_type |
string |
権限種別(full / read / custom) |
レスポンス例
{
"service_type": "server",
"expires_at": "2027-04-16T00:00:00",
"servername": "wp123456.wpx.jp",
"permission_type": "full"
}
サーバー情報
サーバー情報を取得
サーバーのスペック・ソフトウェアバージョン・ネームサーバーなどの基本情報を返します。サーバーパネルの「サーバー情報」画面に相当します。
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/server-info" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
server_id |
string |
サーバーID(例: wp123456) |
hostname |
string |
ホスト名(例: sv12345.wpx.ne.jp) |
ip_address |
string |
IPアドレス |
os |
string |
OS名(例: Linux) |
cpu |
string|null |
CPU情報。XServerビジネスのサブアカウントでは null |
memory |
string|null |
メモリ容量(例: 1024GB)。XServerビジネスのサブアカウントでは null |
apache_version |
string |
Apacheバージョン(パッチ番号は x 表記。例: 2.4.x) |
perl_versions |
string[] |
利用可能なPerlバージョンの配列 |
php_versions |
string[] |
利用可能なPHPバージョンの配列(PHP8→PHP7→PHP5→PHP4 の順) |
db_versions |
string[] |
利用可能なDB製品+バージョンの配列。先頭が mysql または mariadb(例: mariadb10.5.x) |
name_servers |
string[] |
ネームサーバーの配列(通常 ns1〜ns5) |
domain_validation_token |
string |
ドメイン追加時の所有権確認用トークン。_xserver-verify.{domain} の TXT レコードに xserver-verify={token} を設定して使用する |
レスポンス例
{
"server_id": "wp123456",
"hostname": "sv12345.wpx.ne.jp",
"ip_address": "123.45.67.89",
"os": "Linux",
"cpu": "AMD EPYC 9534( 2.45GHz ) x 2",
"memory": "1536GB",
"apache_version": "2.4.x",
"perl_versions": ["5.26", "5.16"],
"php_versions": ["8.5.2", "8.4.12", "8.3.21", "8.2.28", "7.4.33", "7.3.33"],
"db_versions": ["mariadb10.5.x"],
"name_servers": ["ns1.wpx.ne.jp", "ns2.wpx.ne.jp", "ns3.wpx.ne.jp"],
"domain_validation_token": "a1b2c3d4e5f6..."
}
サーバー利用状況を取得
ディスク使用量・ファイル数・各種設定件数を返します。サーバーパネルのトップページに表示される利用状況に相当します。ディスク容量はサーバーパネルと同じ基準(MB を 1000 で除算した小数2桁)で GB 換算した値を返します。
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/server-info/usage" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
disk.quota_gb |
number |
ディスク容量の上限(GB、小数2桁) |
disk.used_gb |
number |
ディスク使用量(GB、小数2桁) |
disk.file_limit |
integer |
ファイル数の上限(プランにより 0 の場合は無制限) |
disk.file_count |
integer |
現在のファイル数 |
counts.domains |
integer |
ドメイン設定数(初期ドメインを除く) |
counts.subdomains |
integer |
サブドメイン設定数 |
counts.mail_accounts |
integer |
メールアカウント数 |
counts.ftp_accounts |
integer |
FTPアカウント数(メインアカウントを除く追加分) |
counts.mysql_databases |
integer |
MySQLデータベース数 |
レスポンス例
{
"disk": {
"quota_gb": 500,
"used_gb": 0.67,
"file_limit": 0,
"file_count": 12345
},
"counts": {
"domains": 3,
"subdomains": 2,
"mail_accounts": 5,
"ftp_accounts": 2,
"mysql_databases": 4
}
}
Cron設定
Cron一覧を取得
登録済みのCron設定を一覧で返します。各要素の id は PUT/DELETE で指定するハッシュIDです。
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{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 で使用します。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
minute |
string |
必須 |
分(0-59, */5 等) |
hour |
string |
必須 |
時(0-23, * 等) |
day |
string |
必須 |
日(1-31, * 等) |
month |
string |
必須 |
月(1-12, * 等) |
weekday |
string |
必須 |
曜日(0-7, * 等) |
command |
string |
必須 |
実行コマンド(最大1024文字) |
comment |
string |
任意 |
コメント |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{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 を使用してください。
パスパラメータ
| 名前 | 説明 |
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.shin-server.jp/v1/server/{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を削除
パスパラメータ
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/cron/{cron_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "Cron設定を削除しました"
}
WordPress簡単インストール
WordPress一覧を取得
簡単インストールでインストール済みのWordPress一覧を返します。domain を指定すると、そのドメインのインストールのみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/wp" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
wordpress[].id |
string |
WordPressのハッシュID(PUT/DELETEで使用) |
wordpress[].domain |
string |
親ドメイン |
wordpress[].url |
string |
インストール先URL |
wordpress[].title |
string |
サイトのタイトル |
wordpress[].version |
string |
WordPressバージョン |
wordpress[].db_name |
string |
使用しているデータベース名 |
wordpress[].db_user |
string |
使用しているデータベースユーザー名 |
wordpress[].memo |
string |
メモ |
レスポンス例
{
"wordpress": [
{
"id": "a1b2c3d4e5f6g7h8",
"domain": "example.com",
"url": "http://example.com/blog",
"title": "My Blog",
"version": "6.4.2",
"db_name": "wp123456_db01",
"db_user": "wp123456_user01",
"memo": "ブログ用"
}
]
}
WordPressを新規インストール
指定URLにWordPressを簡単インストールします。URLにはドメインまたはサブドメインを指定でき、パス付きも可能です。スキーム(https:// 等)は省略できます。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
url |
string |
必須 |
インストール先URL(最大512文字)。スキーム省略可。例: example.com/blog, https://sub.example.com/wp |
title |
string |
必須 |
サイトタイトル(最大255文字) |
admin_username |
string |
必須 |
管理者ユーザー名(最大255文字) |
admin_password |
string |
必須 |
管理者パスワード(7文字以上) |
admin_email |
string |
必須 |
管理者メールアドレス(最大255文字) |
memo |
string |
任意 |
メモ(最大500文字) |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/wp" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https:\/\/example.com\/blog",
"title": "My Blog",
"admin_username": "admin",
"admin_password": "SecurePass123",
"admin_email": "admin@example.com",
"memo": "ブログ用WP"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
string |
作成されたWordPressのハッシュID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": "a1b2c3d4e5f6g7h8",
"message": "WordPressをインストールしました"
}
WordPress設定を変更
現在変更可能な項目はメモのみです。送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
| 名前 | 説明 |
wp_id | WordPressのID(一覧取得で得られる id) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
memo |
string |
任意 |
メモ(省略時は空文字に更新) |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/wp/{wp_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"memo": "ブログ用WP"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "WordPress設定を変更しました"
}
WordPressを削除
WordPressをアンインストールします。関連するデータベース・ユーザー・Cronの削除はオプションで制御できます。デフォルトでは delete_db / delete_cron は true ですが、delete_db_user は false(DBユーザーは残す)である点に注意してください。完全に削除したい場合は delete_db_user: true を明示的に指定してください。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
delete_db |
boolean |
任意 |
関連するMySQLデータベースも削除するか(デフォルト: true) |
delete_db_user |
boolean |
任意 |
関連するMySQLユーザーも削除するか(デフォルト: false。完全削除したい場合は明示的に true を指定) |
delete_cron |
boolean |
任意 |
キャッシュ自動削除Cronも削除するか(デフォルト: true) |
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/wp/{wp_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"delete_db": true,
"delete_db_user": false,
"delete_cron": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "WordPressを削除しました"
}
メールアカウント
メールアカウント一覧を取得
サーバーに登録済みのメールアカウントを一覧で返します。domain を指定すると、そのドメインのアカウントのみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/mail" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
accounts[].mail_address |
string |
メールアドレス |
accounts[].quota_mb |
integer |
メールボックス容量(MB) |
accounts[].memo |
string |
メモ |
レスポンス例
{
"accounts": [
{
"mail_address": "info@example.com",
"quota_mb": 2000,
"memo": "問い合わせ用"
}
]
}
メールアカウント詳細を取得
指定したメールアカウントの詳細情報(容量・使用量を含む)を返します。
パスパラメータ
| 名前 | 説明 |
mail_account | メールアドレス(例: user@example.com)。URLエンコードすること |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/mail/{mail_account}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
mail_address |
string |
メールアドレス |
quota_mb |
integer |
メールボックス容量上限(MB) |
used_mb |
number |
メールボックス使用量(MB) |
memo |
string |
メモ |
レスポンス例
{
"mail_address": "info@example.com",
"quota_mb": 2000,
"used_mb": 12.5,
"memo": "問い合わせ用"
}
メールアカウントを作成
メールアカウントを作成します。作成時にドメイン所有権の確認(TXTレコード検証)が自動で実施されます。詳細は「ドメイン所有権確認」を参照してください。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
mail_address |
string |
必須 |
メールアドレス |
password |
string |
必須 |
パスワード(8文字以上) |
quota_mb |
integer |
任意 |
容量(MB) 1-50000 |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/mail" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mail_address": "info@example.com",
"password": "SecurePass123",
"quota_mb": 2000,
"memo": "問い合わせ用"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
mail_address |
string |
作成されたメールアドレス |
message |
string |
処理結果メッセージ |
レスポンス例
{
"mail_address": "info@example.com",
"message": "メールアカウントを作成しました"
}
メールアカウントを変更
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
password |
string |
任意 |
パスワード(8文字以上) |
quota_mb |
integer |
任意 |
容量(MB) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/mail/{mail_account}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"password": "NewPass456",
"quota_mb": 3000,
"memo": "営業部用"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "メールアカウント設定を変更しました"
}
メールアカウントを削除
パスパラメータ
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/mail/{mail_account}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "メールアカウントを削除しました"
}
メール転送設定を取得
パスパラメータ
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/mail/{mail_account}/forwarding" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
forwarding_addresses |
string[] |
転送先メールアドレスの配列 |
keep_in_mailbox |
boolean |
転送後もメールボックスに残すかどうか |
レスポンス例
{
"forwarding_addresses": [
"forward1@example.com",
"forward2@example.com"
],
"keep_in_mailbox": true
}
メール転送設定を更新
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。転送先アドレスは上書きで設定されます。空配列を送ると転送先をクリアできます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
forwarding_addresses |
array |
任意 |
転送先メールアドレスの配列 |
keep_in_mailbox |
boolean |
任意 |
転送後もメールボックスに残すか |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/mail/{mail_account}/forwarding" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"forwarding_addresses": [
"forward@example.com"
],
"keep_in_mailbox": true
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "メール転送設定を変更しました"
}
メール振り分け
振り分け設定一覧を取得
条件とアクションで定義された振り分けルールの一覧を返します。domain を指定すると、そのドメインのルールのみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/mail-filter" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
filters[].id |
string |
振り分けルールのID(DELETEで使用) |
filters[].domain |
string |
対象ドメイン |
filters[].priority |
integer |
ドメイン内での優先度(1から連番。番号が小さいほど先に評価される) |
filters[].conditions |
object[] |
条件の配列。複数条件はすべてANDで評価される |
filters[].conditions[].keyword |
string |
マッチさせるキーワード |
filters[].conditions[].field |
string |
対象フィールドsubject件名from差出人toあて先body本文headerヘッダー全体
|
filters[].conditions[].match_type |
string |
一致条件containキーワードを含むmatchキーワードと完全一致start_fromキーワードから始まる
|
filters[].action |
object |
振り分けアクション |
filters[].action.type |
string |
転送先種別mail_address指定メールアドレスに転送spam_folder迷惑メールフォルダに振り分けtrashゴミ箱に振り分けdeleteメールを削除
|
filters[].action.target |
string |
転送先メールアドレス。type が mail_address の場合に値が入り、それ以外では空文字 |
filters[].action.method |
string |
処理方法move転送(元のメールボックスには残さない)copyコピー転送(元のメールボックスにも残す)
|
レスポンス例
{
"filters": [
{
"id": "f1a2b3c4",
"domain": "example.com",
"priority": 1,
"conditions": [
{
"keyword": "aaa",
"field": "from",
"match_type": "match"
}
],
"action": {
"type": "spam_folder",
"target": "",
"method": "copy"
}
},
{
"id": "e5f67890",
"domain": "example.com",
"priority": 2,
"conditions": [
{
"keyword": "test",
"field": "from",
"match_type": "match"
},
{
"keyword": "info",
"field": "to",
"match_type": "match"
}
],
"action": {
"type": "spam_folder",
"target": "",
"method": "copy"
}
}
]
}
振り分け設定を追加
条件を1つ以上、アクションを必須で指定します。複数条件はすべてANDで評価されます。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
ドメイン(最大253文字。日本語ドメインの場合はPunycodeで指定) |
conditions[].keyword |
string |
必須 |
マッチさせるキーワード |
conditions[].field |
string |
必須 |
対象フィールドsubject件名from差出人toあて先body本文headerヘッダー全体
|
conditions[].match_type |
string |
必須 |
一致条件containキーワードを含むmatchキーワードと完全一致start_fromキーワードから始まる
|
action.type |
string |
必須 |
転送先種別mail_address指定メールアドレスに転送spam_folder迷惑メールフォルダに振り分けtrashゴミ箱に振り分けdeleteメールを削除
|
action.target |
string |
任意 |
転送先メールアドレス。type が mail_address の場合に指定(それ以外では省略可) |
action.method |
string |
必須 |
処理方法move転送(元のメールボックスには残さない)copyコピー転送(元のメールボックスにも残す)
|
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/mail-filter" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "",
"conditions": [
{
"keyword": "",
"field": "",
"match_type": ""
}
],
"action": {
"type": "",
"target": "",
"method": ""
}
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
id |
string |
追加された振り分けルールのID |
message |
string |
処理結果メッセージ |
レスポンス例
{
"id": "f1a2b3c4",
"message": "メール振り分けルールを追加しました"
}
振り分け設定を削除
パスパラメータ
| 名前 | 説明 |
filter_id | 振り分けルールのID(一覧取得で得られる id) |
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/mail-filter/{filter_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "メール振り分けルールを削除しました"
}
FTPアカウント
FTPアカウント一覧を取得
登録済みFTPアカウントを一覧で返します。メインアカウントは含まれません。domain を指定すると、そのドメインのアカウントのみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/ftp" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
accounts[].ftp_account |
string |
FTPアカウント(user@domain 形式) |
accounts[].directory |
string |
アクセス先ディレクトリ |
accounts[].quota_mb |
integer |
容量制限(MB。0 は無制限) |
accounts[].memo |
string |
メモ |
レスポンス例
{
"accounts": [
{
"ftp_account": "ftpuser@example.com",
"directory": "example.com/public_html",
"quota_mb": 5000,
"memo": "開発用"
}
]
}
FTPアカウントを追加
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
ftp_account |
string |
必須 |
FTPアカウント(user@domain 形式。例: ftpuser@example.com) |
password |
string |
必須 |
パスワード(8文字以上) |
directory |
string |
任意 |
ディレクトリ(デフォルト: /) |
quota_mb |
integer |
任意 |
容量(MB) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/ftp" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ftp_account": "ftpuser@example.com",
"password": "FtpPass123!",
"directory": "\/public_html",
"quota_mb": 5000,
"memo": "開発用"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
ftp_account |
string |
作成されたFTPアカウント(user@domain 形式) |
message |
string |
処理結果メッセージ |
レスポンス例
{
"ftp_account": "ftpuser@example.com",
"message": "FTPアカウントを作成しました"
}
FTPアカウントを変更
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
| 名前 | 説明 |
ftp_account | FTPアカウント(user@domain 形式) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
password |
string |
任意 |
パスワード(8文字以上) |
directory |
string |
任意 |
ディレクトリ |
quota_mb |
integer |
任意 |
容量(MB) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/ftp/{ftp_account}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"password": "NewFtpPass456!",
"directory": "\/public_html",
"quota_mb": 1000,
"memo": "本番用"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "FTPアカウント設定を変更しました"
}
FTPアカウントを削除
パスパラメータ
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/ftp/{ftp_account}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "FTPアカウントを削除しました"
}
MySQL
データベース一覧を取得
MySQLデータベースの一覧を返します。
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/db" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
databases[].db_name |
string |
データベース名 |
databases[].version_name |
string |
バージョン表示名(例: MariaDB10.5) |
databases[].size_mb |
number |
データベースサイズ(MB) |
databases[].granted_users |
array |
アクセス権限を持つMySQLユーザー名の配列 |
databases[].memo |
string |
メモ |
レスポンス例
{
"databases": [
{
"db_name": "wp123456_db01",
"version_name": "MariaDB10.5",
"size_mb": 128.5,
"granted_users": ["wp123456_user01"],
"memo": "本番用DB"
}
]
}
データベースを作成
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
name_suffix |
string |
必須 |
データベース名のサフィックス(サーバーID_に続く部分、例: db01 → wp123456_db01) |
character_set |
string |
任意 |
文字コード(省略時 utf8mb4)utf8mb4UTF-8EUC-JPSHIFT-JISBinary |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/db" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name_suffix": "db01",
"character_set": "utf8mb4",
"memo": "本番用DB"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
db_name |
string |
作成されたデータベース名(サーバーID_サフィックス) |
message |
string |
処理結果メッセージ |
レスポンス例
{
"db_name": "wp123456_db01",
"message": "データベースを作成しました"
}
データベースのメモを更新
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
memo |
string |
必須 |
メモ |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/db/{db_name}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"memo": "本番用DB"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "データベース設定を変更しました"
}
データベースを削除
パスパラメータ
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/db/{db_name}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "データベースを削除しました"
}
MySQLユーザー一覧を取得
MySQLユーザーの一覧を返します。
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/db/user" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
users[].db_user |
string |
MySQLユーザー名 |
users[].version_name |
string |
バージョン表示名 |
users[].memo |
string |
メモ |
レスポンス例
{
"users": [
{
"db_user": "wp123456_user01",
"version_name": "MariaDB10.5",
"memo": "WP用ユーザー"
}
]
}
MySQLユーザーを作成
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
name_suffix |
string |
必須 |
ユーザー名のサフィックス(サーバーID_に続く部分、例: user01 → wp123456_user01) |
password |
string |
必須 |
パスワード(8文字以上) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/db/user" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name_suffix": "user01",
"password": "DbPass123!",
"memo": "アプリ用ユーザー"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
db_user |
string |
作成されたMySQLユーザー名(サーバーID_サフィックス) |
message |
string |
処理結果メッセージ |
レスポンス例
{
"db_user": "wp123456_user01",
"message": "MySQLユーザーを作成しました"
}
MySQLユーザーを変更
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
password |
string |
任意 |
パスワード(8文字以上) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"password": "NewDbPass456!",
"memo": "WP用ユーザー"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "MySQLユーザー設定を変更しました"
}
MySQLユーザーを削除
パスパラメータ
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "MySQLユーザーを削除しました"
}
データベース権限を取得
指定したMySQLユーザーがアクセス権限を持つデータベースの一覧を返します。
パスパラメータ
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}/grant" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
databases[] |
string |
アクセス権限を持つデータベース名の配列 |
レスポンス例
{
"databases": [
"wp123456_db01",
"wp123456_db02"
]
}
データベース権限を付与
指定したMySQLユーザーにデータベースへのアクセス権限を付与します。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
db_name |
string |
必須 |
データベース名 |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}/grant" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"db_name": "wp123456_db01"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "権限を付与しました"
}
データベース権限を削除
指定したMySQLユーザーからデータベースへのアクセス権限を削除します。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
db_name |
string |
必須 |
データベース名 |
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}/grant" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"db_name": "wp123456_db01"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "権限を削除しました"
}
PHPバージョン
PHPバージョン設定を取得
選択可能なPHPバージョン一覧と、ドメインごとの現在のバージョンを返します。domain を指定すると、そのドメインの情報のみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/php-version" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
available_versions |
object |
選択可能なPHPバージョン。キーがバージョン番号、値が表示名称(例: {"8.3": "PHP8.3.21", "8.2": "PHP8.2.28"}) |
domains[].domain |
string |
ドメイン名 |
domains[].current_version |
string |
現在設定されているPHPバージョン |
レスポンス例
{
"available_versions": {
"8.3": "PHP8.3.21(推奨)",
"8.2": "PHP8.2.28(非推奨)",
"8.1": "PHP8.1.32(非推奨)",
"8.0": "PHP8.0.30(非推奨)"
},
"domains": [
{
"domain": "example.com",
"current_version": "8.2"
}
]
}
PHPバージョンを変更
指定ドメインのPHPバージョンを変更します。
パスパラメータ
| 名前 | 説明 |
domain | ドメイン名(日本語ドメインの場合はPunycodeで指定) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
version |
string |
必須 |
PHPバージョン(例: 8.2) |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/php-version/{domain}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"version": "8.2"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "PHPバージョンを変更しました"
}
ドメイン設定
ドメイン一覧を取得
サーバーに追加済みのドメインの一覧を返します。
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/domain" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
domains[].domain |
string |
ドメイン名 |
domains[].type |
string |
ドメイン種別(例: addon = 追加ドメイン) |
domains[].ssl |
boolean |
SSL設定の有無 |
domains[].memo |
string |
メモ |
domains[].is_awaiting |
boolean |
ドメイン設定反映待ちかどうか |
レスポンス例
{
"domains": [
{
"domain": "example.com",
"type": "addon",
"ssl": true,
"memo": "",
"is_awaiting": false
}
]
}
ドメイン詳細を取得
ドキュメントルート、PHPバージョン、SSL設定状況を含む詳細情報を返します。
パスパラメータ
| 名前 | 説明 |
domain | ドメイン名(日本語ドメインの場合はPunycodeで指定。URLエンコードすること) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/domain/{domain}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
domain |
string |
ドメイン名 |
type |
string |
ドメイン種別(例: addon = 追加ドメイン) |
document_root |
string |
ドキュメントルートの絶対パス |
url |
string |
サイトURL(SSL設定時は https) |
php_version |
string |
現在のPHPバージョン(例: 8.3) |
ssl |
boolean |
SSL証明書が設定されているかどうか |
memo |
string |
メモ |
is_awaiting |
boolean |
ドメイン設定反映待ちかどうか |
created_at |
string |
追加日 |
レスポンス例
{
"domain": "example.com",
"type": "addon",
"document_root": "/home/wp123456/example.com/public_html",
"url": "https://example.com/",
"php_version": "8.3",
"ssl": true,
"memo": "",
"is_awaiting": false,
"created_at": "2024-01-15"
}
ドメインを追加
追加型ドメインをサーバーに追加します。追加時にドメイン所有権の確認(TXTレコード検証)が自動で実施されます。詳細は「ドメイン所有権確認」を参照してください。ssl を true にすると無料SSLも設定されます。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
ドメイン名 |
ssl |
boolean |
任意 |
SSL設定(デフォルト: true) |
redirect_https |
boolean |
任意 |
HTTPS転送設定(デフォルト: ssl と同じ値) |
ai_crawler_block_enabled |
boolean |
任意 |
AIクローラー遮断設定(デフォルト: true) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/domain" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"ssl": true,
"redirect_https": true,
"ai_crawler_block_enabled": true,
"memo": ""
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
domain |
string |
追加されたドメイン名 |
message |
string |
処理結果メッセージ |
ssl_status |
string |
SSL設定結果(ssl=true 指定時のみ)success成功failed失敗failed_nameserverネームサーバー未設定のため失敗
|
レスポンス例
{
"domain": "example.com",
"message": "ドメインを追加しました",
"ssl_status": "success"
}
ドメインのメモを更新
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
| 名前 | 説明 |
domain | ドメイン名(日本語ドメインの場合はPunycodeで指定) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
memo |
string |
必須 |
メモ |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/domain/{domain}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"memo": "メインサイト"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "ドメイン設定を変更しました"
}
ドメインを削除
ドメインを削除します。delete_files を true にすると、ユーザー公開領域のドメインディレクトリも合わせて削除します。
パスパラメータ
| 名前 | 説明 |
domain | ドメイン名(日本語ドメインの場合はPunycodeで指定) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
delete_files |
boolean |
任意 |
ユーザー公開領域のドメインディレクトリも削除するか(デフォルト: false) |
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/domain/{domain}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"delete_files": false
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "ドメインを削除しました"
}
ドメイン設定を初期化
パスパラメータ
| 名前 | 説明 |
domain | ドメイン名(日本語ドメインの場合はPunycodeで指定) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
type |
string |
必須 |
リセット種別all全初期化webWeb領域のみ初期化otherWeb以外の設定を初期化
|
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/domain/{domain}/reset" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "all"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "ドメイン設定をリセットしました"
}
サブドメイン
サブドメイン一覧を取得
登録済みサブドメインの一覧を返します。domain を指定すると、その親ドメインのサブドメインのみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象の親ドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/subdomain" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
subdomains[].subdomain |
string |
サブドメイン名(FQDN 形式。例: blog.example.com) |
subdomains[].domain |
string |
親ドメイン名 |
subdomains[].document_root |
string |
ドキュメントルートのパス |
subdomains[].ssl |
boolean |
SSL設定の有無 |
subdomains[].memo |
string |
メモ |
レスポンス例
{
"subdomains": [
{
"subdomain": "blog.example.com",
"domain": "example.com",
"document_root": "/home/wp123456/blog.example.com/public_html",
"ssl": true,
"memo": "ブログ用"
}
]
}
サブドメインを追加
短時間に連続して作成すると、一時的にエラーが返る場合があります。間隔をあけて再試行してください。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
subdomain |
string |
必須 |
サブドメイン(例: blog.example.com)。日本語ドメインの場合はドメイン部分をPunycodeで指定 |
ssl |
boolean |
任意 |
SSL設定(デフォルト: true) |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/subdomain" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subdomain": "blog.example.com",
"ssl": true,
"memo": "ブログ用"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
subdomain |
string |
追加されたサブドメイン(FQDN 形式) |
message |
string |
処理結果メッセージ |
ssl_status |
string |
SSL設定結果(ssl=true 指定時のみ)success成功failed失敗failed_nameserverネームサーバー未設定のため失敗
|
レスポンス例
{
"subdomain": "blog.example.com",
"message": "サブドメインを追加しました",
"ssl_status": "success"
}
サブドメインのメモを更新
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。
パスパラメータ
| 名前 | 説明 |
subdomain | サブドメイン(日本語ドメインの場合はドメイン部分をPunycodeで指定) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
memo |
string |
任意 |
メモ |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/subdomain/{subdomain}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"memo": "ブログ用"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "サブドメイン設定を変更しました"
}
サブドメインを削除
サブドメインを削除します。delete_files を true にすると、ユーザー公開領域のサブドメインディレクトリも合わせて削除します。
パスパラメータ
| 名前 | 説明 |
subdomain | サブドメイン(日本語ドメインの場合はドメイン部分をPunycodeで指定) |
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
delete_files |
boolean |
任意 |
ユーザー公開領域のサブドメインディレクトリも削除するか(デフォルト: false) |
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/subdomain/{subdomain}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"delete_files": false
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "サブドメインを削除しました"
}
SSL設定
SSL設定一覧を取得
無料SSL(Let's Encrypt)およびオプションSSLの一覧を返します。domain を指定すると、そのドメインの証明書のみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/ssl" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
ssl_list[].id |
integer |
SSL設定のID |
ssl_list[].common_name |
string |
コモンネーム(ドメイン名) |
ssl_list[].type |
string |
証明書種別letsencrypt無料SSL(Let's Encrypt)optionオプション独自SSL
|
ssl_list[].expires_at |
string |
有効期限(ISO 8601形式) |
ssl_list[].status |
string |
状態 |
レスポンス例
{
"ssl_list": [
{
"id": 1,
"common_name": "example.com",
"type": "letsencrypt",
"expires_at": "2024-12-31T23:59:59+09:00",
"status": "active"
}
]
}
無料SSLをインストール
指定ドメインに対して無料SSL証明書(Let's Encrypt)を発行・インストールします。対象ドメインのネームサーバーが当社ネームサーバーの場合のみ利用可能です。外部ネームサーバーを利用中の場合はサーバーパネルから操作してください。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
common_name |
string |
必須 |
コモンネーム(ドメイン名。日本語ドメインの場合はPunycodeで指定) |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/ssl" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"common_name": "example.com"
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "無料SSLを設定しました"
}
無料SSLをアンインストール
パスパラメータ
| 名前 | 説明 |
common_name | Common Name(日本語ドメインの場合はPunycodeで指定) |
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/ssl/{common_name}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "無料SSLを削除しました"
}
DNSレコード
DNSレコード一覧を取得
ドメインに登録されたDNSレコードを一覧で返します。domain を指定すると、そのドメインのレコードのみに絞り込めます。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません) |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/dns" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
records[].id |
integer |
DNSレコードID(PUT/DELETEで使用) |
records[].domain |
string |
対象ドメイン |
records[].host |
string |
ホスト名(@ は apex) |
records[].type |
string |
レコードタイプAAAAACNAMEMXTXTSRVCAA |
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": null
}
]
}
DNSレコードを追加
A, AAAA, CNAME, MX, TXT 等のレコードを追加します。MX の場合は priority を指定できます。
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
ドメイン(最大253文字。日本語ドメインの場合はPunycodeで指定) |
host |
string |
必須 |
ホスト名(@ で apex、最大255文字) |
type |
string |
必須 |
レコードタイプAAAAACNAMEMXTXTSRVCAA |
content |
string |
必須 |
内容 |
ttl |
integer |
任意 |
TTL(60-86400。省略時 3600) |
priority |
integer |
任意 |
MX レコードの優先度 |
リクエスト例
curl \
-X POST \
"https://api.shin-server.jp/v1/server/{servername}/dns" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"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レコードを更新
送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。レコードを自動解決できない場合は domain, host, type, content の指定が必要です。
パスパラメータ
リクエストボディ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
任意 |
ドメイン(日本語ドメインの場合はPunycodeで指定) |
host |
string |
任意 |
ホスト名 |
type |
string |
任意 |
レコードタイプ |
content |
string |
任意 |
内容 |
ttl |
integer |
任意 |
TTL(60-86400) |
priority |
integer |
任意 |
MXレコードの優先度(省略時は現在の設定を維持) |
リクエスト例
curl \
-X PUT \
"https://api.shin-server.jp/v1/server/{servername}/dns/{dns_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"host": "www",
"type": "A",
"content": "192.0.2.1",
"ttl": 3600,
"priority": 10
}'
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "DNSレコードを変更しました"
}
DNSレコードを削除
パスパラメータ
リクエスト例
curl \
-X DELETE \
"https://api.shin-server.jp/v1/server/{servername}/dns/{dns_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
message |
string |
処理結果メッセージ |
レスポンス例
{
"message": "DNSレコードを削除しました"
}
アクセスログ
アクセスログを取得
指定ドメインのアクセスログを取得します。lines で末尾からの取得行数、keyword で絞り込みが可能です。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
ドメイン(日本語ドメインの場合はPunycodeで指定) |
lines |
integer |
任意 |
取得行数(末尾から。省略時は全件) |
keyword |
string |
任意 |
絞り込みキーワード |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/access-log?domain=VALUE" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
domain |
string |
対象ドメイン |
log |
string |
アクセスログ本文(改行区切り) |
レスポンス例
{
"domain": "example.com",
"log": "123.45.67.89 - - [15/Jan/2024:10:30:00 +0900] \"GET / HTTP/1.1\" 200 1234\n..."
}
エラーログ
エラーログを取得
指定ドメインのエラーログを取得します。lines で末尾からの取得行数、keyword で絞り込みが可能です。
クエリパラメータ
| 名前 | 型 | 必須 | 説明 |
domain |
string |
必須 |
ドメイン(日本語ドメインの場合はPunycodeで指定) |
lines |
integer |
任意 |
取得行数(末尾から) |
keyword |
string |
任意 |
絞り込みキーワード |
リクエスト例
curl \
"https://api.shin-server.jp/v1/server/{servername}/error-log?domain=VALUE" \
-H "Authorization: Bearer YOUR_API_KEY"
レスポンスフィールド
| 名前 | 型 | 説明 |
domain |
string |
対象ドメイン |
log |
string |
エラーログ本文(改行区切り) |
レスポンス例
{
"domain": "example.com",
"log": "[Mon Jan 15 10:30:00.123456 2024] [php:error] ...\n..."
}
© 2026 XServer Inc.