Inspect a certificate before uploading
const url = 'https://api.nsin.ir/domains/example.com/ssl/parse';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"certificate":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.nsin.ir/domains/example.com/ssl/parse \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "certificate": "example" }'Parses a certificate PEM and reports its subject, issuer, validity and
SANs — without installing anything. eligible lists the SANs that belong
to this domain and may therefore be passed as hostnames to the upload
call; default_selection is the subset the panel pre-selects.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The domain name (for example example.com) — not a numeric id.
Example
example.comRequest Body required
Section titled “Request Body required ”object
PEM-encoded certificate.
Example generated
{ "certificate": "example"}Responses
Section titled “ Responses ”Parsed certificate.
object
Every SAN on the certificate.
The SANs that belong to this domain and may be passed as hostnames on upload.
The subset of eligible covering the apex and its wildcard.
Example generated
{ "subject": "example", "issuer": "example", "sans": [ "example" ], "eligible": [ "example" ], "default_selection": [ "example" ], "expires_at": "2026-04-15T12:00:00Z", "issued_at": "2026-04-15T12:00:00Z"}Missing or unparseable certificate PEM.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Example
{ "error": "read-only API key"}Missing, malformed, revoked or expired API key — or the owning account is inactive.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "invalid API key"}The key is read-only and this endpoint is a write. Read-only keys may
only issue GET, HEAD and OPTIONS.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "read-only API key"}No such domain, or it is not visible to this account. Domains you cannot access are reported as not found rather than forbidden.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Example
{ "error": "read-only API key"}The key exceeded its request budget (300 requests per minute by default).
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "rate limit exceeded"}