Skip to content

Get from zero to first monitor in under 3 minutes

Sign in with GitHub, create a key, and label it for your environment.

Terminal window
Authorization: Bearer umk_live_...
  1. Go to app.uptimemonitoring.com
  2. Sign in with GitHub
  3. Create an API key and label it (e.g. ci-prod, local-dev, mcp)

Terminal window
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:

Terminal window
MONITOR_ID=1287

Capture the monitor ID from the create response, then poll it:

Terminal window
curl https://api.uptimemonitoring.com/api/v1/monitors/$MONITOR_ID \
-H "Authorization: Bearer $UPTIMEMONITORING_API_KEY"

Webhooks are scoped to a monitor — set or replace with PUT:

Terminal window
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.


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.


- name: Verify deploy health
uses: uptimemonitoring/assert-healthy@v1
with:
api-key: ${{ secrets.UPTIMEMONITORING_API_KEY }}
monitor-id: ${{ vars.MONITOR_ID }}
timeout: 120

This 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.