APIについて

本ページでは、APIパージおよび証明書更新・切り替え用APIについて説明します。

共通情報

  • APIサーバー:https://api.cdnw.net

  • メソッド:POST

  • APIキー:管理画面からご確認いただけます

  • グループ名:管理画面からご確認いただけます

APIパージ

全プランでAPI経由のキャッシュ削除が可能です。

パージのエンドポイントは、/v2.1/ です。

必須ヘッダー

X-TYPE

(SINGLE or REGEX or TAGKEY)

X-GROUP

APIグループ名

X-KEY

APIキー

X-PATH

削除対象パス※フルパス

その他HTTPヘッダー

x-purge-host

ホスト名(www.redbox.ne.jp) / SINGLEパージ時任意の削除対象ドメインを指定可能※1契約で複数ドメインご利用環境限定

キャッシュ削除リクエストサンプル

Curlでキャッシュ削除を行う場合は以下の通りとなります。

TOPページのみ削除(タイプSINGLE)

curl -X POST -H x-type:SINGLE -H x-group:グループ名 -H x-key:APIキー -H x-path:/ https://api.cdnw.net/v2.1/

.jpgで終わるファイル名を一括削除(タイプREGEX)

curl -X POST -H x-type:REGEX -H x-group:グループ名 -H x-key:APIキー -H x-path:/*.jpg https://api.cdnw.net/v2.1/

tag1 というタグが付与されているコンテンツの一括削除(タイプTAGKEY)

curl -X POST -H x-type:TAGKEY -H x-group:グループ名 -H x-key:APIキー -H x-path:tag1 https://api.cdnw.net/v2.1/

APIステータスコード

ステータスコード

詳細

Status:200

リクエストが正常に完了した場合に返却されます。

Status:401

グループ名が異なる場合に返却されます。

Status:402

APIキーが異なる場合に返却されます。

Status:403

メソッドが異なる場合に返却されます。

Status:404

必要なヘッダが不足している場合に返却されます。

Status:501

リクエストに時間がかかっています。しばらく時間を空けて再度お試し下さい。

Status:502

初期設定が完了していない場合に返却されます。サポートまでお問い合わせ下さい。

証明書API(証明書更新・切り替え)

前提条件

以下のツールが必要です。

curl --version
jq --version    # または awk --version
openssl version

持ち込み証明書登録

POST /certapi/

項目

内容

メソッド

POST

Content-Type

application/json; charset=utf-8

認証ヘッダー

X-KEY: {発行されたAPIキー}

{
  "certificate_chain": "PEM形式の証明書チェーン",
  "private_key": "PEM形式の秘密鍵"
}

フィールド

必須

説明

certificate_chain

PEM形式の証明書。証明書チェーンの場合はリーフ証明書→中間CA の順で結合してください

private_key

PEM形式のRSA秘密鍵(暗号化なし)

  • リクエストサイズ上限: 10 KB

  • 対応鍵種別: RSAのみ(EC・DSA非対応)

  • 秘密鍵はパスフレーズなし(暗号化されていないもの)

  • 証明書の有効期限が切れていないこと

PEMファイルはJSON文字列として渡す必要があります。改行を \n に変換するため、jq または awk を使用してください。

XKEY="発行されたAPIキー"
CERT_CHAIN=$(cat /path/to/cert.pem | jq -Rs .)
PRIVATE_KEY=$(cat /path/to/privkey.pem | jq -Rs .)

curl -s -X POST https://api.cdnw.net/certapi/ \
  -H "Content-Type: application/json" \
  -H "X-KEY: ${XKEY}" \
  -d "{
    \"certificate_chain\": $CERT_CHAIN,
    \"private_key\": $PRIVATE_KEY
  }"
XKEY="発行されたAPIキー"
CERT_CHAIN=$(awk '{printf "%s\\n", $0}' /path/to/cert.pem)
PRIVATE_KEY=$(awk '{printf "%s\\n", $0}' /path/to/privkey.pem)

curl -s -X POST https://api.cdnw.net/certapi/ \
  -H "Content-Type: application/json" \
  -H "X-KEY: ${XKEY}" \
  -d "{\"certificate_chain\": \"$CERT_CHAIN\", \"private_key\": \"$PRIVATE_KEY\"}"
{
  "status": 200,
  "success": true,
  "message": "証明書を登録しました。適用処理を開始しました。",
  "details": {
    "subject": "CN=blog.redbox.ne.jp, O=Organization, C=JP",
    "issuer": "CN=issuer.redbox.ne.jp, O=Issuer Org, C=JP",
    "valid_from": 1708300000,
    "valid_to": 1739836000,
    "chain_length": 1
  }
}

HTTPステータス

原因

401

APIキーが不正または未指定

403

POSTメソッド以外でリクエストした

400

証明書のドメインがサービスに登録されたドメインと一致しない

413

リクエストサイズが10KBを超えている

422

証明書・秘密鍵の形式不正、ペア不一致、有効期限切れなど

500

サーバーエラー(解決しない場合はお問い合わせください)

証明書タイプ変更

POST /certapi/cert-type-switch/

項目

内容

メソッド

POST

Content-Type

application/json; charset=utf-8

認証ヘッダー

X-KEY: {発行されたAPIキー}

{
  "domain": "blog.redbox.ne.jp",
  "cert_type": "universal"
}

フィールド

必須

説明

domain

対象のFQDN

cert_type

``"universal"``(ACME証明書)または ``"custom"``(持ち込み証明書)

XKEY="発行されたAPIキー"
FQDN="blog.redbox.ne.jp"

curl -s -X POST https://api.cdnw.net/certapi/cert-type-switch/ \
  -H "Content-Type: application/json" \
  -H "X-KEY: ${XKEY}" \
  -d "{\"domain\": \"${FQDN}\", \"cert_type\": \"custom\"}"

処理は非同期で実行されます。反映には数分かかる場合があります。

{
  "status": 202,
  "success": true,
  "message": "切り替え処理を開始しました。反映には数分かかります。"
}

HTTPステータス

原因

401

APIキーが不正または未指定

403

POSTメソッド以外でリクエストした

409

切り替え先の証明書がまだ存在しない(事前に証明書を登録/発行してください)

422

domain または cert_type が未指定、または cert_type の値が不正

500

サーバーエラー(解決しない場合はお問い合わせください)