List the domain's uptime monitors
const url = 'https://api.nsin.ir/uptime/monitors?domain=example.com';const options = {method: 'GET', 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 GET \ --url 'https://api.nsin.ir/uptime/monitors?domain=example.com' \ --header 'Authorization: Bearer <token>'A monitor narrows outage detection to a host+path scope you name, using
the same thresholds as the whole-host watch. Without one, a failing
/checkout is diluted by every healthy marketing request and never
crosses the domain-wide threshold.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”The domain name (for example example.com). These endpoints take the
domain as a query parameter rather than a path segment.
Example
example.comResponses
Section titled “ Responses ”The domain’s monitors, oldest first.
object
A path-scoped uptime watch. It runs the SAME detector as the whole-host watch — same thresholds, same window, same incident machinery — narrowed to the host and path scope declared here. Thresholds are inherited from the domain’s uptime settings and cannot be overridden per monitor.
object
Optional label, up to 64 characters. It is what the outage SMS and the incident list call this watch, so a domain with two monitors on one host sends two distinguishable alerts.
Legacy single-entry host scope, kept for parity with rules. It is
folded into host_includes when the scope is compiled.
Empty when the monitor has no host scope, i.e. it watches every subdomain.
null or empty means every subdomain of this domain.
Excludes beat includes.
How the path lists are read.
Request paths this monitor watches. Defaults to ["/*"] — every
path — when you send an empty list.
Paths dropped from the scope. Excludes beat includes.
How many monitors this domain may have. A detection-cost ceiling — every monitor adds one path match per scanned log row per tick — not a plan entitlement, so it is the same number for every plan.
Example
{ "monitors": [ { "host_match_type": "", "path_match_type": "wildcard" } ]}The domain query parameter is missing.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "domain is required"}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"}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"}