Skip to content

List the domain's uptime monitors

GET
/uptime/monitors
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.

domain
required
string

The domain name (for example example.com). These endpoints take the domain as a query parameter rather than a path segment.

Example
example.com

The domain’s monitors, oldest first.

Media type application/json
object
monitors
Array<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
id
integer
domain_id
integer
name

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.

string
enabled
boolean
host_pattern

Legacy single-entry host scope, kept for parity with rules. It is folded into host_includes when the scope is compiled.

string
host_match_type

Empty when the monitor has no host scope, i.e. it watches every subdomain.

string
Allowed values: "" exact wildcard regex
host_includes

null or empty means every subdomain of this domain.

Array<string>
nullable
host_excludes

Excludes beat includes.

Array<string>
nullable
path_match_type

How the path lists are read.

string
Allowed values: wildcard regex
path_includes

Request paths this monitor watches. Defaults to ["/*"] — every path — when you send an empty list.

Array<string>
path_excludes

Paths dropped from the scope. Excludes beat includes.

Array<string>
created_at
string format: date-time
updated_at
string format: date-time
max

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.

integer
Example
{
"monitors": [
{
"host_match_type": "",
"path_match_type": "wildcard"
}
]
}

The domain query parameter is missing.

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 missing
{
"error": "domain is required"
}

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"
}

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"
}

The key exceeded its request budget (300 requests per minute by default).

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 limited
{
"error": "rate limit exceeded"
}