We check it
HTTP, JSON, TLS, TCP, DNS and real-browser checks.
"url": "https://api.acme.dev/health"Monitors Uptime monitoring, status pages and AI incident reports. Your agent sets it all up with one API call.
Free for 10 monitors, with 14 days of Pro to start. No card.
Send a name and a URL. Everything else has a sensible default.
One request
curl https://upbutler.com/api/v1/services \
-H "Authorization: Bearer $UPBUTLER_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Search API",
"url": "https://api.acme.dev/health",
"statusPage": "acme",
"group": "APIs"
}'// Your agent calls the services_add tool on https://upbutler.com/mcp
{
"name": "services_add",
"arguments": {
"name": "Search API",
"url": "https://api.acme.dev/health",
"statusPage": "acme",
"group": "APIs"
}
}const res = await fetch("https://upbutler.com/api/v1/services", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.UPBUTLER_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Search API",
url: "https://api.acme.dev/health",
statusPage: "acme",
group: "APIs",
}),
});
const { monitor, statusPageUrl } = await res.json();import os, requests
r = requests.post(
"https://upbutler.com/api/v1/services",
headers={"Authorization": f"Bearer {os.environ['UPBUTLER_KEY']}"},
json={
"name": "Search API",
"url": "https://api.acme.dev/health",
"statusPage": "acme",
"group": "APIs",
},
)
print(r.json()["statusPageUrl"])Four things, live
200 OK · 142 ms
acme.upbutler.com
Search API, in APIs
opened, explained, resolved
Anything a person can click, an agent can call.
POST /api/v1/agent/bootstrapupbutler.com/mcpcurl upbutler.com/hb/hb_7Qx…GET /api/v1/events› Ship 4.12 and keep the status page honest
●services_add"Exports worker"heartbeat ready
●pages_pushwebhooksdegraded
●incidents_createpolish: truepublished
●incidents_resolve23 subscribers notified
Failed checks go in. A team analysis and a customer-safe update come out.
Evidence
deploy13:58:024.12
up14:00:41200210 ms
down14:01:4150241 ms
down14:01:5650235 ms · re-check
down14:02:5650238 ms
For your team
Origin unreachable, not slow.
502 from the edge in under 40 ms, two minutes after deploy 4.12.
For your status page
Checkout unavailable
Some customers can't complete checkout. We're on it; placed orders are safe.
no hostnames · no IPs · no guesses
Your logo, your colors, your address. Pick a theme to try it.
Delayed webhook deliveries
Monitoring · A fix is deployed and the queue is draining.
Core
Integrations
A blip in one region pages nobody. A confirmed outage reaches everyone.
NBGHELFSN
nobody paged
NBGHELFSN
majority agrees
Search API · 503
AI report attached
back up · 39 min
summary sent
Not everything has a health URL.
HTTP, JSON, TLS, TCP, DNS and real-browser checks.
"url": "https://api.acme.dev/health"Monitors Heartbeats for cron jobs, queues and agent loops.
./backup.sh && curl $HEARTBEAT_URLHeartbeats Push a whole page of statuses in one request.
"statuses": { "exports": "down" }Push and manifest Every plan includes the API, MCP server, signed webhooks and AI reports. Start free with 14 days of Pro included, no card.
For side projects and agents getting started.
$0$0/mo
Free forever, commercial use allowed
Start freeFor a product with its first paying customers.
$12$10/mo
or $120/year, 2 months freebilled yearly, $120/year
Start with StarterFor startups whose customers notice.
$29$24.17/mo
or $290/year, 2 months freebilled yearly, $290/year
Start 14-day Pro trialNo card needed
For multi-service companies, agencies and on-call teams.
$99$82.50/mo
or $990/year, 2 months freebilled yearly, $990/year
Start with BusinessUpButler is an uptime monitoring service with built-in status pages and AI incident reports. It checks your websites, APIs, jobs and agents, tells your team when something breaks, and keeps your customers informed on a status page that looks like your brand.
Everything in UpButler is an API operation first. The dashboard, the REST API and the MCP server (234 tools) all use the same operations, so an AI agent can do anything a person can: create its own workspace, add services, report incidents and react to downtime. See the agent quickstart.
Yes. POST /api/v1/agent/bootstrap returns an API key and a claim link right away. Monitoring, status pages and webhooks work immediately; you claim the workspace from the link to own it and unlock email. Unclaimed workspaces are deleted after 7 days.
A monitor is only marked down after consecutive failed checks (two by default). After the first failure UpButler re-checks within 15 seconds, so a single network blip never pages anyone. Failures on the same status page within 30 minutes are grouped into one incident.
Only incident context: the monitor name, failing check results, response snippets and recent history. Reports are generated through OpenRouter, and nothing else from your account is sent. You can switch AI off per monitor, and public summaries are optional per status page.
Every page gets its own address with HTTPS, like acme.upbutler.com, on every plan. Bring-your-own domains (status.example.com) are coming soon and are set up on request until then, included from Starter ($12/month).
Yes, with no card and commercial use allowed: 10 monitors checked every 5 minutes, a status page with 10 components, 10 AI reports and 300 notification emails a month, plus the full API, MCP server and webhooks. New workspaces also get 14 days of Pro first, then stay on Free unless you pick a plan.
UpButler is built in the EU by HootCodes LTD, the team behind fetchlayer.dev. Payments are handled by Polar as merchant of record.
Set up your first monitor and status page in two minutes, or hand your agent an API key and let it do the rest.