PulseCheck API

🟢 Live  ·  v2.0.0
Base URL https://pulse-checkerapi.onrender.com

A lightweight, file-based uptime monitoring API. Track website availability, response times, and history — all with simple REST endpoints.

📋 Monitors

GET /api/monitors.php
Retrieve a list of all monitors. Tokens and check history are hidden.
# Example request
curl https://pulse-checkerapi.onrender.com/api/monitors.php
Response
{
  "success": true,
  "monitors": [
    {
      "id": 1,
      "url": "https://example.com",
      "status": "up",
      "uptime": 99.5,
      "response_time": 125,
      "last_check": "2026-09-04T10:30:00Z",
      "created_at": "2026-09-04T05:58:07-04:00"
    }
  ]
}
GET /api/monitors.php?id={id}
Fetch a single monitor by its ID.
# Example request
curl https://pulse-checkerapi.onrender.com/api/monitors.php?id=1
ParameterTypeDescription
idintegerMonitor ID required
Response
{
  "success": true,
  "monitor": {
    "id": 1,
    "url": "https://example.com",
    "status": "up",
    "uptime": 99.5,
    "response_time": 125,
    "last_check": "2026-09-04T10:30:00Z",
    "created_at": "2026-09-04T05:58:07-04:00"
  }
}
POST /api/monitors.php
Create a new monitor. Returns a token — save it for future checks and deletion.
# Example request
curl -X POST https://pulse-checkerapi.onrender.com/api/monitors.php \
  -H "Content-Type: application/json" \
  -d '{"url": "https://google.com"}'
ParameterTypeDescription
urlstringWebsite URL to monitor required
Response
{
  "success": true,
  "monitor": {
    "id": 2,
    "url": "https://google.com",
    "token": "a1b2c3d4e5f67890...",
    "status": "pending"
  }
}

⚠️ Save the token! You need it to check or delete the monitor.

⚡ Check

POST /api/check.php?id={id}
Trigger a manual check for a monitor. Requires the monitor's token in the X-PulseCheck-Token header.
# Example request
curl -X POST https://pulse-checkerapi.onrender.com/api/check.php?id=1 \
  -H "X-PulseCheck-Token: YOUR_MONITOR_TOKEN"
HeaderDescription
X-PulseCheck-TokenMonitor token required
ParameterDescription
idMonitor ID required
Response
{
  "success": true,
  "monitor_id": 1,
  "status": "up",
  "status_code": 200,
  "response_time": 45,
  "uptime_24h": 99.8,
  "checked_at": "2026-09-04T10:30:00Z"
}

📊 History

GET /api/history.php?id={id}&limit={limit}
Retrieve check history for a monitor. Returns up to 500 checks, sorted newest first.
# Example request
curl https://pulse-checkerapi.onrender.com/api/history.php?id=1&limit=10
ParameterTypeDescription
idintegerMonitor ID required
limitintegerMax checks to return (default 100, max 500)
Response
{
  "success": true,
  "checks": [
    {
      "status_code": 200,
      "response_time": 45,
      "success": true,
      "error_message": null,
      "checked_at": "2026-09-04T10:30:00Z"
    }
  ]
}

🗑️ Delete

DELETE /api/monitors.php
Permanently delete a monitor and all its history. Requires the monitor's token in the X-PulseCheck-Token header.
# Example request
curl -X DELETE https://pulse-checkerapi.onrender.com/api/monitors.php \
  -H "X-PulseCheck-Token: YOUR_MONITOR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": 1}'
HeaderDescription
X-PulseCheck-TokenMonitor token required
ParameterDescription
idMonitor ID required
Response
{
  "success": true
}

📡 API Status

GET /
Check if the API is online and get version information.
# Example request
curl https://pulse-checkerapi.onrender.com/
Response
{
  "name": "PulseCheck API",
  "version": "2.0.0",
  "storage": "file-based",
  "status": "online"
}

🛠️ Error Codes

CodeMeaning
200Success
201Created
401Unauthorized (missing token)
403Invalid token
404Monitor not found
405Method not allowed
422Invalid input
500Server error