API Reference
Use the SignalDocks REST API to read monitoring data and manage resources programmatically.
2 min read
Authentication
All API requests require a Bearer token. Create a key at Dashboard → Settings → API Keys.
Authorization: Bearer sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Keys are shown only once on creation — store them securely. If a key is lost, delete it and create a new one.
Base URL
https://signaldocks.com/api/v1
Monitors
List monitors
GET /api/v1/monitors
Returns all non-deleted monitors for the authenticated user.
Response:
{
"data": [
{
"id": "uuid",
"name": "My API",
"url": "https://api.example.com/health",
"monitor_type": "site",
"status": "up",
"is_active": true,
"interval_minutes": 1,
"last_checked_at": "2025-06-12T10:00:00Z"
}
]
}
Get monitor
GET /api/v1/monitors/{id}
Create monitor
POST /api/v1/monitors
Body:
{
"name": "My API",
"url": "https://api.example.com/health",
"monitor_type": "site",
"method": "GET",
"expected_status": 200,
"interval_minutes": 5
}
Update monitor
PATCH /api/v1/monitors/{id}
Accepts any subset of the fields above. Returns the updated monitor.
Delete monitor
DELETE /api/v1/monitors/{id}
Soft-deletes the monitor. Returns 204 No Content.
Check results
List checks
GET /api/v1/monitors/{id}/checks
Returns the last 100 check results for a monitor, newest first.
Response:
{
"data": [
{
"id": "uuid",
"monitor_id": "uuid",
"is_up": true,
"status_code": 200,
"response_time_ms": 142,
"checked_at": "2025-06-12T10:00:00Z",
"error_message": null
}
]
}
Incidents
List incidents
GET /api/v1/monitors/{id}/incidents
Returns all incidents for a monitor, newest first.
Errors
All errors return a JSON body with an error field:
{ "error": "Unauthorized" }
| Status | Meaning |
|---|---|
400 |
Invalid request body or parameters |
401 |
Missing or invalid API key |
403 |
API key doesn't have access to this resource |
404 |
Resource not found |
429 |
Rate limit exceeded |
500 |
Internal server error |