Skip to main content

HTTP Monitor

The HTTP monitor sends an HTTP request to a URL and validates the response. It is the most commonly used monitor type.

Configuration Options

OptionDescriptionDefault
URLThe full URL to requestRequired
MethodHTTP method (GET, POST, PUT, PATCH, DELETE, HEAD)GET
Expected statusStatus code(s) that count as success200-299
Body containsString that must be present in the response bodyNone
HeadersCustom request headers (key-value pairs)None
Request bodyBody to send with POST/PUT/PATCH requestsNone
TimeoutMaximum time to wait for a response30s
IntervalHow often to run the check60s
RegionsWhich regions run the checkAll

Automatic SSL Certificate Check

HTTP monitors automatically check the SSL certificate of HTTPS endpoints. You will receive alerts when:

  • The certificate is expiring soon (configurable threshold).
  • The certificate has already expired.
  • The certificate chain is invalid.

No extra configuration is needed -- this works out of the box for any HTTPS URL.

Automatic Domain Expiration Check

Kamustatus also monitors the domain registration expiration date and alerts you before your domain expires.

Examples

Basic website check

Monitor a website and verify it returns a 200 status:

curl -X POST https://app.kamustatus.com/api/monitors \
-H "x-api-key: km_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "My Website",
"type": "http",
"url": "https://example.com",
"method": "GET",
"expectedStatus": 200,
"interval": 60
}'

API health check with body assertion

Check that an API returns a specific JSON value:

curl -X POST https://app.kamustatus.com/api/monitors \
-H "x-api-key: km_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "API Health",
"type": "http",
"url": "https://api.example.com/health",
"method": "GET",
"expectedStatus": 200,
"bodyContains": "\"status\":\"ok\"",
"interval": 30
}'

POST request with custom headers

curl -X POST https://app.kamustatus.com/api/monitors \
-H "x-api-key: km_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Auth Endpoint",
"type": "http",
"url": "https://api.example.com/auth/check",
"method": "POST",
"headers": {
"Authorization": "Bearer test-token",
"Content-Type": "application/json"
},
"body": "{\"test\": true}",
"expectedStatus": 200,
"interval": 60
}'