API Reference

シンアカウント API リファレンス

シンアカウントAPI は、シンレンタルサーバーのサーバーパネルで提供している主要機能を REST API で利用するためのインターフェースです。

項目
ベースURLhttps://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 が返されます。

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

HTTPステータスコード

成功時

リクエストが正常に処理された場合、以下のステータスコードが返されます。

ステータス意味対象
200OKすべてのリクエスト(GET / POST / PUT / DELETE)

成功時のレスポンスボディは各エンドポイントのレスポンス例を参照してください。

エラーハンドリング

エラー時は以下の形式のJSONが返されます。

エラーレスポンス
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "入力値が正しくありません",
    "errors": [
      "エラーメッセージ1",
      "エラーメッセージ2"
    ]
  }
}

エラー時のHTTPステータスコード

ステータス意味説明
400Bad Requestリクエストが不正
401Unauthorized認証エラー(APIキーが無効・期限切れ)
403Forbidden権限不足(スコープ不足・IP制限等)
404Not Foundリソースまたはエンドポイントが見つからない
409Conflictサーバー側の制約により操作を完了できなかった
422Unprocessable Entityバリデーションエラー
429Too Many Requestsレート制限超過
500Internal Server Errorサーバー内部エラー
502Bad Gatewayバックエンドとの通信でエラーが発生

エラーコード一覧

レスポンスの error.code には以下のいずれかの値が入ります。

コードHTTP説明
BAD_REQUEST400リクエストの形式が不正(JSONのパースエラー、必須ヘッダー欠落など)
UNAUTHORIZED401APIキーが未指定・無効・期限切れ
FORBIDDEN403APIキーの権限不足またはIP制限
NOT_FOUND404指定したリソース(ID・アカウント等)が存在しない
OPERATION_ERROR409リクエストは有効だが、サーバー側の制約により操作を完了できなかった。message に原因が含まれます(例: 重複登録、パスワードポリシー違反など)
VALIDATION_ERROR422入力値のバリデーションエラー。errors 配列にメッセージが含まれます
RATE_LIMIT_EXCEEDED429分あたり・日あたりのリクエスト上限を超過。Retry-After ヘッダーで待機秒数を確認できます
INTERNAL_ERROR500API内部で予期しないエラーが発生
BACKEND_ERROR502バックエンドとの通信・応答処理でエラーが発生。時間をおいて再試行してください

共通仕様

サーバー名(servername)について

APIのURLパスに含まれる {servername} には、サーバーの初期ドメインを指定してください。

初期ドメインはサーバー契約時に自動で付与されるドメインで、以下の形式です。

サービス初期ドメインの形式
シンレンタルサーバーサーバーID.wpx.jp
リクエスト例
GET /v1/server/wp123456.wpx.jp/server-info

ドメイン所有権確認

一部のAPIでは、操作対象ドメインの所有権確認として _xserver-verify.{domain} の TXT レコード検証が自動で実施されます。

事前に以下の手順で TXT レコードを設定してください。

  1. サーバー情報取得API(GET /v1/server/{servername}/server-info)を実行し、レスポンスの domain_validation_token を取得する
  2. 対象ドメインの DNS に TXT レコードを追加する
    ホスト名: _xserver-verify.{domain}
    値: xserver-verify={取得したトークン}
  3. 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キー情報

GET /v1/me 読み取り

認証中のAPIキー情報を取得

現在認証に使用しているAPIキーの情報を返します。有効期限・紐づくサーバー名・権限種別を確認できます。

リクエスト例

cURL
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)

レスポンス例

200 OK
{
  "service_type": "server",
  "expires_at": "2027-04-16T00:00:00",
  "servername": "wp123456.wpx.jp",
  "permission_type": "full"
}

サーバー情報

GET /v1/server/{servername}/server-info 読み取り

サーバー情報を取得

