Client API: SSL
Certificate inventory and issuance, plus HTTP-01 / DNS challenge workflows for domain validation.
Certificate inventory and issuance, plus HTTP-01 / DNS challenge workflows for domain validation.
Base URL: https://api.coritan.com/api/v1. Paths below are complete.
To try these requests in the browser, open the interactive Client API reference.
Operations
Section titled Operations| Method | Path | Summary |
|---|---|---|
| GET | /api/v1/ssl/certificates |
List SSL certificates for the authenticated user |
| POST | /api/v1/ssl/certificates |
Order a certificate for names this account holds |
| DELETE | /api/v1/ssl/certificates/{domain} |
Revoke/deactivate an SSL certificate for a domain |
| POST | /api/v1/ssl/certificates/{domain}/renew |
Request certificate renewal for a domain |
| GET | /api/v1/ssl/certificates/{domain}/status |
Get SSL certificate status for a domain |
| POST | /api/v1/ssl/challenges/start |
Start an SSL challenge for a domain |
| POST | /api/v1/ssl/challenges/{domain}/complete |
Finalize verification and trigger certificate issuance |
| GET | /api/v1/ssl/challenges/{domain}/status |
Check the current verification status for a domain |
List SSL certificates for the authenticated user
Section titled List SSL certificates for the authenticated userGET /api/v1/ssl/certificates
List SSL certificates for the authenticated user.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
page |
query | integer | no | Default: 1. |
per_page |
query | integer | no | Default: 25. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field | Type |
|---|---|
certificates |
array of SSLCertificateResponse |
certificates[].id |
integer |
certificates[].domain |
string |
certificates[].route_id |
integer or null |
certificates[].zone_id |
integer or null |
certificates[].status |
string |
certificates[].issuer |
string or null |
certificates[].challenge_method |
string or null |
certificates[].issued_at |
string (date-time) or null |
certificates[].expires_at |
string (date-time) or null |
certificates[].last_renewal_at |
string (date-time) or null |
certificates[].renewal_attempts |
integer |
certificates[].error_message |
string or null |
certificates[].created_at |
string (date-time) or null |
certificates[].san_domains |
array of string |
certificates[].serial |
string or null |
certificates[].fingerprint_sha256 |
string or null |
certificates[].requested_provider |
string or null |
certificates[].failover_from |
array of string |
total |
integer |
Order a certificate for names this account holds
Section titled Order a certificate for names this account holdsPOST /api/v1/ssl/certificates
Order a certificate for names this account holds.
One name without a wildcard is checked the way challenge_method says,
or the way the job picks. A wildcard (*.example.com) or any
extra_domains is checked through Coritan DNS, so challenge_method
may only be dns01 and every name must be in one active DNS zone of
this account; 422 says which name is not. A wildcard needs a plan with
wildcard certificates while plans apply to the account (402 otherwise).
route_id installs the certificate on that website: the account's
own website, or one with no owner under the account's zone or domain
(404 otherwise). On a certificate with more than one name, the website's
own name must be one of them and becomes the first; a name that is
another account's website is refused. 409 while an order for the same
first name is queued, 429 when its registered domain has used its
weekly issuance limit.
Authentication: an access token, sent as Authorization: Bearer <token>.
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
domain |
string | yes |
extra_domains |
array of string | no |
route_id |
integer or null | no |
challenge_method |
string or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
202 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Revoke/deactivate an SSL certificate for a domain
Section titled Revoke/deactivate an SSL certificate for a domainDELETE /api/v1/ssl/certificates/{domain}
Revoke/deactivate an SSL certificate for a domain.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
domain |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Request certificate renewal for a domain
Section titled Request certificate renewal for a domainPOST /api/v1/ssl/certificates/{domain}/renew
Request certificate renewal for a domain.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
domain |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
202 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Get SSL certificate status for a domain
Section titled Get SSL certificate status for a domainGET /api/v1/ssl/certificates/{domain}/status
Get SSL certificate status for a domain.
The certificate is the newest for the name itself, else for the parent's
wildcard (every claimed platform name carries one), else for the zone's
own wildcard, which carries the apex as a SAN (certificate_lookup).
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
domain |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field | Type |
|---|---|
domain |
string |
has_certificate |
boolean |
certificate |
SSLCertificateResponse or null |
certificate.id |
integer |
certificate.domain |
string |
certificate.route_id |
integer or null |
certificate.zone_id |
integer or null |
certificate.status |
string |
certificate.issuer |
string or null |
certificate.challenge_method |
string or null |
certificate.issued_at |
string (date-time) or null |
certificate.expires_at |
string (date-time) or null |
certificate.last_renewal_at |
string (date-time) or null |
certificate.renewal_attempts |
integer |
certificate.error_message |
string or null |
certificate.created_at |
string (date-time) or null |
certificate.san_domains |
array of string |
certificate.serial |
string or null |
certificate.fingerprint_sha256 |
string or null |
certificate.requested_provider |
string or null |
certificate.failover_from |
array of string |
rate_limit |
SSLRateLimitResponse or null |
rate_limit.registered_domain |
string |
rate_limit.issued_last_7_days |
integer |
rate_limit.limit |
integer |
rate_limit.remaining |
integer |
rate_limit.allowed |
boolean |
wildcard |
boolean |
Start an SSL challenge for a domain
Section titled Start an SSL challenge for a domainPOST /api/v1/ssl/challenges/start
Start an SSL challenge for a domain. Returns method-specific instructions.
Methods:
- auto: automatically selects the best method
- dns_automatic: uses platform-managed DNS (requires DNS zone)
- dns_manual: returns TXT record for user to add to their external DNS
- http: verifies domain is pointed to this server, issues via HTTP-01
Authentication: an access token, sent as Authorization: Bearer <token>.
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
domain |
string | yes |
method |
string | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
201 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Finalize verification and trigger certificate issuance
Section titled Finalize verification and trigger certificate issuancePOST /api/v1/ssl/challenges/{domain}/complete
Finalize verification and trigger certificate issuance. For HTTP method: verifies domain points to server, then issues via HTTP-01. For dns_manual: verifies TXT record exists, then issues via DNS-01.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
domain |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
202 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Check the current verification status for a domain
Section titled Check the current verification status for a domainGET /api/v1/ssl/challenges/{domain}/status
Check the current verification status for a domain. Performs real-time DNS/IP resolution checks.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
domain |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |