API
Checker endpoints
- Login with a saved passkey or email code, or create an account.
- Open Settings and expand API.
- Create a key for the agent and copy it when it is shown.
- Configure the agent to send the key with every request:
Authorization: Bearer YOUR_API_KEYhttps://simple-ping.com/api/v1
GET
/checkers
List all checkers and their current status and alert settings.
GET
/checkers/{checker_id}
Retrieve one checker by its numeric ID.
POST
/checkers
Create a webpage or port checker. Permission confirmation is required, and the target must resolve only to public internet addresses.
{
"name": "Company website",
"group": "Production",
"type": "webpage",
"target": "https://example.com",
"search_string": "",
"send_email": true,
"repeat_alerts": false,
"down_threshold": 2,
"permission_confirmed": true
}
For a port checker, use a hostname or public IP address with a port.
{
"name": "Mail server",
"group": "Infrastructure",
"type": "port",
"target": "mail.example.com",
"port": 443,
"permission_confirmed": true
}
PATCH
/checkers/{checker_id}
Update any checker fields or alert settings. Only supplied fields are changed.
{
"name": "Primary website",
"group": "Production",
"down_threshold": 3,
"repeat_alerts": true
}
DELETE
/checkers/{checker_id}
Delete the checker and all of its downtime history.
POST
/checkers/{checker_id}/check
Check the target state immediately without changing stored alert history.
POST/checkers (heartbeat)
Create a heartbeat with interval and grace in seconds, in steps of 60. The response includes heartbeat_url once: a private HTTPS URL containing a UUID. Call that URL using GET or POST, with no Authorization header or request body. It cannot manage the account.
{
"name": "Daily backup",
"type": "heartbeat",
"period_seconds": 86400,
"grace_seconds": 900,
"permission_confirmed": true
}
Interval: 60 to 2592000 seconds. Grace: 0 to 86400 seconds. The first report arms monitoring. Up to 20 reports per minute per checker.
POST/checkers/{checker_id}/heartbeat-url
Use the account API key to replace the private URL. The old URL is revoked immediately. The response includes the new heartbeat_url; GET requests for checker details never reveal it.
POST/checkers/{checker_id}/maintenance
Send only until with a future UTC timestamp ending in Z, at most 30 days ahead. Send null to end maintenance. Checks and history continue. PATCH /checkers/{checker_id} also accepts ssl_enabled for certificate reminders.
{ "until": null }