サーバーのスペック・ソフトウェアバージョン・ネームサーバーなどの基本情報を返します。サーバーパネルの「サーバー情報」画面に相当します。

リクエスト例

cURL
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} を設定して使用する

レスポンス例

200 OK
{
  "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..."
}
GET /v1/server/{servername}/server-info/usage 読み取り

サーバー利用状況を取得

ディスク使用量・ファイル数・各種設定件数を返します。サーバーパネルのトップページに表示される利用状況に相当します。ディスク容量はサーバーパネルと同じ基準(MB を 1000 で除算した小数2桁)で GB 換算した値を返します。

リクエスト例

cURL
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データベース数

レスポンス例

200 OK
{
  "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設定

GET /v1/server/{servername}/cron 読み取り

Cron一覧を取得

登録済みのCron設定を一覧で返します。各要素の id は PUT/DELETE で指定するハッシュIDです。

リクエスト例

cURL
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)

レスポンス例

200 OK
{
  "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"
}
POST /v1/server/{servername}/cron 書き込み

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
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 処理結果メッセージ

レスポンス例

200 OK
{
  "id": "a1b2c3d4e5",
  "message": "Cron設定を追加しました"
}
PUT /v1/server/{servername}/cron/{cron_id} 書き込み

Cronを変更

既存のCron設定を変更します。送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。スケジュール・コマンド・コメントなどの内容を変更すると id が変わります。後続の PUT/DELETE ではレスポンスの新しい id を使用してください。

パスパラメータ

名前説明
cron_idCronのハッシュID(一覧取得で得られる id)

リクエストボディ

名前必須説明
minute string 任意
hour string 任意
day string 任意
month string 任意
weekday string 任意 曜日
command string 任意 実行コマンド
comment string 任意 コメント
enabled boolean 任意 有効/無効(デフォルト: true)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "id": "a1b2c3d4e5",
  "message": "Cron設定を変更しました"
}
DELETE /v1/server/{servername}/cron/{cron_id} 書き込み

Cronを削除

パスパラメータ

名前説明
cron_idCronのハッシュID

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/cron/{cron_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "Cron設定を削除しました"
}

WordPress簡単インストール

GET /v1/server/{servername}/wp 読み取り

WordPress一覧を取得

簡単インストールでインストール済みのWordPress一覧を返します。domain を指定すると、そのドメインのインストールのみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "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": "ブログ用"
    }
  ]
}
POST /v1/server/{servername}/wp 書き込み

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
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 処理結果メッセージ

レスポンス例

200 OK
{
  "id": "a1b2c3d4e5f6g7h8",
  "message": "WordPressをインストールしました"
}
PUT /v1/server/{servername}/wp/{wp_id} 書き込み

WordPress設定を変更

現在変更可能な項目はメモのみです。送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
wp_idWordPressのID(一覧取得で得られる id)

リクエストボディ

名前必須説明
memo string 任意 メモ(省略時は空文字に更新)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "WordPress設定を変更しました"
}
DELETE /v1/server/{servername}/wp/{wp_id} 書き込み

WordPressを削除

WordPressをアンインストールします。関連するデータベース・ユーザー・Cronの削除はオプションで制御できます。デフォルトでは delete_db / delete_cron は true ですが、delete_db_user は false(DBユーザーは残す)である点に注意してください。完全に削除したい場合は delete_db_user: true を明示的に指定してください。

パスパラメータ

名前説明
wp_idWordPressのID

リクエストボディ

名前必須説明
delete_db boolean 任意 関連するMySQLデータベースも削除するか(デフォルト: true)
delete_db_user boolean 任意 関連するMySQLユーザーも削除するか(デフォルト: false。完全削除したい場合は明示的に true を指定)
delete_cron boolean 任意 キャッシュ自動削除Cronも削除するか(デフォルト: true)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "WordPressを削除しました"
}

メールアカウント

GET /v1/server/{servername}/mail 読み取り

