Reissue SSL Certificate

POST /v1/domains/self/{uuid}/reissue-ssl

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).

Limited to 5 issuances per domain in any 7 days, which keeps the domain clear of Let's Encrypt's own limit (5 duplicate certificates a week for the same names). Every issuance requested for the domain counts — including its first one when the domain was added — whether it is still queued, succeeded or failed; the ACME worker's automatic retries of a failed attempt don't. The 6th request answers 429.

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.
409 Conflict
code: "domain_expiry_suspended" — the domain is suspended because its registration expired. Renew it at your registrar: the domain is reactivated automatically and certificate renewal resumes (see Check again).
429 Too Many Requests
5 issuances were already requested for this domain in the last 7 days. Try again once the oldest of them is more than 7 days old.
Request
curl -X POST "https://api.ngris.com/v1/domains/self/<uuid>/reissue-ssl" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json"
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 }
Was this helpful?
Was this helpful?