Overview

Heartbeat monitors (also known as uptime monitors or ping checks) are simple HTTP-based checks that verify if your services are responding. This endpoint returns all heartbeat monitors configured in your account.
Heartbeat monitors are perfect for monitoring service availability, API endpoints, and basic uptime without complex scripting.

Response Example

{
  "data": [
    {
      "id": "hb_123456789",
      "name": "API Health Check",
      "url": "https://api.example.com/health",
      "method": "GET",
      "activated": true,
      "muted": false,
      "tags": ["api", "health", "production"],
      "frequency": 1,
      "locations": ["us-east-1", "eu-west-1"],
      "headers": [
        {
          "key": "Authorization",
          "value": "***masked***"
        }
      ],
      "queryParameters": [
        {
          "key": "version",
          "value": "v1"
        }
      ],
      "alertAfter": 3,
      "alertTimeUnit": "MINUTES",
      "responseTimeLimit": 5000,
      "expectStatus": 200,
      "expectText": "healthy",
      "followRedirects": true,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-01-20T14:45:00.000Z"
    },
    {
      "id": "hb_987654321",
      "name": "Website Uptime",
      "url": "https://www.example.com",
      "method": "GET",
      "activated": true,
      "muted": false,
      "tags": ["website", "uptime"],
      "frequency": 5,
      "locations": ["us-east-1", "us-west-2"],
      "alertAfter": 5,
      "alertTimeUnit": "MINUTES",
      "responseTimeLimit": 10000,
      "expectStatus": 200,
      "followRedirects": true,
      "createdAt": "2024-01-10T08:15:00.000Z",
      "updatedAt": "2024-01-18T16:20:00.000Z"
    }
  ],
  "meta": {
    "currentPage": 1,
    "totalPages": 1,
    "totalItems": 2,
    "limit": 10
  }
}

Heartbeat Features

Support for various HTTP methods:
  • GET: Simple uptime checks
  • POST: API endpoint validation
  • PUT: Resource update verification
  • HEAD: Header-only checks
  • DELETE: Cleanup endpoint testing
Multiple validation options:
  • Status Code: Expect specific HTTP status codes
  • Response Time: Set maximum acceptable response time
  • Text Content: Check for specific text in response body
  • Headers: Validate response headers
Flexible alerting options:
  • Alert After: Time to wait before alerting
  • Time Units: Minutes, hours, or runs
  • Location-based: Alert only if failing from multiple locations
  • SSL Monitoring: Certificate expiration alerts
Customize the HTTP request:
  • Headers: Add authentication or custom headers
  • Query Parameters: Include URL parameters
  • Request Body: Send data with POST/PUT requests
  • Follow Redirects: Handle 3xx redirects automatically

Additional Examples

curl -X GET "https://api.checklyhq.com/v1/heartbeats?activated=true" \
  -H "Authorization: Bearer cu_1234567890abcdef" \
  -H "X-Checkly-Account: 550e8400-e29b-41d4-a716-446655440000"

Use Cases

API Health Monitoring

Monitor API endpoints for availability and response time

Website Uptime

Track website availability and performance

Service Discovery

Monitor service discovery endpoints and load balancers

Third-party Dependencies

Monitor external services your application depends on

Filtering and Pagination

Filter and paginate heartbeat results:
  • limit (integer): Number of results per page (max 100)
  • page (integer): Page number (1-based)
  • tag (string): Filter by tag
  • activated (boolean): Filter by activation status
curl -X GET "https://api.checklyhq.com/v1/heartbeats?activated=true&tag=production&limit=20" \
  -H "Authorization: Bearer cu_1234567890abcdef" \
  -H "X-Checkly-Account: 550e8400-e29b-41d4-a716-446655440000"
Heartbeat monitors are the simplest form of monitoring in Checkly. They’re perfect for basic uptime monitoring and can be set up quickly for any HTTP endpoint.