Monitors
curl --request GET \ --url 'https://api.uup.dev/v1/projects/prj_01J9Z3K8X4M2N6P8Q0R2S4T6V8/monitors?limit=50&type=http&state=active' \ --header 'Authorization: Bearer <token>'The Project’s Monitors, in the order they were made, each with its Checks. Narrow them by type and state, and find one by its name or target with q.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The Project’s identifier, prj_….
Example
prj_01J9Z3K8X4M2N6P8Q0R2S4T6V8The Project’s identifier, prj_….
Query Parameters
Section titled “Query Parameters”The next of the page before. Left out, the first page.
The next of the page before. Left out, the first page.
How many to answer, 50 unless asked.
How many to answer, 50 unless asked.
Only Monitors of this type.
Only Monitors of this type.
active is checked; paused was paused; suspended was stopped because the Plan no longer covers it.
active is checked; paused was paused; suspended was stopped because the Plan no longer covers it.
Only Monitors whose name or target holds these words, whatever the case: checkout finds Checkout API and https://shop.example.com/checkout.
Only Monitors whose name or target holds these words, whatever the case: checkout finds Checkout API and https://shop.example.com/checkout.
Responses
Section titled “Responses”A page of Monitors.
The Project’s Monitors, in the order they were made.
object
A Monitor and its Checks.
object
The Monitor’s identifier, mon_….
Accept a type you do not know: new ones will come.
Its URL or host, or a heartbeat’s name for itself.
The locations that check it. Empty for a heartbeat.
For a location that cannot check it now, the location checking in its place.
object
active is checked; paused was paused; suspended was stopped because the Plan no longer covers it.
The worst Status of its enabled Checks, or null with none enabled.
The Notification rules assigned to it, rul_….
When it was paused, or null.
When the Plan stopped it, or null.
When it was made.
One question a Monitor asks of its target.
object
The Check’s identifier, chk_….
Its latest Status.
Until when its messages are held, or null.
Its settings, told apart by kind, with every secret left out. A heartbeat’s carries the url its job calls.
object
Why it does not apply to this target, or null.
When a heartbeat is next due, or null.
An Incident open now.
object
The Incident’s identifier, inc_….
When the failure that opened it reached us.
When someone said they are on it, or null.
What the run that opened it saw.
When it was made.
Pass it as cursor for the next page. Null on the last page.
Example
{ "data": [ { "type": "http", "state": "active", "status": "pending", "checks": [ { "type": "uptime", "status": "pending", "notApplicable": "not_https", "openIncident": { "errorKind": "dns_failure" } } ] } ]}The request was refused: invalid_request names the field at fault.
A refusal.
object
object
What was refused, stable across releases. New codes may be added, so handle a code you do not know as its status says.
What to do, in the dashboard’s words. It may change, so never branch on it.
The field at fault, on a 400 invalid_request.
On a 402 not_entitled: what the Plan allows no more of.
On a 402: the Plan’s name.
On a 402: what the Plan allows. On a 422 target_cap_reached: the cap’s figure.
On a 402: what is in use, or for locations, how many were asked.
On a 422 target_cap_reached: which cap the Monitor would pass.
On a 422 target_cap_reached: the site the cap counts, by its host.
On a 422 target_cap_reached: the location the cap was reached from.
On a 422 target_cap_reached: what the cap counts now, before this Monitor.
On a 409 paid_needs_email: the names of the saved rules it would break.
On a 400 event_type_not_on_monitor: the events this Monitor never sends.
Example
{ "error": { "code": "invalid_request", "kind": "project" }}No working API token: unauthenticated.
A refusal.
object
object
What was refused, stable across releases. New codes may be added, so handle a code you do not know as its status says.
What to do, in the dashboard’s words. It may change, so never branch on it.
The field at fault, on a 400 invalid_request.
On a 402 not_entitled: what the Plan allows no more of.
On a 402: the Plan’s name.
On a 402: what the Plan allows. On a 422 target_cap_reached: the cap’s figure.
On a 402: what is in use, or for locations, how many were asked.
On a 422 target_cap_reached: which cap the Monitor would pass.
On a 422 target_cap_reached: the site the cap counts, by its host.
On a 422 target_cap_reached: the location the cap was reached from.
On a 422 target_cap_reached: what the cap counts now, before this Monitor.
On a 409 paid_needs_email: the names of the saved rules it would break.
On a 400 event_type_not_on_monitor: the events this Monitor never sends.
Example
{ "error": { "code": "invalid_request", "kind": "project" }}This token may not do this: forbidden.
A refusal.
object
object
What was refused, stable across releases. New codes may be added, so handle a code you do not know as its status says.
What to do, in the dashboard’s words. It may change, so never branch on it.
The field at fault, on a 400 invalid_request.
On a 402 not_entitled: what the Plan allows no more of.
On a 402: the Plan’s name.
On a 402: what the Plan allows. On a 422 target_cap_reached: the cap’s figure.
On a 402: what is in use, or for locations, how many were asked.
On a 422 target_cap_reached: which cap the Monitor would pass.
On a 422 target_cap_reached: the site the cap counts, by its host.
On a 422 target_cap_reached: the location the cap was reached from.
On a 422 target_cap_reached: what the cap counts now, before this Monitor.
On a 409 paid_needs_email: the names of the saved rules it would break.
On a 400 event_type_not_on_monitor: the events this Monitor never sends.
Example
{ "error": { "code": "invalid_request", "kind": "project" }}No such thing, or not one this token reaches: not_found.
A refusal.
object
object
What was refused, stable across releases. New codes may be added, so handle a code you do not know as its status says.
What to do, in the dashboard’s words. It may change, so never branch on it.
The field at fault, on a 400 invalid_request.
On a 402 not_entitled: what the Plan allows no more of.
On a 402: the Plan’s name.
On a 402: what the Plan allows. On a 422 target_cap_reached: the cap’s figure.
On a 402: what is in use, or for locations, how many were asked.
On a 422 target_cap_reached: which cap the Monitor would pass.
On a 422 target_cap_reached: the site the cap counts, by its host.
On a 422 target_cap_reached: the location the cap was reached from.
On a 422 target_cap_reached: what the cap counts now, before this Monitor.
On a 409 paid_needs_email: the names of the saved rules it would break.
On a 400 event_type_not_on_monitor: the events this Monitor never sends.
Example
{ "error": { "code": "invalid_request", "kind": "project" }}Too many requests: rate_limited. Retry-After says when to try again.
A refusal.
object
object
What was refused, stable across releases. New codes may be added, so handle a code you do not know as its status says.
What to do, in the dashboard’s words. It may change, so never branch on it.
The field at fault, on a 400 invalid_request.
On a 402 not_entitled: what the Plan allows no more of.
On a 402: the Plan’s name.
On a 402: what the Plan allows. On a 422 target_cap_reached: the cap’s figure.
On a 402: what is in use, or for locations, how many were asked.
On a 422 target_cap_reached: which cap the Monitor would pass.
On a 422 target_cap_reached: the site the cap counts, by its host.
On a 422 target_cap_reached: the location the cap was reached from.
On a 422 target_cap_reached: what the cap counts now, before this Monitor.
On a 409 paid_needs_email: the names of the saved rules it would break.
On a 400 event_type_not_on_monitor: the events this Monitor never sends.
Example
{ "error": { "code": "invalid_request", "kind": "project" }}