How requests work
Every request goes to https://api.uup.dev/v1, with your token in the Authorization header. A request with a body sends it as JSON:
curl -X POST "https://api.uup.dev/v1/projects/prj_01J9Z3K8X4M2N6P8Q0R2S4T6V8/checks/chk_01J9Z3K8X4M2N6P8Q0R2S4T6V8/snooze" \ -H "Authorization: Bearer $UUP_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "until": "2026-11-01T09:00:00Z" }'It reads your token from UUP_API_TOKEN, as every example in these pages does. Your first API call sets it up.
Everything lives under its Project, as it does in the dashboard: /projects/{projectId}/monitors/{monitorId}. A token may reach more than one Project, so the path names the one you mean. GET /projects lists the Projects your token reaches.
Bodies
Section titled “Bodies”- Field names are camelCase, such as
createdAt. - Identifiers carry a prefix that says what they name, such as
prj_…for a Project,mon_…for a Monitor andinc_…for an Incident. Send them back as they came. - Times are ISO 8601, in UTC:
2026-11-01T09:00:00Z. Lengths of time are in seconds. - A field with nothing in it is sent as
null. It is never left out. - One thing comes back as itself. A list comes back as
{ "data": [...], "next": ... }. - A field that takes one of a set of values may gain a new value later, such as a new Monitor type. Handle a value you do not know, rather than fail on it.
Paging
Section titled “Paging”A list gives 50 items by default and 200 items at most. Ask for a size with limit.
When there is more, next holds a cursor: send it as cursor to get the next page. On the last page next is null. A list does not say how many there are in all.
Incidents and runs come newest first. Monitors come in the order they were made.
Acts that are safe to send twice
Section titled “Acts that are safe to send twice”Pausing, resuming, acknowledging, resolving and dismissing are safe to repeat. Sent again, each answers what is there now rather than an error, so code that is not sure a request arrived can send it once more.
A create is not safe to repeat: sent twice, it makes two. Read the list before you send it again.
PATCH changes only the fields it sends. DELETE answers 204 with no body.