API reference · Monitoring Scheduled jobs (heartbeats) Cron jobs and backups that must call in before a deadline. Silence becomes an incident.
Base URL https://app.upfour.io/v1 ·
auth via Authorization: Bearer <key> ·
“Try it” runs from your browser — the key is kept in this tab only. Use a
pls_test_ sandbox key to experiment freely.
GET /heartbeatsPOST /heartbeatsGET /heartbeats/{heartbeatID}PUT /heartbeats/{heartbeatID}PATCH /heartbeats/{heartbeatID}DELETE /heartbeats/{heartbeatID}GET /heartbeats/{heartbeatID}/availabilityPOST /heartbeats/{heartbeatID}/pausePUT /heartbeats/{heartbeatID}/pauseGET /heartbeats/{heartbeatID}/pingsPOST /heartbeats/{heartbeatID}/resumePUT /heartbeats/{heartbeatID}/resume GET /heartbeats scope heartbeat.write stable returns 200
Parameter In Type Notes limit query integer default 50 cursor query string client_id query uuid all_clients query boolean q query string sort query string
curl -s https://app.upfour.io/v1/heartbeats \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /heartbeats scope heartbeat.write stable returns 201
Body field Type Notes namestring Display name expected_interval_secondsinteger How often the job should check in grace_period_secondsinteger Slack on top before the silence alerts heartbeat_group_iduuid Optional folder client_iduuid Create inside a client partition (agency mode)
curl -s -X POST https://app.upfour.io/v1/heartbeats \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "nightly pg_dump", "expected_interval_seconds": 86400, "grace_period_seconds": 3600 }' Try it GET /heartbeats/{heartbeatID} scope heartbeat.write stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s https://app.upfour.io/v1/heartbeats/<heartbeatID> \
-H "Authorization: Bearer $UP4_API_KEY" Try it PUT /heartbeats/{heartbeatID} scope heartbeat.write stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/heartbeats/<heartbeatID> \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it PATCH /heartbeats/{heartbeatID} scope heartbeat.write stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X PATCH https://app.upfour.io/v1/heartbeats/<heartbeatID> \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it DELETE /heartbeats/{heartbeatID} scope heartbeat.write stable returns 204
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/heartbeats/<heartbeatID> \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /heartbeats/{heartbeatID}/availability scope heartbeat.read stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s https://app.upfour.io/v1/heartbeats/<heartbeatID>/availability \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /heartbeats/{heartbeatID}/pause scope heartbeat.write stable returns 201
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/heartbeats/<heartbeatID>/pause \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it PUT /heartbeats/{heartbeatID}/pause scope heartbeat.write stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/heartbeats/<heartbeatID>/pause \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it GET /heartbeats/{heartbeatID}/pings scope heartbeat.read stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s https://app.upfour.io/v1/heartbeats/<heartbeatID>/pings \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /heartbeats/{heartbeatID}/resume scope heartbeat.write stable returns 201
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/heartbeats/<heartbeatID>/resume \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it PUT /heartbeats/{heartbeatID}/resume scope heartbeat.write stable returns 200
Parameter In Type Notes heartbeatIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/heartbeats/<heartbeatID>/resume \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it