Reissue SSL Certificate
Force ACME to issue a fresh certificate for the domain right now, instead of waiting for the platform's auto-renewal window. Useful when:
- A previous issuance failed (DNS provider was misconfigured, propagation hadn't completed) — fixed it, want to retry now.
- You're rotating an upstream key/cert intermediary and want fresh CT logs.
- Compliance requirements demand "freshly issued in the last X days".
The reissue is queued — the response returns immediately with a request_id; the actual issuance happens asynchronously by the ACME worker. Poll /acme/status to track progress (typical issuance: 30s–2min depending on DNS-01 propagation).
Subject to Let's Encrypt's rate limits (5 duplicate certs per week per registered domain). The platform doesn't track these client-side — exceeding triggers a hard error from LE that lands in last_error.
Path parameters
uuid string (uuid) Req
Domain UUID. Must be active and have a DNS provider configured.
Request body
None — empty body or {}.
Response (200 OK)
queued boolean
true if the reissue was successfully enqueued. Issuance happens out-of-band.request_id int64
ID of the queued ACME job. Use to correlate with /acme/status.
Errors
400 Bad Request
Domain isn't active, or has no DNS provider (can't run DNS-01 challenge).
401 Unauthorized
Missing auth.
404 Not Found
Domain doesn't exist or doesn't belong to the calling user.
409 Conflict
An ACME job is already in flight for this domain. Wait for it to finish (poll
/acme/status) before retrying.Request
curl -X POST "https://api.ngris.com/v1/domains/self/<uuid>/reissue-ssl" \
-H "X-API-KEY: <your_api_key>"
Python
import time
from ngris import Ngris
client = Ngris(api_key="<your_api_key>")
client.domains.reissue_ssl("<domain_uuid>")
# Wait for issuance:
while True:
s = client.domains.get_acme_status("<domain_uuid>")
if s["status"] in ("issued", "error"):
print(s["status"], s.get("last_error"))
break
time.sleep(5)
Response — 200 OK
{
"queued": true,
"request_id": 42
}