compute

POST /v1/certificates/orders/{orderId}/renew

Start the successor order for an expiring certificate.

Всички крайни точки в compute

Всички документи за разработчици

Упълномощаване

Изпратете API ключ като токен за носене. Ключът трябва да притежава разрешението billing.payment.manage; ключ без него се отхвърля с 403, а не с 404.

Този ендпойнт не изисква идентификатор на организация. Вашият ключ вече идентифицира организацията, към която принадлежи, и отговорът е ограничен до нея.

Опитайте

Заменете всичко в квадратни скоби със собствени стойности, а ключовия заместващ символ – с ключ от вашето табло за управление.

curl -X POST https://api.zinndigital.com/v1/certificates/orders/{orderId}/renew \
  -H "Authorization: Bearer zdk_live_…"

Влязохте ли в профила си? API конзолата във вашето табло за управление попълва действителното идентификационно число на вашата организация и вашия собствен ключ и изпълнява заявката спрямо реалното API, за да можете да видите действителния отговор. Отворете този крайpoint в API конзолата

Детайли

⛔⛔ A renewal is a FRESH ORDER with a FRESH VALIDATION, not a flag. The authority re-issues against a new CSR and re-runs domain control, so this creates a pending successor seeded from the expiring order and spends nothing. The customer then supplies a CSR to submitCertificateOrder exactly as they did the first time, which is the call that charges. Anything modelling renewal as an auto-renew toggle silently produces orders nobody validates — paid for, awaiting_validation, and never issued. ⭐ Idempotent, so it answers 200 rather than 201: a double-click, a retried activity and an impatient customer all reach this, and it returns the existing live successor rather than buying a second certificate. Requires billing.payment.manage. ⚠️ An organisation that is not in good standing is refused with a reason (§2.46), never silently — the existing certificate keeps working until it expires either way, and "my renew button does nothing" is indistinguishable from a broken product.

Параметри

ИмеТипЗадължителноКакво представлява
orderId (path)UuidДаThe order's id, as listCertificateOrders reports it. Ours (UUIDv7).

Отговор

ИмеТипЗадължителноКакво представлява
idUuidДаUUIDv7 identifier — sortable by creation time (docs/02 §8).
product_codestringДаThe stable machine key (positive_ssl). ⛔ Match on this, never on product_name — the name is the certificate authority's marketing string and can be corrected without the…
product_namestringДаWhat the customer reads — the authority's own product name (PositiveSSL, S/MIME Personal, Unified Communications Certificate (UCC)). ⛔ Never a translation key: these are…
statestring<pending, awaiting_validation, issued, cancelled, failed, expired>Да⛔⛔ awaiting_validation means PAID AND NOT ISSUED. The authority charges at order time and then waits for the customer to prove they control the domain. It is deliberately…
common_namestringДаThe primary domain on the certificate.
domainsstring[]ДаAdditional names (SANs). Empty for a single-domain product.
period_yearsintegerДа
price_minorintegerДаWhat the customer is charged, frozen at order. A copy rather than a join, so an operator repricing the catalogue cannot move an existing bill.
currencystringДа
validation_instructionsstringДаWhat the customer must still do, in the authority's own words. ⭐ Carried as text rather than parsed: every authority words it differently, and a half-parsed instruction is worse…
certificate_pemstringДаThe issued certificate. ⭐ Public by nature — it is served to every visitor of the site — which is why it is returned here while its private key never is: a customer-generated…
chain_pemstringДа
messagestringДаWhy it failed or was cancelled, in a sentence the customer reads.
ordered_atstringДа
issued_atstringДа
expires_atstringДа
days_until_expiryintegerДаWhole days until expires_at, negative once it has lapsed. ⛔ null and 0 are DIFFERENT answers and a client must not collapse them: null means we could not read an expiry…
renewablebooleanДаWhether to offer a re-order now — issued, inside the 30-day window, and with no renewal already in flight. ⛔ Computed here rather than left to a client to derive from…
free_alternative_existsbooleanДаWhether Let's Encrypt issues this kind of certificate for nothing. Carried onto the renewal prompt for the same reason it is on the buy screen: say so before asking somebody…
renewal_ofUuidДаThe order this one renews, so a client can show the chain.
last_reminded_atstringДаWhen the renewal sweep last REACHED this order — which is not the same as when it last emailed about it. ⛔ The sweep stamps this for every row it reaches…

Грешки, които този крайpoint може да върне

401 · 403 · 404 · 422 · 429 · 503