Get from zero to first monitor in under 3 minutes
Get an API key
Section titled “Get an API key”Sign in with GitHub, create a key, and label it for your environment.
Authorization: Bearer umk_live_...- Go to app.uptimemonitoring.com
- Sign in with GitHub
- Create an API key and label it (e.g.
ci-prod,local-dev,mcp)
Create your first monitor
Section titled “Create your first monitor”curl -X POST https://api.uptimemonitoring.com/api/v1/monitors \ -H "Authorization: Bearer $UPTIMEMONITORING_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"myapp","url":"https://myapp.com/healthz","type":"http"}'The hostname must resolve at creation time — typos and unreachable targets fail immediately. The response wraps the monitor record and its first state snapshot:
{ "monitor": { "id": 1287, "name": "myapp", "url": "https://myapp.com/healthz", "type": "http", "interval_sec": 60, "expected_status": "200", "enabled": true }, "state": { "status": "up", "last_check_at": "2026-05-07T10:21:01Z", "evidence_buffer": [ { "region": "EU", "status_code": 200, "ttfb_ms": 182 } ] }}Capture the ID for the rest of the Quickstart:
MONITOR_ID=1287Check current status
Section titled “Check current status”Capture the monitor ID from the create response, then poll it:
curl https://api.uptimemonitoring.com/api/v1/monitors/$MONITOR_ID \ -H "Authorization: Bearer $UPTIMEMONITORING_API_KEY"Add a webhook
Section titled “Add a webhook”Webhooks are scoped to a monitor — set or replace with PUT:
curl -X PUT https://api.uptimemonitoring.com/api/v1/monitors/$MONITOR_ID/webhook \ -H "Authorization: Bearer $UPTIMEMONITORING_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://hooks.example.com/incident"}'The HMAC secret is returned on the initial PUT — store it now. Replacing the URL keeps the existing secret. See Webhooks for signature verification and the account-wide /api/v1/webhook-deliveries log.
Connect via MCP
Section titled “Connect via MCP”Set up UptimeMonitoring as an MCP server in your preferred tool:
- Claude — Add the MCP server in Claude Desktop settings or Claude Code
- ChatGPT — Configure via the ChatGPT plugin/MCP settings
- Cursor — Add to
.cursor/mcp.json - OpenAI API — Use the MCP endpoint in your tool configuration
See the MCP docs for detailed setup instructions per host.
Use in GitHub Actions
Section titled “Use in GitHub Actions”- name: Verify deploy health uses: uptimemonitoring/assert-healthy@v1 with: api-key: ${{ secrets.UPTIMEMONITORING_API_KEY }} monitor-id: ${{ vars.MONITOR_ID }} timeout: 120This step waits up to 120 seconds for the monitor to report healthy, then fails the workflow if it doesn’t recover. See the GitHub Action docs for advanced options.