メールアカウント一覧を取得

サーバーに登録済みのメールアカウントを一覧で返します。domain を指定すると、そのドメインのアカウントのみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "accounts": [
    {
      "mail_address": "info@example.com",
      "quota_mb": 2000,
      "memo": "問い合わせ用"
    }
  ]
}
GET /v1/server/{servername}/mail/{mail_account} 読み取り

メールアカウント詳細を取得

指定したメールアカウントの詳細情報(容量・使用量を含む)を返します。

パスパラメータ

名前説明
mail_accountメールアドレス(例: user@example.com)。URLエンコードすること

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "mail_address": "info@example.com",
  "quota_mb": 2000,
  "used_mb": 12.5,
  "memo": "問い合わせ用"
}
POST /v1/server/{servername}/mail 書き込み

メールアカウントを作成

メールアカウントを作成します。作成時にドメイン所有権の確認(TXTレコード検証)が自動で実施されます。詳細は「ドメイン所有権確認」を参照してください。

リクエストボディ

名前必須説明
mail_address string 必須 メールアドレス
password string 必須 パスワード(8文字以上)
quota_mb integer 任意 容量(MB) 1-50000
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "mail_address": "info@example.com",
  "message": "メールアカウントを作成しました"
}
PUT /v1/server/{servername}/mail/{mail_account} 書き込み

メールアカウントを変更

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
mail_accountメールアドレス

リクエストボディ

名前必須説明
password string 任意 パスワード(8文字以上)
quota_mb integer 任意 容量(MB)
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "メールアカウント設定を変更しました"
}
DELETE /v1/server/{servername}/mail/{mail_account} 書き込み

メールアカウントを削除

パスパラメータ

名前説明
mail_accountメールアドレス

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/mail/{mail_account}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "メールアカウントを削除しました"
}
GET /v1/server/{servername}/mail/{mail_account}/forwarding 読み取り

メール転送設定を取得

パスパラメータ

名前説明
mail_accountメールアドレス

リクエスト例

cURL
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 転送後もメールボックスに残すかどうか

レスポンス例

200 OK
{
  "forwarding_addresses": [
    "forward1@example.com",
    "forward2@example.com"
  ],
  "keep_in_mailbox": true
}
PUT /v1/server/{servername}/mail/{mail_account}/forwarding 書き込み

メール転送設定を更新

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。転送先アドレスは上書きで設定されます。空配列を送ると転送先をクリアできます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
mail_accountメールアドレス

リクエストボディ

名前必須説明
forwarding_addresses array 任意 転送先メールアドレスの配列
keep_in_mailbox boolean 任意 転送後もメールボックスに残すか

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "メール転送設定を変更しました"
}

メール振り分け

GET /v1/server/{servername}/mail-filter 読み取り

振り分け設定一覧を取得

条件とアクションで定義された振り分けルールの一覧を返します。domain を指定すると、そのドメインのルールのみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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コピー転送(元のメールボックスにも残す)

レスポンス例

200 OK
{
  "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"
      }
    }
  ]
}
POST /v1/server/{servername}/mail-filter 書き込み

振り分け設定を追加

条件を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
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 処理結果メッセージ

レスポンス例

200 OK
{
  "id": "f1a2b3c4",
  "message": "メール振り分けルールを追加しました"
}
DELETE /v1/server/{servername}/mail-filter/{filter_id} 書き込み

振り分け設定を削除

パスパラメータ

名前説明
filter_id振り分けルールのID(一覧取得で得られる id)

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/mail-filter/{filter_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "メール振り分けルールを削除しました"
}

FTPアカウント

GET /v1/server/{servername}/ftp 読み取り

FTPアカウント一覧を取得

登録済みFTPアカウントを一覧で返します。メインアカウントは含まれません。domain を指定すると、そのドメインのアカウントのみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "accounts": [
    {
      "ftp_account": "ftpuser@example.com",
      "directory": "example.com/public_html",
      "quota_mb": 5000,
      "memo": "開発用"
    }
  ]
}
POST /v1/server/{servername}/ftp 書き込み

