compute

POST /v1/certificates/orders

Start a certificate order. Spends nothing.

Gbogbo àwọn compute endpoints

Ìfàṣẹ́pọ̀

Fi bọ́ọ̀lù (bearer token) ranṣẹ gẹ́gẹ́ bí kọ́kọ́rọ́ API. Kọ́kọ́rọ́ náà gbọ́dọ̀ ní ìyọ̀ǹda billing.payment.manage; a ó kọ̀ ọ́ silẹ pẹlu 403, kii ṣe 404, ti kọ́kọ́rọ́ náà kò bá ní i.

Ojú abánisọ̀rọ̀ yìí kò gba id ajọ kankan. Kọ́kọ́rọ́ rẹ ti mọ ajọ ti o jẹ ti e, a o si fèsì nipa rẹ̀.

Gbiyanju rẹ

Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.

curl -X POST https://api.zinndigital.com/v1/certificates/orders \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "product_code": <string>, "common_name": <string>, "currency": <string> }'

Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API

Àwọn kúlẹ̀kúlẹ̀

⭐ **This does NOT buy anything** — `submit` does. The split exists so the refusals a customer can act on arrive while they are still on the screen rather than as a failed background job, and so a half-filled form can never place an order. ⛔ Answers `422` when the product does not cover what was asked for: a wildcard name on a non-wildcard certificate, more domains than the **price** includes, a term the authority does not sell, or an account not in good standing. Each of those is an order the authority would happily charge for and never issue. Requires `billing.payment.manage`.

Akoonu ibeere naa

OrúkọIruTí a nílòKini o jẹ
product_codestringBẹẹni
common_namestringBẹẹniThe primary domain. A leading `*.` is a wildcard and is refused on a product that does not cover one — the authority would accept it at order time and refuse it at issuance, aft…
currencystringBẹẹni
period_yearsintegerBẹẹkọ
domainsstring[]BẹẹkọAdditional names. ⛔ Capped by the product's `included_domains` — what the **price** covers — not by what the authority would technically allow, because it bills names beyond the…

Idahun

OrúkọIruTí a nílòKini o jẹ
idUuidBẹẹniUUIDv7 identifier — sortable by creation time (docs/02 §8).
product_codestringBẹẹniThe 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 pro…
product_namestringBẹẹniWhat the customer reads — the authority's own product name (`PositiveSSL`, `S/MIME Personal`, `Unified Communications Certificate (UCC)`). ⛔ Never a translation key: these are t…
statestring<pending, awaiting_validation, issued, cancelled, failed, expired>Bẹẹni⛔⛔ **`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_namestringBẹẹniThe primary domain on the certificate.
domainsstring[]BẹẹniAdditional names (SANs). Empty for a single-domain product.
period_yearsintegerBẹẹni
price_minorintegerBẹẹniWhat the customer is charged, frozen at order. A copy rather than a join, so an operator repricing the catalogue cannot move an existing bill.
currencystringBẹẹni
validation_instructionsstringBẹẹniWhat 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_pemstringBẹẹniThe 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-generate…
chain_pemstringBẹẹni
messagestringBẹẹniWhy it failed or was cancelled, in a sentence the customer reads.
ordered_atstringBẹẹni
issued_atstringBẹẹni
expires_atstringBẹẹni
days_until_expiryintegerBẹẹniWhole 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…
renewablebooleanBẹẹniWhether 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 `expires_a…
free_alternative_existsbooleanBẹẹniWhether 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_ofUuidBẹẹniThe order this one renews, so a client can show the chain.
last_reminded_atstringBẹẹniWhen 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 **including the ones it…

Awọn aṣiṣe ti ibudo ipari yii le da pada

401 · 403 · 422 · 429