REST API

Monitoring API

List Monitoring Checks

GET /api/v1/monitoring

Query Parameters

Parameter Type Description
status string Filter by status: active, disabled
check_type string Filter by type: http, tcp, ping, dns
limit integer Results per page (default: 25, max: 100)
offset integer Number of results to skip

Example

curl https://app.alert24.io/api/v1/monitoring \
  -H "Authorization: Bearer ak_live_YOUR_KEY"

Response

{
  "data": [
    {
      "id": "chk-123",
      "name": "Homepage",
      "check_type": "http",
      "target_url": "https://example.com",
      "method": "GET",
      "status": "active",
      "current_status": "up",
      "check_interval_seconds": 300,
      "timeout_seconds": 30,
      "expected_status_code": 200,
      "follow_redirects": true,
      "ssl_check_enabled": true,
      "failure_threshold": 3,
      "success_threshold": 1,
      "consecutive_failures": 0,
      "consecutive_successes": 15,
      "linked_service_id": "svc-456",
      "last_check_at": "2026-03-19T14:55:00.000Z",
      "last_response_time": 142,
      "next_check_time": "2026-03-19T15:00:00.000Z",
      "created_at": "2026-01-10T08:00:00.000Z",
      "updated_at": "2026-03-19T14:55:00.000Z"
    }
  ],
  "meta": { "total": 12, "limit": 25, "offset": 0, "has_more": false }
}

Get Monitoring Check

GET /api/v1/monitoring/:id

Create Monitoring Check

POST /api/v1/monitoring

Scope required: write

Request Body

Field Type Required Description
name string Yes Check name
target_url string Yes URL or host to monitor
description string No Description
check_type string No http (default), tcp, ping, dns
method string No HTTP method (default: GET)
headers object No Custom HTTP headers
expected_status_code integer No Expected HTTP status (default: 200)
check_interval_seconds integer No Check frequency in seconds (default: 600)
timeout_seconds integer No Request timeout (default: 30)
follow_redirects boolean No Follow HTTP redirects (default: true)
keyword_match string No Search response body for this string
keyword_match_type string No contains or not_contains
ssl_check_enabled boolean No Monitor SSL certificate (default: false)
failure_threshold integer No Failures before alerting (default: 3)
success_threshold integer No Successes before recovery (default: 1)
linked_service_id string No Auto-update this service's status
auto_create_incidents boolean No Create incidents on failure (default: false)
auto_resolve_incidents boolean No Auto-resolve on recovery (default: false)

Example

curl https://app.alert24.io/api/v1/monitoring \
  -X POST \
  -H "Authorization: Bearer ak_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API Health Check",
    "target_url": "https://api.example.com/health",
    "check_interval_seconds": 120,
    "timeout_seconds": 10,
    "expected_status_code": 200,
    "ssl_check_enabled": true,
    "auto_create_incidents": true,
    "linked_service_id": "svc-api-gateway"
  }'

Update Monitoring Check

PUT /api/v1/monitoring/:id

Scope required: write

Request Body

Field Type Description
name string Updated name
description string Updated description
target_url string Updated URL
method string Updated HTTP method
check_interval_seconds integer Updated interval
timeout_seconds integer Updated timeout
expected_status_code integer Updated expected status
status string active or disabled
headers object Updated headers
failure_threshold integer Updated failure threshold
linked_service_id string Updated linked service

Delete Monitoring Check

DELETE /api/v1/monitoring/:id

Scope required: write

curl https://app.alert24.io/api/v1/monitoring/chk-123 \
  -X DELETE \
  -H "Authorization: Bearer ak_live_YOUR_KEY"