Monitors API
Monitor fields
| Field | Type | Notes |
|---|---|---|
name | string | Required, 1–100 characters |
type | string | HTTP, HTTPS (default), SSL, DOMAIN, TCP, PING |
target | string | Required — URL or host, up to 500 characters |
interval | number | Seconds between checks, 60–86400 (default 300) |
timeout | number | Seconds, 5–120 (default 30) |
expectedStatus | number | Optional HTTP status, 100–599 |
keyword | string | Optional text that must appear in the response |
httpMethod | string | Optional: GET, POST, PUT, HEAD, OPTIONS |
httpHeaders | object | Optional request headers |
httpBody | string | Optional request body, up to 10,000 characters |
isPaused | boolean | Update only — pause or resume checks |
List monitors
GET /api/v1/monitorscurl https://api.securecheap.com/api/v1/monitors \
-H "X-API-Key: sc_live_..."Response: { "monitors": [ ... ] }
Get a monitor
GET /api/v1/monitors/{id}Response: { "monitor": { ... } } — 404 if it does not belong to your team.
Create a monitor
POST /api/v1/monitorscurl -X POST https://api.securecheap.com/api/v1/monitors \
-H "X-API-Key: sc_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "production-api",
"type": "HTTPS",
"target": "https://api.example.com/health",
"interval": 300,
"expectedStatus": 200
}'Response: { "ok": true, "monitor": { ... } }. Monitor count is limited by your plan.
Update a monitor
PUT /api/v1/monitors/{id}Send only the fields you want to change (name, target, interval, timeout,
expectedStatus, keyword, isPaused). To pause:
curl -X PUT https://api.securecheap.com/api/v1/monitors/{id} \
-H "X-API-Key: sc_live_..." \
-H "Content-Type: application/json" \
-d '{ "isPaused": true }'Response: { "ok": true, "monitor": { ... } }
Run a check now
POST /api/v1/monitors/{id}/checkResponse: { "ok": true, "message": "Check triggered" }
Delete a monitor
DELETE /api/v1/monitors/{id}Response: { "ok": true }