登録不要・無料のJSON APIです。Ansible・CI・監視スクリプトから証明書の更新状況を確認できます。
GET /api/v1/check| パラメータ | 説明 |
|---|---|
host | 必須。ホスト名 |
port | 既定 443 |
min_days | 全サーバの残り日数がこの値以上で pass |
expect_not_after_gt | 全サーバの有効期限がこの日時より後で pass(RFC3339 または YYYY-MM-DD)。更新前の期限を指定すると「延長されたか」を確認できます |
expect_fingerprint_sha256 | 全サーバがこの証明書(SHA-256指紋、コロン区切り可)を提示していれば pass。配布した証明書そのものが全ノードに反映されたかを確認できます。RSA/ECDSA併用時はカンマ区切りで複数指定 |
nocache | 1 でキャッシュを使わず再チェック(レート制限を3回分消費。同一ホストは30秒に1回まで) |
{
"host": "example.com",
"port": 443,
"checked_at": "2026-11-11T03:00:00Z",
"status": "OK",
"min_days_remaining": 187,
"earliest_not_after": "2027-05-20T00:00:00Z",
"all_endpoints_match": true,
"endpoints": [ { "ip": "192.0.2.10", "fingerprint_sha256": "AB:CD:…", "days_remaining": 187, "lifetime_ratio": 0.93, "chain_valid": true, "hostname_match": true, … } ],
"result": "pass",
"reasons": [],
"cached": false,
"history": { "renewed": true, "previous": { "earliest_not_after": "2027-03-20T00:00:00Z", … } }
}
status: OK / RENEW_DUE / MISMATCH / CRITICAL / INVALID / EXPIRED / ERROR
result は ERROR・EXPIRED・INVALID・MISMATCH の場合、または指定条件を満たさない場合に fail になります。
POST /api/v1/scan / GET /api/v1/scan設定スキャン(プロトコル・暗号スイート・HSTS・CAA・グレード)。POSTで開始(HTTP 202)、GETで最新の結果を取得します。status が done になるまで数十秒かかります。開始は送信元IPごとに 5回/時・20回/日まで、同一ターゲットの結果は1時間再利用されます。
curl -fsS -X POST "https://sslcheck.nakayumc.com/api/v1/scan?host=example.com"
sleep 60
curl -fsS "https://sslcheck.nakayumc.com/api/v1/scan?host=example.com" | jq '.status, .result.grade, .result.findings'
送信元IP(IPv6は/64単位)ごとに 20回/分・500回/日。超過時は HTTP 429 と Retry-After を返します。結果は5分間キャッシュされます。
curl -fsS "https://sslcheck.nakayumc.com/api/v1/check?host=example.com&min_days=30&nocache=1" | jq -e '.result == "pass"'
- name: Verify renewed certificate
ansible.builtin.uri:
url: "https://sslcheck.nakayumc.com/api/v1/check?host={{ cert_fqdn }}&min_days=30&nocache=1"
return_content: true
register: cert_check
until: cert_check.json.result == 'pass'
retries: 5
delay: 30
delegate_to: localhost
run_once: true
changed_when: false