FTPアカウントを追加

リクエストボディ

名前必須説明
ftp_account string 必須 FTPアカウント(user@domain 形式。例: ftpuser@example.com)
password string 必須 パスワード(8文字以上)
directory string 任意 ディレクトリ(デフォルト: /)
quota_mb integer 任意 容量(MB)
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "ftp_account": "ftpuser@example.com",
  "message": "FTPアカウントを作成しました"
}
PUT /v1/server/{servername}/ftp/{ftp_account} 書き込み

FTPアカウントを変更

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
ftp_accountFTPアカウント(user@domain 形式)

リクエストボディ

名前必須説明
password string 任意 パスワード(8文字以上)
directory string 任意 ディレクトリ
quota_mb integer 任意 容量(MB)
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "FTPアカウント設定を変更しました"
}
DELETE /v1/server/{servername}/ftp/{ftp_account} 書き込み

FTPアカウントを削除

パスパラメータ

名前説明
ftp_accountFTPアカウント

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/ftp/{ftp_account}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "FTPアカウントを削除しました"
}

MySQL

GET /v1/server/{servername}/db 読み取り

データベース一覧を取得

MySQLデータベースの一覧を返します。

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "databases": [
    {
      "db_name": "wp123456_db01",
      "version_name": "MariaDB10.5",
      "size_mb": 128.5,
      "granted_users": ["wp123456_user01"],
      "memo": "本番用DB"
    }
  ]
}
POST /v1/server/{servername}/db 書き込み

データベースを作成

リクエストボディ

名前必須説明
name_suffix string 必須 データベース名のサフィックス(サーバーID_に続く部分、例: db01 → wp123456_db01)
character_set string 任意 文字コード(省略時 utf8mb4)utf8mb4UTF-8EUC-JPSHIFT-JISBinary
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "db_name": "wp123456_db01",
  "message": "データベースを作成しました"
}
PUT /v1/server/{servername}/db/{db_name} 書き込み

データベースのメモを更新

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
db_nameデータベース名

リクエストボディ

名前必須説明
memo string 必須 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "データベース設定を変更しました"
}
DELETE /v1/server/{servername}/db/{db_name} 書き込み

データベースを削除

パスパラメータ

名前説明
db_nameデータベース名

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/db/{db_name}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "データベースを削除しました"
}
GET /v1/server/{servername}/db/user 読み取り

MySQLユーザー一覧を取得

MySQLユーザーの一覧を返します。

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "users": [
    {
      "db_user": "wp123456_user01",
      "version_name": "MariaDB10.5",
      "memo": "WP用ユーザー"
    }
  ]
}
POST /v1/server/{servername}/db/user 書き込み

MySQLユーザーを作成

リクエストボディ

名前必須説明
name_suffix string 必須 ユーザー名のサフィックス(サーバーID_に続く部分、例: user01 → wp123456_user01)
password string 必須 パスワード(8文字以上)
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "db_user": "wp123456_user01",
  "message": "MySQLユーザーを作成しました"
}
PUT /v1/server/{servername}/db/user/{db_user} 書き込み

MySQLユーザーを変更

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
db_userMySQLユーザー名

リクエストボディ

名前必須説明
password string 任意 パスワード(8文字以上)
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "MySQLユーザー設定を変更しました"
}
DELETE /v1/server/{servername}/db/user/{db_user} 書き込み

MySQLユーザーを削除

パスパラメータ

名前説明
db_userMySQLユーザー名

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "MySQLユーザーを削除しました"
}
GET /v1/server/{servername}/db/user/{db_user}/grant 読み取り

データベース権限を取得

指定したMySQLユーザーがアクセス権限を持つデータベースの一覧を返します。

パスパラメータ

