API documentation

The FastPing REST API lets you manage monitors and read results. It is included with the API access add-on. Create keys under API keys in the dashboard.

Authentication

Send your key as a bearer token. All responses are JSON. Limit: 120 requests per minute per key.

curl -H "Authorization: Bearer fp_xxxxxxxx" https://fastping.app/api/v1/monitors

GET /api/v1/monitors

List all monitors with their current status and 24-hour uptime.

GET /api/v1/monitors/:id

One monitor with uptime for 1, 7, 30 and 90 days, its latest 100 checks and its last 20 incidents.

POST /api/v1/monitors

Create a monitor. Fields: type, name, url (web types) or host, port, interval (seconds), options.

curl -X POST https://fastping.app/api/v1/monitors \
  -H "Authorization: Bearer fp_xxxxxxxx" -H "Content-Type: application/json" \
  -d '{"type":"http","name":"Shop","url":"https://shop.example.com","interval":60}'

POST /api/v1/monitors/:id/pause · /resume

Pause or resume checks.

DELETE /api/v1/monitors/:id

Delete a monitor and its history.

Monitor types

http, keyword, api, ping, tcp, dns, ssl, domain, email, blacklist, game, heartbeat, security

Webhook alerts

Webhook channels receive a POST with this JSON body:

{
  "event": "down",            // down | up | warn | event
  "monitor": { "id": 12, "name": "Shop", "type": "http", "target": "https://shop.example.com" },
  "detail": "HTTP 503",
  "status": "down",
  "timestamp": "2026-10-17T09:30:00.000Z",
  "url": "https://fastping.app/app/monitors/12"
}

Heartbeats

Heartbeat monitors get a unique URL. Call it with GET, POST or HEAD:

curl -fsS https://fastping.app/hb/<token>