SSL API

Let's Encrypt certificate management via certbot.

All endpoints are prefixed with /api/ssl. Admin only.


Endpoints

MethodPathDescription
GET/sslList all certificates
GET/ssl/:nameCertificate details
GET/ssl/:name/confignginx SSL config
GET/ssl/searchSearch certificates
POST/ssl/issueIssue new certificate
POST/ssl/renew/:domainRenew certificate
POST/ssl/renew-allRenew all certificates
POST/ssl/revoke/:domainRevoke certificate
DELETE/ssl/:domainRemove certificate files
GET/ssl/auto-renewAuto-renewal status
POST/ssl/dry-runTest renewal (dry run)
GET/ssl/nginx-optionsnginx SSL directives

Request/Response

GET /ssl

{
  "certificates": [
    {
      "name": "example.com",
      "domain": "example.com",
      "expiryDate": "2026-10-26T12:00:00Z",
      "daysLeft": 90,
      "status": "valid",
      "keyType": "RSA",
      "serialNumber": "abc123..."
    }
  ],
  "stats": { "total": 32, "expiringSoon": 3, "expired": 0, "ecdsa": 12, "rsa": 20 }
}

POST /ssl/issue

{
  "domain": "new.example.com",
  "email": "admin@example.com",
  "staging": false
}

POST /ssl/renew-all

{
  "summary": {
    "renewed": 28,
    "failed": 2,
    "skipped": 2
  }
}

GET /ssl/auto-renew

{
  "timerActive": true,
  "lastRun": "2026-07-28T03:00:00Z",
  "nextRun": "2026-07-29T03:00:00Z"
}

Part of NexusPanel API Reference

← Back to Documentation