名前説明
db_userMySQLユーザー名

リクエスト例

cURL
curl \
  "https://api.shin-server.jp/v1/server/{servername}/db/user/{db_user}/grant" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
databases[] string アクセス権限を持つデータベース名の配列

レスポンス例

200 OK
{
  "databases": [
    "wp123456_db01",
    "wp123456_db02"
  ]
}
POST /v1/server/{servername}/db/user/{db_user}/grant 書き込み

データベース権限を付与

指定したMySQLユーザーにデータベースへのアクセス権限を付与します。

パスパラメータ

名前説明
db_userMySQLユーザー名

リクエストボディ

名前必須説明
db_name string 必須 データベース名

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "権限を付与しました"
}
DELETE /v1/server/{servername}/db/user/{db_user}/grant 書き込み

データベース権限を削除

指定したMySQLユーザーからデータベースへのアクセス権限を削除します。

パスパラメータ

名前説明
db_userMySQLユーザー名

リクエストボディ

名前必須説明
db_name string 必須 データベース名

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "権限を削除しました"
}

PHPバージョン

GET /v1/server/{servername}/php-version 読み取り

PHPバージョン設定を取得

選択可能なPHPバージョン一覧と、ドメインごとの現在のバージョンを返します。domain を指定すると、そのドメインの情報のみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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バージョン

レスポンス例

200 OK
{
  "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"
    }
  ]
}
PUT /v1/server/{servername}/php-version/{domain} 書き込み

PHPバージョンを変更

指定ドメインのPHPバージョンを変更します。

パスパラメータ

名前説明
domainドメイン名(日本語ドメインの場合はPunycodeで指定)

リクエストボディ

名前必須説明
version string 必須 PHPバージョン(例: 8.2)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "PHPバージョンを変更しました"
}

ドメイン設定

GET /v1/server/{servername}/domain 読み取り

ドメイン一覧を取得

サーバーに追加済みのドメインの一覧を返します。

リクエスト例

cURL
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 ドメイン設定反映待ちかどうか

レスポンス例

200 OK
{
  "domains": [
    {
      "domain": "example.com",
      "type": "addon",
      "ssl": true,
      "memo": "",
      "is_awaiting": false
    }
  ]
}
GET /v1/server/{servername}/domain/{domain} 読み取り

ドメイン詳細を取得

ドキュメントルート、PHPバージョン、SSL設定状況を含む詳細情報を返します。

パスパラメータ

名前説明
domainドメイン名(日本語ドメインの場合はPunycodeで指定。URLエンコードすること)

リクエスト例

cURL
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 追加日

レスポンス例

200 OK
{
  "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"
}
POST /v1/server/{servername}/domain 書き込み

ドメインを追加

追加型ドメインをサーバーに追加します。追加時にドメイン所有権の確認(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
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ネームサーバー未設定のため失敗

レスポンス例

200 OK
{
  "domain": "example.com",
  "message": "ドメインを追加しました",
  "ssl_status": "success"
}
PUT /v1/server/{servername}/domain/{domain} 書き込み

ドメインのメモを更新

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
domainドメイン名(日本語ドメインの場合はPunycodeで指定)

リクエストボディ

名前必須説明
memo string 必須 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "ドメイン設定を変更しました"
}
DELETE /v1/server/{servername}/domain/{domain} 書き込み

ドメインを削除

ドメインを削除します。delete_files を true にすると、ユーザー公開領域のドメインディレクトリも合わせて削除します。

パスパラメータ

名前説明
domainドメイン名(日本語ドメインの場合はPunycodeで指定)

リクエストボディ

名前必須説明
delete_files boolean 任意 ユーザー公開領域のドメインディレクトリも削除するか(デフォルト: false)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "ドメインを削除しました"
}
POST /v1/server/{servername}/domain/{domain}/reset 書き込み

ドメイン設定を初期化

パスパラメータ

