Skip to content

Authentication

UptimeMonitoring uses GitHub OAuth exclusively. No email, no password.

  1. Visit app.uptimemonitoring.com
  2. Click “Sign in with GitHub”
  3. Authorize the UptimeMonitoring app
  4. You’re in — create your first API key

All API keys use the umk_live_ prefix followed by a random string:

Terminal window
Authorization: Bearer umk_live_abc123def456...

The prefix makes keys easy to identify in logs and secret scanners.

Use separate keys for different environments and tools:

  • ci-prod — for GitHub Actions and deploy pipelines
  • local-dev — for development and testing
  • mcp-claude — for your MCP integration
  • mcp-cursor — for Cursor

Each account supports up to 10 API keys.

When you rotate a key:

  1. A new key is issued immediately
  2. The old key remains valid for a 5-minute grace window
  3. After grace, the old key is permanently revoked

This prevents downtime during key rotation in automated systems.

The error envelope is flat: {"error": "<message>"}. Match on the HTTP status; the message is the literal validator output.

StatusMessageMeaning
401missing authorizationAuthorization header absent
401invalid credentialsAPI key not recognised or revoked
403account suspended; contact supportAccount suspended (e.g. by the port-scan heuristic). Returned on regular /api/v1/* calls.
403forbiddenAdmin-only route hit by a non-admin caller. Opaque on purpose — does not disclose whether the route exists.

Note: 401 responses currently carry Content-Type: text/plain even though the body is valid JSON. Parse the body as JSON regardless; this discrepancy is being fixed on the API side (see monitive/uptimemonitoring-api).