さくらのウェブアクセラレータ 公開API
[更新: 2026年10月21日]
本ページでは、「さくらのウェブアクセラレータ」で利用可能なAPIについて説明します。
各APIは、curlコマンドなどを用いてリクエストを送信することでご利用いただけます。
注釈
ご利用にはAPIキーが必要です。 APIキーの発行は APIキーの新規作成・編集 をご確認ください。
全般的な仕様
API URL
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/
さくらのクラウドAPI とは異なり、
さくらのウェブアクセラレータのAPIでは常に is1a (石狩第1ゾーン) を指定してください。
認証
さくらのクラウドAPI と同様、APIキーとシークレットトークンを利用した Basic認証 または Digest認証 を使用します。APIキーとシークレットトークンは、コントロールパネルの APIキー管理 で確認できます。
注意
Digest認証のサポート終了について
2027年2月4日(木)をもって、Digest認証のサポートを終了する予定です。
Digest認証をご利用の場合は、Basic認証への切り替えをお願いいたします。
詳細は、 【予告】さくらのクラウド Digest認証廃止のお知らせ をご確認ください。
フォーマット
リクエストのパラメータとレスポンスのフォーマットに JSON を使用しています。
プロトコル
https でのアクセスのみ可能です。httpは使用できません。
文字コード
文字コードは UTF-8 を使用しています。
日付のフォーマット
Datetimeのフォーマットは ISO 8601 を使用しています。以下のような出力になります。
2013-01-14T09:30:00+09:00
レスポンスフォーマット
さくらのクラウド API とは異なり、X-Sakura-API-Beautifyリクエストヘッダによるレスポンスの整形には対応しておりません。
リクエスト数制限
プロジェクト毎のAPIの実行目安は1時間500回以内となります。目安以上はAPIを実行しないでください。
APIレスポンス
APIは以下に列挙されるHTTPレスポンスコードを返します。各APIでの具体的な意味合いはそれぞれの説明文中に記載しています。
ステータスコード |
内容 |
|---|---|
200 OK |
正常に処理され、何らかのレスポンスが返却された。 |
400 Bad Request |
リクエストパラメータが不正等。 |
401 Unauthorized |
認証に失敗した。 |
403 Forbidden |
リソースへのアクセス権限がない。 |
404 Not Found |
リソースが存在しない。 |
412 Precondition Failed |
リクエストの前提条件が満たされない。 |
429 Too Many Requests |
1プロジェクトでのリクエスト数が制限値に到達した。 |
500 Internal Server Error |
内部エラーが発生した。 |
503 Service Unavailable |
機能が停止している。 |
リクエストパラメータの共通仕様
さくらのウェブアクセラレータのAPIでは さくらのクラウド API のリクエストパラメータの共通仕様には対応しておりません。
月別使用量取得API
URL |
/monthlyusage?target=:target |
|---|---|
Method |
GET |
内容 |
クラウドプロジェクトに登録されている全サイトの月別使用量を取得する。 |
注意
対象年月は直近10年間以内の範囲で指定可能です。それ以前(10年以上前)の年月を指定した場合、情報を取得することはできませんのでご注意ください。
リクエストの例
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/monthlyusage?target=202102 HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Year": 2021,
"Month": 2,
"MonthlyUsages": [
{
"SiteID": "000000000001",
"Domain": "cdn1.example.com",
"ASCIIDomain": "cdn1.example.com",
"Subdomain": "0f5cty4g.user.webaccel.jp",
"AccessCount": 2070702,
"BytesSent": 18524070906,
"CacheMissBytesSent": 926203545,
"CacheHitRatio": 85.138888888889,
"BytesCacheHitRatio": 89.134258088490,
"Price": 85
},
{
"SiteID": "000000000002",
"Domain": "さくら.example.jp",
"ASCIIDomain": "xn--y8jl1n.example.jp",
"Subdomain": "0uwjbk35.user.webaccel.jp",
"AccessCount": 144,
"BytesSent": 77784,
"CacheMissBytesSent": 5724,
"CacheHitRatio": 89.138888888889,
"BytesCacheHitRatio": 92.641160135760,
"Price": 0
},
],
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/monthlyusage
サイト単位月別使用量取得API
URL |
/site/:siteid/monthlyusage |
|---|---|
Method |
GET |
内容 |
サイト単位の月別使用量を取得する。月別で最大過去10年以内まで取得する。 |
リクエストの例
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/monthlyusage
リクエストボディ
なし
レスポンスボディ
{
"MonthlyUsages": [
{ "Year": 2016, "Month": 10, "AccessCount": 1000000, "BytesSent": 1073741824, "CacheHitRatio": 90.2, "Price": 5 },
{ "Year": 2016, "Month": 11, "AccessCount": 2000000, "BytesSent": 2147483648, "CacheHitRatio": 91.3, "Price": 10 },
・・・・・ // 2019年8月以降は下記の形式です
{ "Year": 2019, "Month": 8, "AccessCount": 3000000, "BytesSent": 3221225472, "CacheMissBytesSent": 322122547, "CacheHitRatio": 91.3, "BytesCacheHitRatio": 90.0, "Price": 15 },
{ "Year": 2019, "Month": 9, "AccessCount": 4000000, "BytesSent": 4294967296, "CacheMissBytesSent": 429496729, "CacheHitRatio": 92.3, "BytesCacheHitRatio": 90.0, "Price": 20 },
・・・・・
],
"FreeFrameRemainingCapacity": 50,
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/monthlyusage
サイト一覧取得API
URL |
/site |
|---|---|
Method |
GET |
内容 |
サイト一覧を取得する。 |
リクエストの例
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Total": 2,
"From": 0,
"Count": 2,
"CountLimit": 20,
"Sites": [
{
"Index": 0,
"ID": "000000000001",
"Name": "サイト1",
"DomainType": "own_domain",
"Domain": "cdn1.example.com",
"Subdomain": "0f5cty4g.user.webaccel.jp",
"ASCIIDomain": "cdn1.example.com",
"Origin": "198.51.100.1",
"HostHeader": "cdn2.example.com",
"Status": "enabled",
"CreatedAt": "2015-11-13T02:56:01+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 80,
"CertValidNotBefore": 1457568000000, // 2016-03-10 00:00:00 +0000 UTC の通算ミリ秒
"CertValidNotAfter": 1526558400000 // 2018-05-17 12:00:00 +0000 UTC の通算ミリ秒
},
{
"Index": 1,
"ID": "000000000002",
"Name": "サイト2",
"DomainType": "subdomain",
"Domain": "さくら.example.jp",
"Subdomain": "0uwjbk35.user.webaccel.jp",
"ASCIIDomain": "xn--y8jl1n.example.jp",
"Origin": "198.51.100.2",
"HostHeader": "cdn2.example.com",
"Status": "disabled",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 180,
"CertValidNotBefore": 1457568000000, // 2016-03-10 00:00:00 +0000 UTC の通算ミリ秒
"CertValidNotAfter": 1526558400000 // 2018-05-17 12:00:00 +0000 UTC の通算ミリ秒
}
],
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site
サイト詳細取得API
URL |
/site/:siteid |
|---|---|
Method |
GET |
内容 |
サイトの詳細を取得する。 |
リクエストの例
例は種別:オブジェクトストレージの場合です。
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1", // deprecated
"CertSource": "3",
"CertAutoUpdateEnabled": true,
"CertOpStatus": "0"
},
"is_ok": true
}
レスポンスボディの項目について
フィールド名 |
内容 |
|---|---|
CertSource |
証明書の種類を表すフィールドです。 |
CertAutoUpdateEnabled |
Let's Encrypt証明書の自動更新が有効/無効を示すフィールドです。 |
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001
サイト新規追加API
URL |
/site |
|---|---|
Method |
POST |
内容 |
サイトの新規追加をする。 |
設定項目
リクエストボディにて設定項目とその値を指定します。
「オリジン種別」に関係なく設定できる共通項目
キー名 |
説明 |
|---|---|
Name |
コントロールパネル「サイト名」に相当する設定項目。 |
DomainType |
コントロールパネル「ドメイン種別」に相当する設定項目。 |
Domain |
コントロールパネル「公開ドメイン名」に相当する設定項目。 |
RequestProtocol |
コントロールパネル「リクエストプロトコル」に相当する設定項目。 |
OriginType |
コントロールパネル「オリジン種別」に相当する設定項目。 |
OriginProtocol |
コントロールパネル「オリジンプロトコル」に相当する設定項目。 |
DefaultCacheTTL |
コントロールパネル「デフォルトのキャッシュ期間」に相当する設定項目。 |
VarySupport |
コントロールパネル「Varyサポート」に相当する設定項目。 |
NormalizeAE |
コントロールパネル「Accept-Encoding正規化」に相当する設定項目。 |
「オリジン種別」が「ウェブサーバ」の場合に設定可能な項目
キー名 |
説明 |
|---|---|
Origin |
コントロールパネル「オリジンサーバ」に相当する設定項目。 |
HostHeader |
コントロールパネル「ホストヘッダ」に相当する設定項目。 |
「オリジン種別」が「オブジェクトストレージ」の場合に設定可能な項目
キー名 |
説明 |
|---|---|
BucketName |
コントロールパネル「バケット名」に相当する設定項目。 |
S3Endpoint |
コントロールパネル「S3エンドポイント」に相当する設定項目。 |
S3Region |
コントロールパネル「S3リージョン」に相当する設定項目。 |
AccessKeyID |
コントロールパネル「アクセスキーID」に相当する設定項目。 |
SecretAccessKey |
コントロールパネル「シークレットアクセスキー」に相当する設定項目。 |
DocIndex |
コントロールパネル「ドキュメントインデクス」に相当する設定項目。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site HTTP/1.1
リクエストボディ
{
"Site":
{
"Name": "テストサイト1",
"DomainType": "own_domain",
"Domain": "objstore-cors1.example.com",
"RequestProtocol": "0",
"OriginType": "1",
"OriginProtocol": "https",
"DefaultCacheTTL": 300,
"VarySupport": "0",
"NormalizeAE": "1",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シ-クレットキー"
"DocIndex": "1",
"VarySupport": "0"
}
}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "disabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": false,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "0",
"CertValidNotAfter": "0",
"CertType": "1",
"CertOpStatus": "0"
},
"Success": Created,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Site": {"Name": "テストサイト1","DomainType": "own_domain","Domain": "objstore-cors1.example.com",・・・・・}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site
サイトステータス変更API
URL |
/site/:siteid/status |
|---|---|
Method |
PUT |
内容 |
サイトのステータス変更をする。 |
設定項目
リクエストボディにて設定項目とその値を指定します。
キー名 |
説明 |
|---|---|
Status |
コントロールパネル「サイトのステータス」に相当する設定項目。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/status HTTP/1.1
リクエストボディ
{
"Site":
{
"Status": "enabled"
}
}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": false,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "0",
"CertValidNotAfter": "0",
"CertType": "1",
"CertOpStatus": "0"
},
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Site": {"Status": "enabled"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/status
サイト設定変更API
URL |
/site/:siteid |
|---|---|
Method |
PUT |
内容 |
サイトの設定変更をする。 |
設定項目
リクエストボディにて設定変更を行う設定項目とその値を指定します。(設定はリクエスト例を参照)
「オリジン種別」に関係なく設定できる共通項目
キー名 |
説明 |
|---|---|
Name |
コントロールパネル「サイト名」に相当する設定項目。 |
RequestProtocol |
コントロールパネル「リクエストプロトコル」に相当する設定項目。 |
OriginType |
コントロールパネル「オリジン種別」に相当する設定項目。 |
OriginProtocol |
コントロールパネル「オリジンプロトコル」に相当する設定項目。 |
DefaultCacheTTL |
コントロールパネル「デフォルトのキャッシュ期間」に相当する設定項目。 |
VarySupport |
コントロールパネル「Varyサポート」に相当する設定項目。 |
NormalizeAE |
コントロールパネル「Accept-Encoding正規化」に相当する設定項目。 |
CORSRules |
コントロールパネル「CORS設定」に相当する設定項目。 |
OnetimeURLSecrets |
コントロールパネル「サイト全体ワンタイムURL設定」に相当する設定項目。 |
CORSRulesの設定例
[] ... CORS設定無効
[{AllowsAnyOrigin:true}]
... CORS設定有効で、全オリジン許可有効
[{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}]
... CORS設定有効で、許可オリジンに「https://objstore-cors2.example.com」「https://日本語.example.com」を設定
※ オリジン種別ごとの「必須」項目はコントロールパネル相当となります。オリジン種別を変更する際には、必ず指定する必要があります。
「オリジン種別」が「ウェブサーバ」の場合に設定可能な項目
キー名 |
説明 |
|---|---|
Origin |
コントロールパネル「オリジンサーバ」に相当する設定項目。 |
HostHeader |
コントロールパネル「ホストヘッダ」に相当する設定項目。 |
「オリジン種別」が「オブジェクトストレージ」の場合に設定可能な項目
キー名 |
説明 |
|---|---|
BucketName |
コントロールパネル「バケット名」に相当する設定項目。 |
S3Endpoint |
コントロールパネル「S3エンドポイント」に相当する設定項目。 |
S3Region |
コントロールパネル「S3リージョン」に相当する設定項目。 |
AccessKeyID |
コントロールパネル「アクセスキーID」に相当する設定項目。 |
SecretAccessKey |
コントロールパネル「シークレットアクセスキー」に相当する設定項目。 |
DocIndex |
コントロールパネル「ドキュメントインデクス」に相当する設定項目。 |
リクエストの例1
全てのサイトからのクロスオリジンアクセスを許可する。
※ 例としてCORS設定を記載しています。
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
{"Site":{"CORSRules":[{AllowsAnyOrigin:true}]}}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [{AllowsAnyOrigin:true}],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例
(jqコマンドでレスポンスのうち Site の CORSRules の値だけを表示)
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Site":{"CORSRules":[{AllowsAnyOrigin:true}]}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 | jq -c .Site.CORSRules
リクエストの例2
個別のサイトからのクロスオリジンアクセスを許可する。
※ 例としてCORS設定を記載しています。
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
{"Site":{"CORSRules":[{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}]}}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例
(jqコマンドでレスポンスのうち Site の CORSRules の値だけを表示)
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Site":{"CORSRules":[{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}]}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 | jq -c .Site.CORSRules
リクエストの例3
全てのサイトからのクロスオリジンアクセスを拒否する。
※ 例としてCORS設定を記載しています。
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
{"Site":{"CORSRules":[]}}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例
(jqコマンドでレスポンスのうち Site の CORSRules の値だけを表示)
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Site":{"CORSRules":[]}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 | jq -c .Site.CORSRules
サイト削除API
URL |
/site/:siteid |
|---|---|
Method |
DELETE |
内容 |
サイトを削除する。 |
リクエストの例
DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "disabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": false,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "0",
"CertValidNotAfter": "0",
"CertType": "1",
"CertOpStatus": "0"
},
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001
オリジンガードトークン発行・更新API
URL |
/site/:siteid/origin-guard-token |
|---|---|
Method |
POST |
内容 |
オリジンガードトークンを発行および更新する。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/origin-guard-token HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"OriginGuardToken": "現行トークン",
"NextOriginGuardToken": "次期トークン",
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -H "Content-Type: application/json" -d '' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/origin-guard-token
オリジンガードトークン次期トークン発行API
URL |
/site/:siteid/origin-guard-token/next |
|---|---|
Method |
POST |
内容 |
オリジンガードトークンの次期トークンを発行する。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/origin-guard-token/next HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"OriginGuardToken": "現行トークン",
"NextOriginGuardToken": "次期トークン",
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -H "Content-Type: application/json" -d '' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/origin-guard-token/next
オリジンガードトークン次期トークン更新キャンセルAPI
URL |
/site/:siteid/origin-guard-token/next |
|---|---|
Method |
DELETE |
内容 |
オリジンガードトークンの次期トークンを更新キャンセルする。 |
リクエストの例
DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/origin-guard-token/next HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"OriginGuardToken": "現行トークン",
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/origin-guard-token/next
オリジンガードトークン削除API
URL |
/site/:siteid/origin-guard-token |
|---|---|
Method |
DELETE |
内容 |
オリジンガードトークンを削除する。 |
リクエストの例
DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/origin-guard-token HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/origin-guard-token
アクセス制御リスト(ACL)取得API
URL |
/site/:siteid/acl |
|---|---|
Method |
GET |
内容 |
アクセス制御リスト(ACL)の設定情報を取得する。 |
リクエストの例
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all",
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl
アクセス制御リスト(ACL)作成・更新API
URL |
/site/:siteid/acl |
|---|---|
Method |
PUT |
内容 |
アクセス制御リスト(ACL)の設定情報を作成・更新する。 |
キー名 |
説明 |
|---|---|
ACL |
アクセス制御リスト(ACL)の設定値(※) |
※ 設定可能な値については、 アクセス制御リスト(ACL)機能の利用 より記述方法をご確認ください。
リクエストの例
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl HTTP/1.1
リクエストボディ
{
"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all"
}
レスポンスボディ
{
"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all",
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all"}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl
アクセス制御リスト(ACL)削除API
URL |
/site/:siteid/acl |
|---|---|
Method |
DELETE |
内容 |
アクセス制御リスト(ACL)の設定情報を削除する。 |
リクエストの例
PUT DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl
アクセスログアップロード設定取得API
URL |
/site/:siteid/log-upload-config |
|---|---|
Method |
GET |
内容 |
アクセスログアップロードの設定情報を取得する。 |
リクエストの例
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"SiteLogUploadConfig":
{
"Bucket":"example-log",
"Endpoint":"https:\/\/s3.isk01.sakurastorage.jp",
"Region":"jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シ-クレットキー",
"Status":"enabled"
},
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config
アクセスログアップロード設定作成・更新API
URL |
/site/:siteid/log-upload-config |
|---|---|
Method |
PUT |
内容 |
アクセスログアップロードの設定情報を作成・更新する。 |
設定項目
キー名 |
説明 |
|---|---|
Bucket |
コントロールパネル「バケット名」に相当する設定項目。 |
Endpoint |
コントロールパネル「S3エンドポイント」に相当する設定項目。 |
Region |
コントロールパネル「S3リージョン」に相当する設定項目。 |
AccessKeyID |
コントロールパネル「アクセスキーID」に相当する設定項目。 |
SecretAccessKey |
コントロールパネル「シークレットアクセスキー」に相当する設定項目。 |
Status |
コントロールパネル「アクセスログアップロード設定」に相当する設定項目。 |
リクエストの例
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config HTTP/1.1
リクエストボディ
{
"SiteLogUploadConfig":
{
"Bucket":"example-log",
"Endpoint":"https:\/\/s3.isk01.sakurastorage.jp",
"Region":"jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シークレットアクセスキー",
"Status":"enabled"
}
}
レスポンスボディ
{
"SiteLogUploadConfig":
{
"Bucket":"example-log",
"Endpoint":"https:\/\/s3.isk01.sakurastorage.jp",
"Region":"jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シークレットアクセスキー",
"Status":"enabled"
},
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"SiteLogUploadConfig": {"Bucket":"example-log","Endpoint":"https://s3.isk01.sakurastorage.jp","Region":"jp-north-1","AccessKeyID":"アクセスキーID","SecretAccessKey":"シークレットアクセスキー","Status":"enabled"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config
アクセスログアップロード設定削除API
URL |
/site/:siteid/log-upload-config |
|---|---|
Method |
DELETE |
内容 |
アクセスログアップロードの設定情報を削除する。 |
リクエストの例
DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config
証明書の情報を取得API
URL |
/site/:siteid/certificate?type=:type |
|---|---|
Method |
GET |
内容 |
typeフィールドの値は "current", "old"のいずれかです。 |
リクエストの例
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Certificate":
{
"Current":
{
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"SerialNumber": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"NotBefore": "1532736000000", // 2018-07-28 00:00:00 +0000 UTC の通算ミリ秒
"NotAfter": "1579089600000", // 2020-01-15 12:00:00 +0000 UTC の通算ミリ秒
"Issuer":
{
"Country": "JP",
"Organization": "Example",
"OrganizationalUnit": "www.example.jp",
"CommonName": "Example SHA2 Extended Validation Server CA"
},
"Subject":
{
"Country": "JP",
"Organization": "SAKURA Internet Inc.",
"OrganizationalUnit": "",
"Locality": "Osaka",
"Province": "Osaka-City",
"StreetAddress": "",
"PostalCode": "",
"SerialNumber": "1234567",
"CommonName": "www.sakura.ad.jp"
},
"DNSNames": [
"sakura.ad.jp",
"www.sakura.ad.jp"
],
"SHA256Fingerprint": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"CreatedAt": "2016-11-22T11:37:39+09:00",
"UpdatedAt": "2018-07-28T16:01:42+09:00"
},
"Old": [
{
"ID": "2",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"SerialNumber": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"NotBefore": "1479254400000", // 2016-11-16 00:00:00 +0000 UTC の通算ミリ秒
"NotAfter": "1579132799000", // 2020-01-15 23:59:59 +0000 UTC の通算ミリ秒
"Issuer":
{
"Country": "JP",
"Organization": "Example",
"OrganizationalUnit": "www.example.jp",
"CommonName": "Example SHA2 Extended Validation Server CA"
},
"Subject":
{
"Country": "JP",
"Organization": "SAKURA Internet Inc.",
"OrganizationalUnit": "",
"Locality": "Osaka",
"Province": "Osaka-City",
"StreetAddress": "",
"PostalCode": "",
"SerialNumber": "1234567",
"CommonName": "www.sakura.ad.jp"
},
"DNSNames": [
"sakura.ad.jp",
"www.sakura.ad.jp"
],
"SHA256Fingerprint": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"CreatedAt": "2018-07-28T16:01:42+09:00",
"UpdatedAt": "2018-07-28T16:01:42+09:00"
}
]
},
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate
証明書と秘密鍵の情報を作成API
URL |
/site/:siteid/certificate |
|---|---|
Method |
POST |
内容 |
現世代の証明書と秘密鍵の情報を追加する。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate HTTP/1.1
リクエストボディ
{
"Certificate":
{
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・"
}
}
レスポンスボディ
{
"Certificate":
{
"Current":
{
"ID": "1",
"ResourceID":"28",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
}
}
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Certificate": {"Certificate": "-----BEGIN CERTIFICATE-----・・・・・","Key":"-----BEGIN RSA PRIVATE KEY-----・・・・・"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate
証明書と秘密鍵の情報を更新API
URL |
/site/:siteid/certificate |
|---|---|
Method |
PUT |
内容 |
現世代の証明書と秘密鍵の情報を更新する。 |
リクエストの例
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate HTTP/1.1
リクエストボディ
{
"Certificate":
{
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・"
}
}
秘密鍵を変更しない場合は "Key" の項目は省略可能です
レスポンスボディ
{
"Certificate":
"Current": {
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
},
"Old": [
{
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
}
]
}
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Certificate": {"Certificate": "-----BEGIN CERTIFICATE-----・・・・・"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate
証明書を1世代前にロールバックするAPI
URL |
/site/:siteid/certificate/revert |
|---|---|
Method |
POST |
内容 |
証明書と秘密鍵を1世代前の情報にロールバックする。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate/revert HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Certificate":
"Current": {
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
}
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -H "Content-Type: application/json" -d '' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate/revert
Let's Encrypt 自動更新証明書 有効化API
URL |
/site/:siteid/auto-cert-update |
|---|---|
Method |
POST |
内容 |
Let's Encrypt 自動更新証明書 を有効に設定する。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/auto-cert-update HTTP/1.1
リクエストボディ
{
"Type": "letsencrypt"
}
レスポンスボディ
{
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Type": "letsencrypt"}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/auto-cert-update
Let's Encrypt 自動更新証明書 無効化API
URL |
/site/:siteid/auto-cert-update |
|---|---|
Method |
DELETE |
内容 |
Let's Encrypt 自動更新証明書 を無効に設定する。 |
リクエストの例
DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/auto-cert-update HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/auto-cert-update
キャッシュ全件削除API
URL |
/deleteallcache |
|---|---|
Method |
POST |
内容 |
1つのサイト内の全てのキャッシュを削除する。 |
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deleteallcache HTTP/1.1
リクエストボディ
{
"Site":
{
"Domain": "example.com"
}
}
ドメインには公開ドメイン名を指定
レスポンスボディ
{
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Site": {"Domain": "example.com"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deleteallcache
キャッシュ別削除API
URL |
/deletecache |
|---|---|
Method |
POST |
内容 |
URL毎(個別)にキャッシュを削除する。 |
注意
一度に削除指定可能なURL数は100件までとなります。100件以上指定した場合は、100件を超過した指定分が無効となります。
キャッシュ別削除が可能なURL数の目安は1時間500個までとなります。URLを500個以上削除する場合は時間を空けて削除を行って下さい。
個別キャッシュ削除はVaryサポート機能利用時もURL単位(?クエリストリング込み)となります。
リクエストの例
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deletecache HTTP/1.1
リクエストボディ
{
"URL": [
"http://example.com/url1",
"http://example.com/url2",
"http://example.com/url3",
"http://example.com/url4"
]
}
レスポンスボディ
{
"Results": [
{ "URL": "http://example.com/url1", "Status": 200, "Result": "OK" },
{ "URL": "http://example.com/url2", "Status": 404, "Result": "Not Found" },
{ "URL": "http://example.com/url3", "Status": 403, "Result": "Forbidden" },
{ "URL": "http://example.com/url4", "Status": 500, "Result": "Internal Server Error" }
],
"Success": true,
"is_ok": true
}
curl(Linux)の例
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"URL": ["http://www.example.com/wp-content/uploads/2016/7/example.jpg"]}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deletecache