curl -X POST "https://api.scanova.io/custom-domain/42/ssl-certificate/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-H "Content-Type: application/json" \
-d '{
"certificate": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----",
"certificate_chain": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----"
}'
{
"detail": "Certificate activated.",
"status": "ISSUED",
"expires_at": "2026-12-08T00:00:00Z"
}
Custom Domains
Upload an SSL certificate
POST /custom-domain//ssl-certificate/
POST
/
custom-domain
/
{pk}
/
ssl-certificate
/
curl -X POST "https://api.scanova.io/custom-domain/42/ssl-certificate/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-H "Content-Type: application/json" \
-d '{
"certificate": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----",
"certificate_chain": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----"
}'
{
"detail": "Certificate activated.",
"status": "ISSUED",
"expires_at": "2026-12-08T00:00:00Z"
}
Uploads an issued SSL certificate for a domain and activates it, on the Management API host (
Scanova validates the certificate against the domain and the CSR’s key, imports it into AWS ACM, and links it to serve live traffic — this is fully automated, with no manual review step. Three outcomes are possible:
api.scanova.io), authenticated with your raw Management API key.
POST https://api.scanova.io/custom-domain/{pk}/ssl-certificate/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
Enterprise-only. Requires the
CUSTOM_DOMAIN_CUSTOM_SSL quota, which is granted manually — no self-serve plan includes it. Requires a prior CSR — see Create an SSL certificate request.integer
required
The domain’s
id.string
required
The issued certificate, PEM-encoded.
string
The certificate authority’s intermediate chain, PEM-encoded, if your CA provides one separately.
curl -X POST "https://api.scanova.io/custom-domain/42/ssl-certificate/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-H "Content-Type: application/json" \
-d '{
"certificate": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----",
"certificate_chain": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----"
}'
{
"detail": "Certificate activated.",
"status": "ISSUED",
"expires_at": "2026-12-08T00:00:00Z"
}
200— validated, imported, and activated. Traffic on this domain now serves with the new certificate.202— imported into ACM but not yet issued; not linked to serve traffic yet. Check back shortly.207Multi-Status — issued, but linking it to serve traffic failed; Scanova’s support team is notified automatically and will follow up.
400 if there’s no CSR for this domain yet, the certificate doesn’t match the domain or the CSR’s key, or AWS ACM rejects the import (the error message is included in the response).
Related
- Get SSL certificate status — check status after uploading.
- Create an SSL certificate request — the CSR required before uploading.
- Management API overview — the auth scheme and quota rules that apply to this endpoint.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Path Parameters
Response
Certificate validated, imported, and activated for serving traffic.
Was this page helpful?