API · quickstart
Monitored via curl, before the coffee.
Five commands from key to running monitor. Create a key under Settings → API tokens —
use a pls_test_ key to play in the
sandbox first.
1 · Introspect your token
The first call to make: who am I, and what can this key do?
export UP4_API_KEY="pls_test_…"
curl -s https://app.upfour.io/v1/me \
-H "Authorization: Bearer $UP4_API_KEY"2 · Create a monitor
The form in the product and this call are the same thing. Idempotency-Key makes retries safe.
curl -s -X POST https://app.upfour.io/v1/monitors \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"name": "Example",
"url": "https://example.com",
"monitor_type": "http",
"interval_seconds": 60,
"regions": ["default"]
}'3 · List with cursors
curl -s "https://app.upfour.io/v1/monitors?limit=50&sort=-created_at" \
-H "Authorization: Bearer $UP4_API_KEY"Follow pagination.next_cursor until has_more is false.
4 · Pause and resume
curl -s -X POST https://app.upfour.io/v1/monitors/$MONITOR_ID/pause \
-H "Authorization: Bearer $UP4_API_KEY"
curl -s -X POST https://app.upfour.io/v1/monitors/$MONITOR_ID/resume \
-H "Authorization: Bearer $UP4_API_KEY"Paused monitors send nothing and cost nothing.
5 · Delete
curl -s -X DELETE https://app.upfour.io/v1/monitors/$MONITOR_ID \
-H "Authorization: Bearer $UP4_API_KEY"Where next
The contract page covers envelopes, errors, pagination and rate limits; the monitors reference lists every field and has a “Try it” panel for each endpoint. Prefer webhooks over polling? Signed webhooks push every state change to you.