Pulse API Reference

API & Integrations Updated Apr 2, 2026

The Pulse API allows your services to send heartbeats and data payloads to Chglog.

Endpoint format

https://pulse.chglog.com/{team_token}/{check_token}

Both tokens are displayed on the check detail page after creating a Pulse or Pulse+Data check.

Supported HTTP methods

MethodUse case
GETSimple heartbeat ping (no payload).
HEADLightweight ping — no response body returned.
POSTHeartbeat with JSON payload (required for Pulse+Data checks).

Request headers (POST)

Content-Type: application/json

Payload (Pulse+Data only)

Send a JSON object in the request body. Maximum size: 50 KB. The JSON must be valid — malformed payloads are rejected with a 400 error.

Response

HTTP/1.1 200 OK
Content-Type: application/json

{"request_id": "abc123"}

Error codes

CodeMeaning
200Heartbeat received and recorded.
400Invalid JSON payload.
404Invalid team or check token.
413Payload exceeds 50 KB limit.

Examples

curl (simple heartbeat)

curl -fsS https://pulse.chglog.com/abc123/def456

curl (with data payload)

curl -X POST https://pulse.chglog.com/abc123/def456 \
  -H "Content-Type: application/json" \
  -d '{"db_size_mb": 1024, "active_connections": 42}'

Python

import requests

requests.post(
    "https://pulse.chglog.com/abc123/def456",
    json={"queue_length": 0, "workers_active": 4}
)

Node.js

fetch("https://pulse.chglog.com/abc123/def456", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ healthy: true, latency_ms: 23 })
})

Credits

Each successful ping costs 1 credit deducted from your team balance.