Check SSL Status
Pinner provisions SSL certificates automatically for custom domains. Once DNS is configured and validated, Pinner's certificate manager (backed by Caddy) handles provisioning; you just wait for the process to complete.
Check the current status
const response = await pinner.websites.getSSLStatus("mysite.example.com");
const ssl = response.ssl;
if (ssl) {
console.log("Status:", ssl.status);
if (ssl.error) {
console.log("Error:", ssl.error);
}
if (ssl.issued_at) {
console.log("Issued at:", ssl.issued_at);
}
}SSL states
| Status | Meaning |
|---|---|
pending | Waiting to start provisioning: DNS may not have propagated yet |
issuing | Certificate is being requested and provisioned |
ready | Certificate issued and active; the site is serving HTTPS |
failed | Provisioning failed; check the error field for details |
Using the CLI
You can also check SSL status from the command line:
# Check once
pinner websites ssl status example.com
# Watch for changes (polls until settled)
pinner websites ssl status example.com --watch
# JSON output
pinner websites ssl status example.com --jsonTroubleshooting
SSL stuck at pending
DNS records haven't propagated yet. This is normal; it can take a few minutes to a few hours depending on your registrar. Verify your CNAME and TXT records are in place:
dig CNAME mysite.example.com
dig TXT pinner-verify.mysite.example.comSSL in failed state
Check the error field for details. Common causes:
- DNS not pointing at Pinner: The CNAME or A record is missing or pointing elsewhere
- Domain validation expired: Re-validate the domain (see Custom Domains)
- Rate limit hit: Too many SSL requests in a short time; wait and retry
Keep watching for SSL readiness
Use the CLI's --watch flag to poll until the certificate reaches ready or failed:
pinner websites ssl status example.com --watch