API
Kuvasz provides a fully-fledged REST API to manage your monitors, check their status, and more. The API is designed to be easy to use and flexible, allowing you to integrate it into your existing systems or build your own UI on top of it.
Authentication
Unless you completely disabled authentication, you need to authenticate every API call (except the GET /api/v1/health
health check endpoint), using your pre-configured API key.
API key usage
The API key should be passed in the X-API-KEY
header of every request.
API documentation
There is an OpenAPI-compliant API documentation which you can use to explore the available endpoints, their parameters, and responses.
Example request
cURL
curl -X GET "http://your.kuvasz.host/api/v1/monitors/107" \
-H "X-API-KEY: ThisShouldBeVeryVerySecureToo"
Response
{
"id": 107,
"name": "kuvasz docs",
"url": "https://kuvasz-uptime.dev",
"uptimeCheckInterval": 300,
"enabled": true,
"sslCheckEnabled": true,
"createdAt": "2025-06-29T10:01:25.416294+02:00",
"updatedAt": "2025-06-29T10:57:56.470142+02:00",
"uptimeStatus": "UP",
"uptimeStatusStartedAt": "2025-06-29T10:01:29.618775+02:00",
"lastUptimeCheck": "2025-06-29T11:25:58.880898+02:00",
"nextUptimeCheck": "2025-06-29T11:30:58.884+02:00",
"sslStatus": "VALID",
"sslStatusStartedAt": "2025-06-29T10:02:30.473866+02:00",
"lastSSLCheck": "2025-06-29T10:59:03.527202+02:00",
"nextSSLCheck": "2025-06-30T10:59:03.532+02:00",
"uptimeError": null,
"sslError": null,
"requestMethod": "GET",
"latencyHistoryEnabled": true,
"forceNoCache": true,
"followRedirects": true,
"sslExpiryThreshold": 7,
"sslValidUntil": "2025-08-10T10:54:01+02:00",
"integrations": [
"telegram:telegram_test"
],
"effectiveIntegrations": [
{
"id": "email:email_test",
"type": "EMAIL",
"name": "email_test",
"enabled": true,
"global": true
},
{
"id": "slack:slack_global",
"type": "SLACK",
"name": "slack_global",
"enabled": true,
"global": true
},
{
"id": "telegram:telegram_test",
"type": "TELEGRAM",
"name": "telegram_test",
"enabled": true,
"global": false
},
{
"id": "pagerduty:pd-test",
"type": "PAGERDUTY",
"name": "pd-test",
"enabled": true,
"global": true
}
]
}