Skip to content

Request certificate issuance

POST
/domains/{domain}/ssl/issue
curl --request POST \
--url https://api.nsin.ir/domains/example.com/ssl/issue \
--header 'Authorization: Bearer <token>'

Starts an ACME order for the domain. Allowed only when SSL is currently missing or failed — certificates are otherwise issued and renewed automatically. Not available for dns_mode: external domains.

Issuance is asynchronous: this returns immediately with status: "pending"; poll GET /domains/{domain}/ssl/ for the outcome. Manual attempts are rate-limited per domain — GET /ssl/ reports can_manual_issue and next_manual_issue_at. Requires ssl.manage.

domain
required
string

The domain name (for example example.com) — not a numeric id.

Example
example.com

Issuance started.

Media type application/json
object
message
string
status
string
Allowed value: pending
last_issue_attempt_at
string format: date-time
Example
{
"message": "SSL issuance started",
"status": "pending"
}

The domain uses external DNS, or SSL is not in a state where a manual issue is allowed.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

Missing, malformed, revoked or expired API key — or the owning account is inactive.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example invalidKey
{
"error": "invalid API key"
}

The key is read-only, your role on the domain lacks the required permission, or the domain’s plan does not include the feature.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"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.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

An issuance is already in progress.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

The per-domain manual issuance cooldown has not elapsed, or the API key rate limit was hit.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

The certificate issuer is temporarily unavailable.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}