名前説明
domainドメイン名(日本語ドメインの場合はPunycodeで指定)

リクエストボディ

名前必須説明
type string 必須 リセット種別
  • all全初期化
  • webWeb領域のみ初期化
  • otherWeb以外の設定を初期化

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "ドメイン設定をリセットしました"
}

サブドメイン

GET /v1/server/{servername}/subdomain 読み取り

サブドメイン一覧を取得

登録済みサブドメインの一覧を返します。domain を指定すると、その親ドメインのサブドメインのみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象の親ドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定)

リクエスト例

cURL
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 メモ

レスポンス例

200 OK
{
  "subdomains": [
    {
      "subdomain": "blog.example.com",
      "domain": "example.com",
      "document_root": "/home/wp123456/blog.example.com/public_html",
      "ssl": true,
      "memo": "ブログ用"
    }
  ]
}
POST /v1/server/{servername}/subdomain 書き込み

サブドメインを追加

短時間に連続して作成すると、一時的にエラーが返る場合があります。間隔をあけて再試行してください。

リクエストボディ

名前必須説明
subdomain string 必須 サブドメイン(例: blog.example.com)。日本語ドメインの場合はドメイン部分をPunycodeで指定
ssl boolean 任意 SSL設定(デフォルト: true)
memo string 任意 メモ

リクエスト例

cURL
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ネームサーバー未設定のため失敗

レスポンス例

200 OK
{
  "subdomain": "blog.example.com",
  "message": "サブドメインを追加しました",
  "ssl_status": "success"
}
PUT /v1/server/{servername}/subdomain/{subdomain} 書き込み

サブドメインのメモを更新

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。更新するフィールドが1つも指定されなかった場合は422を返します。

パスパラメータ

名前説明
subdomainサブドメイン(日本語ドメインの場合はドメイン部分をPunycodeで指定)

リクエストボディ

名前必須説明
memo string 任意 メモ

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "サブドメイン設定を変更しました"
}
DELETE /v1/server/{servername}/subdomain/{subdomain} 書き込み

サブドメインを削除

サブドメインを削除します。delete_files を true にすると、ユーザー公開領域のサブドメインディレクトリも合わせて削除します。

パスパラメータ

名前説明
subdomainサブドメイン(日本語ドメインの場合はドメイン部分をPunycodeで指定)

リクエストボディ

名前必須説明
delete_files boolean 任意 ユーザー公開領域のサブドメインディレクトリも削除するか(デフォルト: false)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "サブドメインを削除しました"
}

SSL設定

GET /v1/server/{servername}/ssl 読み取り

SSL設定一覧を取得

無料SSL(Let's Encrypt)およびオプションSSLの一覧を返します。domain を指定すると、そのドメインの証明書のみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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 状態
  • active有効
  • expired期限切れ

レスポンス例

200 OK
{
  "ssl_list": [
    {
      "id": 1,
      "common_name": "example.com",
      "type": "letsencrypt",
      "expires_at": "2024-12-31T23:59:59+09:00",
      "status": "active"
    }
  ]
}
POST /v1/server/{servername}/ssl 書き込み

無料SSLをインストール

指定ドメインに対して無料SSL証明書(Let's Encrypt)を発行・インストールします。対象ドメインのネームサーバーが当社ネームサーバーの場合のみ利用可能です。外部ネームサーバーを利用中の場合はサーバーパネルから操作してください。

リクエストボディ

名前必須説明
common_name string 必須 コモンネーム(ドメイン名。日本語ドメインの場合はPunycodeで指定)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "無料SSLを設定しました"
}
DELETE /v1/server/{servername}/ssl/{common_name} 書き込み

無料SSLをアンインストール

パスパラメータ

名前説明
common_nameCommon Name(日本語ドメインの場合はPunycodeで指定)

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/ssl/{common_name}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "無料SSLを削除しました"
}

DNSレコード

