Re-check that proxied records point to NSIN (external DNS)
const url = 'https://api.nsin.ir/domains/example.com/records/edge-check';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
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/records/edge-check \ --header 'Authorization: Bearer <token>'For a domain whose DNS is hosted outside NSIN, resolves every
proxied record right now and stores the verdict on each one
(edge_status / edge_via / edge_detail / edge_checked_at).
A background sweep does the same every 5 minutes (hourly once a
record is confirmed), and a record is checked as soon as it is created
or updated, so this is for “I just fixed my DNS, look again”. Limited
to once a minute per domain. A managed-DNS domain answers 400 with
error_code: managed_dns — its proxied records always point here.
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.comResponses
Section titled “ Responses ”The fresh verdicts.
object
Proxied records looked up.
Records that resolve to NSIN.
Records that resolve elsewhere or not at all.
object
Record name relative to the domain. @ is the apex.
The fully-qualified name, with trailing dot.
The record’s value. For a proxied record this is the origin the
edge connects to, and the published DNS answer is the NSIN proxy IP
instead — see dns_content.
What is actually published in DNS. Equals the proxy IP for proxied records.
TTL in seconds.
Route this hostname through the NSIN edge. Only A, AAAA, CNAME
and ANAME may be proxied.
Challenge visitors before passing them to the origin.
False for records NSIN manages on your behalf.
The platform feature that owns this record, or empty for a record
you created. email_routing marks the MX, SPF and DKIM rows Email
Routing publishes; they are removed by disabling routing, never
through the record endpoints (which refuse them while locked).
Protocol the edge uses to reach the origin for a proxied record.
Default follows the request’s own scheme; Auto probes.
Origin port for proxied records. Default: 443.
Overrides the Host header (and SNI) sent to the origin.
Include this record in uptime monitoring.
ISO country code of the destination, detected by NSIN.
How long an edge node waits for the origin to start responding before returning 504, in seconds. Default 15, maximum 1800 (30 minutes). Only applies to proxied records.
Only meaningful for MX.
Free-form note.
External-DNS domains, proxied records only. Whether the name
resolves to NSIN’s edge, as last checked: ok — every address it
resolves to is ours; miss — it resolves elsewhere, only partly to
us, or not at all; error — the first lookup failed and nothing is
known yet. Absent until the first check, and always absent on a
managed-DNS domain.
How an ok record reaches NSIN: through the CNAME target
(cname), by publishing our address directly (a), or proxy —
DNS points at another CDN or proxy, but that service forwards to
NSIN and the edge is serving the host (judged from the last 24h of
request logs). A CNAME keeps working when our addresses change; an
A record does not.
What the name actually resolves to, for display.
When this endpoint accepts the next call for this domain.
Example
{ "records": [ { "name": "www", "original_name": "www.example.com.", "type": "A", "scheme": "Http", "timeout": 15, "edge_status": "ok", "edge_via": "cname" } ]}The domain uses NSIN-managed DNS.
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"}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"}Checked less than a minute ago. retry_after_seconds says how long to wait.
object
Example generated
{ "error": "example", "retry_after_seconds": 1}