Your agents get the same API your engineers do.
A remote MCP server with five tools, so Claude or an agent you build can register, check, pause, and remove monitors on its own.
Everything the dashboard does, the API does, with one project key.
Create takes a URL and nothing else; interval, thresholds, timeout, and the rest fall to the same defaults the dashboard's form uses. You can set any of them in the same request when you need to.
The response is the monitor including the result of its first check, so a script knows straight away whether it pointed the monitor at the right thing, and can fail the deploy if it didn't.
POST /v1/monitors/test runs one check against a draft config without saving anything. Validate a URL, a header, a content rule, or an expected status before the monitor exists, and see the same latency breakdown a real check would log.
It's how you answer "will this monitor pass?" in CI before you create it, and how an agent checks its own work.
A rollback script mutes the monitor for the hour it takes, a teardown deletes the one for the service that no longer exists, a migration pauses checks with enabled: false and turns them back on after. Each is one call.
Mute suppresses down-detection and alerts until the time you set, capped at seven days; 0 clears it. The monitor keeps its history through all of it.
Keys are minted per project, in its Settings under Access tokens, optionally with an expiry. A key can read and write that project's monitors; account-level endpoints reject it, and it can never create more keys.
That's the shape a deploy pipeline or an agent should hold: enough to watch what it ships, not enough to reach anything else. Revoke it from the same list the moment you're done with it.
The API authenticates with project API keys, revocable tokens that start with upk_. Create one in your project's Settings under Access tokens; the full key is shown once, at creation. Send it as a Bearer token on every request.
Every endpoint is documented from the API's own OpenAPI document, served at /openapi.json, so the reference always matches the deployed backend and any generator or typed HTTP client can be pointed straight at it. Errors come back as JSON with an error code you can branch on: monitor_limit means your plan's cap, rate_limited means slow down.
A remote MCP server with five tools, so Claude or an agent you build can register, check, pause, and remove monitors on its own.
The generic webhook carries a structured envelope, once when a monitor breaks and once when it recovers. Free on every plan.
Every endpoint, parameter, and schema comes from the OpenAPI document the API serves, so the docs can't describe a backend that isn't deployed.
Project API keys authenticate the REST API and the MCP server alike. A key reads and writes its project's monitors and nothing else.
No. Full REST API access with project API keys is included on every plan, the free one included. Plan limits still apply: if a create fails with monitor_limit, you've hit your plan's monitor cap.
Exactly one project. A key reads and writes that project's monitors and nothing else; account-level endpoints reject API keys, and a key can never create more keys.
Yes, generated from the API's own OpenAPI document, so it always matches the deployed backend. The document itself is served at /openapi.json for generators and typed clients.
Yes. POST /v1/monitors/test runs one check against a draft config without saving anything, so you can validate a URL, headers, or content rules before the monitor exists.
Yes, per account: 30 requests a minute on Free, 120 on Pro, and 300 on Team. Over the limit the API answers 429 and tells you when to retry.
Free to start. No credit card.