GET /v1/server/{servername}/dns 読み取り

DNSレコード一覧を取得

ドメインに登録されたDNSレコードを一覧で返します。domain を指定すると、そのドメインのレコードのみに絞り込めます。

クエリパラメータ

名前必須説明
domain string 任意 絞り込み対象のドメイン(省略時は全ドメイン。日本語ドメインの場合はPunycodeで指定。サブドメインでの絞り込みには対応していません)

リクエスト例

cURL
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

レスポンス例

200 OK
{
  "records": [
    {
      "id": 12345,
      "domain": "example.com",
      "host": "@",
      "type": "A",
      "content": "123.45.67.89",
      "ttl": 3600,
      "priority": null
    }
  ]
}
POST /v1/server/{servername}/dns 書き込み

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
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 処理結果メッセージ

レスポンス例

200 OK
{
  "id": 12346,
  "message": "DNSレコードを追加しました"
}
PUT /v1/server/{servername}/dns/{dns_id} 書き込み

DNSレコードを更新

送信した項目のみ更新され、省略した項目は現在の設定が維持されます。空文字を明示送信した場合は空で上書きされます。レコードを自動解決できない場合は domain, host, type, content の指定が必要です。

パスパラメータ

名前説明
dns_idDNSレコードID

リクエストボディ

名前必須説明
domain string 任意 ドメイン(日本語ドメインの場合はPunycodeで指定)
host string 任意 ホスト名
type string 任意 レコードタイプ
content string 任意 内容
ttl integer 任意 TTL(60-86400)
priority integer 任意 MXレコードの優先度(省略時は現在の設定を維持)

リクエスト例

cURL
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 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "DNSレコードを変更しました"
}
DELETE /v1/server/{servername}/dns/{dns_id} 書き込み

DNSレコードを削除

パスパラメータ

名前説明
dns_idDNSレコードID

リクエスト例

cURL
curl \
  -X DELETE \
  "https://api.shin-server.jp/v1/server/{servername}/dns/{dns_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
message string 処理結果メッセージ

レスポンス例

200 OK
{
  "message": "DNSレコードを削除しました"
}

アクセスログ

GET /v1/server/{servername}/access-log 読み取り

アクセスログを取得

指定ドメインのアクセスログを取得します。lines で末尾からの取得行数、keyword で絞り込みが可能です。

クエリパラメータ

名前必須説明
domain string 必須 ドメイン(日本語ドメインの場合はPunycodeで指定)
lines integer 任意 取得行数(末尾から。省略時は全件)
keyword string 任意 絞り込みキーワード

リクエスト例

cURL
curl \
  "https://api.shin-server.jp/v1/server/{servername}/access-log?domain=VALUE" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
domain string 対象ドメイン
log string アクセスログ本文(改行区切り)

レスポンス例

200 OK
{
  "domain": "example.com",
  "log": "123.45.67.89 - - [15/Jan/2024:10:30:00 +0900] \"GET / HTTP/1.1\" 200 1234\n..."
}

エラーログ

GET /v1/server/{servername}/error-log 読み取り

エラーログを取得

指定ドメインのエラーログを取得します。lines で末尾からの取得行数、keyword で絞り込みが可能です。

クエリパラメータ

名前必須説明
domain string 必須 ドメイン(日本語ドメインの場合はPunycodeで指定)
lines integer 任意 取得行数(末尾から)
keyword string 任意 絞り込みキーワード

リクエスト例

cURL
curl \
  "https://api.shin-server.jp/v1/server/{servername}/error-log?domain=VALUE" \
  -H "Authorization: Bearer YOUR_API_KEY"

レスポンスフィールド

名前説明
domain string 対象ドメイン
log string エラーログ本文(改行区切り)

レスポンス例

200 OK
{
  "domain": "example.com",
  "log": "[Mon Jan 15 10:30:00.123456 2024] [php:error] ...\n..."
}