ウェブアクセラレータ 公開API

[更新: 2024年12月19日]

「ウェブアクセラレータ」で利用可能なAPIについての説明です。curlコマンドなどでAPIのリクエストを送ることで使用することができます。

注釈

ご利用には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キー管理 で確認できます。

フォーマット

リクエストのパラメータとレスポンスのフォーマットに 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 リソースが存在しない。
例:000000000001 というサイトは存在しないのに
/site/000000000001/certificate というリソースにアクセスした。
429 Too Many Requests 1アカウントでのリクエスト数が制限値に到達した。
500 Internal Server Error 内部エラーが発生した。
例:DB接続に失敗した。
503 Service Unavailable 機能が停止している。
例:メンテナンスによる機能停止。
例:過負荷状態により一時的に機能停止している。

リクエストパラメータの共通仕様

ウェブアクセラレータのAPIでは さくらのクラウド API のリクエストパラメータの共通仕様には対応しておりません。

月別使用量取得API

URL /monthlyusage?target=:target
Method GET
内容 クラウドアカウントに登録されている全サイトの月別使用量を取得する。
targetフィールドの値は「yyyymm」形式で対象年月を指定する。
(例: 2021年02月の場合は、「202102」と指定。)
指定がない場合は、今月の月別使用量を取得する。

注意

対象年月は直近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
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",
      "CertOpStatus": "0"
    },
  "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

サイト設定変更API

URL /site/:siteid
Method PUT
内容 サイトの設定変更をする。

設定項目

リクエストボディにて設定変更を行う設定項目とその値を指定します。(設定はリクエスト例を参照)

「オリジン種別」に関係なく設定できる共通項目

キー名 説明
Name コントロールパネル「サイト名」に相当する設定項目。
RequestProtocol コントロールパネル「リクエストプロトコル」に相当する設定項目。
「0」「1」「2」のいずれかの数値を設定します。
0 … http/https , 1 … httpsのみ , 2 … httpsにリダイレクト
OriginType コントロールパネル「オリジン種別」に相当する設定項目。
「0」「1」のいずれかの数値を設定します。
0 … ウェブサーバ , 1 … オブジェクトストレージ
OriginProtocol コントロールパネル「オリジンプロトコル」に相当する設定項目。
「http」「https」のいずれかの文字列を設定します。
※「オリジン種別」が「オブジェクトストレージ」の場合は「https」を指定する必要があります。
DefaultCacheTTL コントロールパネル「デフォルトのキャッシュ期間」に相当する設定項目。
「-1」または「0 ~ 604800 の範囲内」のいずれかの数値を設定します。
-1 … 無効 , 0 ~ 604800 の範囲内の数値 … デフォルトのキャッシュ期間(秒)
※「オリジン種別」が「オブジェクトストレージ」の場合は「500 ~ 604800」の範囲内の数値を指定する必要があります。
VarySupport コントロールパネル「Varyサポート」に相当する設定項目。
「0」「1」のいずれかの数値を設定します。
0 … 無効 , 1 … 有効
NormalizeAE コントロールパネル「Accept-Encoding正規化」に相当する設定項目。
「1」「3」のいずれかの数値を設定します。
1 … gzipに正規化 , 3 … brとgzipの組に正規化
CORSRules コントロールパネル「CORS設定」に相当する設定項目。
AllowsAnyOrigin(全オリジン許可)または AllowedOrigins(許可オリジン)の項目を設定します。(設定例参照)
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 コントロールパネル「ドキュメントインデクス」に相当する設定項目。
「0」「1」のいずれかの数値を設定します。
0 … 無効 , 1 … 有効

リクエストの例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

アクセス制御リスト(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エンドポイント」に相当する設定項目。
https://s3.isk01.sakurastorage.jp のみ設定可能。
Regeion コントロールパネル「S3リージョン」に相当する設定項目。
「jp-north-1」のみ設定可能。
AccessKeyID コントロールパネル「アクセスキーID」に相当する設定項目。
SecretAccessKey コントロールパネル「シークレットアクセスキー」に相当する設定項目。
Status コントロールパネル「アクセスログアップロード設定」に相当する設定項目。
「enabled」「disabled」のいずれかの文字列を設定します。
「enabled」は有効、「disabled」は無効。

リクエストの例

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

キャッシュ全件削除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