Change a Notification rule
curl --request PATCH \ --url https://api.uup.dev/v1/projects/prj_01J9Z3K8X4M2N6P8Q0R2S4T6V8/rules/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "eventTypes": [ "uptime.failed" ], "channelIds": [ "example" ], "warningsDuringOutage": true, "repeat": "off" }'Change what you send; the rest stays.
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_….
The rule’s identifier, rul_….
The rule’s identifier, rul_….
Request Bodyrequired
Section titled “Request Bodyrequired”What to change.
What to change. A field left out stays as it is.
object
Responses
Section titled “Responses”The rule, changed.
A Notification rule: which events go to which Channels.
object
The rule’s identifier, rul_….
The Default rule, which every new Monitor gets and nobody deletes.
The events it sends, or null for every one.
Its Channels, chn_….
How often an open Incident is sent again, or off.
How many Monitors it is assigned to.
When it was written.
Example
{ "eventTypes": [ "uptime.failed" ], "repeat": "off"}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" }}It conflicts with what is there now.
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" }}Refused for a reason its code names.
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" }}