The Monitors API provides endpoints to list, retrieve, create, update, and delete service health checks programmatically.
1. List All Monitors
Retrieves a paginated list of configured monitors with optional filtering, searching, and sorting parameters.
HTTP Request
GET https://veyon.app/api/v1/monitors
Request Headers
| Header | Type | Value | Required |
Authorization | String | Bearer {api_key} | Yes |
Accept | String | application/json | Yes |
Query Parameters
| Parameter | Type | Mode | Description |
search | String | optional | Filter results matching a specific search query. |
search_by | String | optional | Specify search target field. • • |
status_page_id | Integer | optional | Filter monitors assigned to a specific Status Page ID. |
sort_by | String | optional | Primary field for sorting. • • • |
sort | String | optional | Sort direction. • • |
Request Example (cURL)
curl --location --request GET 'https://veyon.app/api/v1/monitors?sort_by=name&sort=asc' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY'
Response Example (200 OK)
{
"status": "success",
"data": [
{
"id": 102,
"name": "Core Application Gateway",
"url": "https://api.seanergy.app/health",
"type": "https",
"interval": 60,
"status": "online",
"created_at": "2026-03-15T10:30:00Z"
}
],
"meta": {
"total": 1,
"page": 1
}
}Here is the continuation of the Developers API documentation for the Monitors endpoints, detailing how to retrieve, create, update, and delete individual monitors based on your configuration options.
2. Show a Specific Monitor
Retrieves the details of a single, specific monitor using its unique ID.
HTTP Request
HTTPGET https://veyon.app/api/v1/monitors/{id}
Request Example (cURL)
Bashcurl --location --request GET 'https://veyon.app/api/v1/monitors/{id}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {api_key}'
3. Store (Create) a Monitor
Creates a new monitor in your account. The request data should be sent as application/x-www-form-urlencoded.
HTTP Request
HTTPPOST https://veyon.app/api/v1/monitors
Request Parameters
Parameter Type Mode Description nameString Required The name of the monitor. urlString Required The target URL to monitor. intervalInteger Required Check interval in seconds. Possible values: 60, 180, 300, 600, 900, 1800, 3600. alert_conditionString optionalTrigger condition. Values: url_unavailable (default), url_text (response contains text), or url_no_text (response lacks text). alert_text_lookupString optionalThe specific string to look up. (Only applies if alert_condition is url_text or url_no_text). request_methodString optionalHTTP method. Values: GET (default), POST, HEAD, PUT, DELETE, PATCH, OPTIONS. request_headers[index][key]String optionalCustom request header name. request_headers[index][value]String optionalCustom request header value. request_auth_usernameString optionalUsername for Basic HTTP request authentication. request_auth_passwordString optionalPassword for Basic HTTP request authentication. cache_busterInteger optionalAppends a random string to bypass caching. 0 = Disabled (default), 1 = Enabled. ssl_alert_daysInteger optionalDays before SSL expiration to alert. Values: 0, 1, 2, 3, 7, 14, 30, 60. domain_alert_daysInteger optionalDays before domain expiration to alert. Values: 0, 1, 2, 3, 7, 14, 30, 60. maintenance_start_atString optionalMaintenance start date in Y-m-dTH:i:s format. maintenance_end_atString optionalMaintenance end date in Y-m-dTH:i:s format. alerts[index][key]String optionalAlert channel type. Values: email, webhook, slack, teams, discord, flock, telegram, sms. alerts[index][value]String optionalThe destination value for the alert (e.g., email address or webhook URL).
Request Example (cURL)
Bashcurl --location --request POST 'https://veyon.app/api/v1/monitors' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer {api_key}' \
--data-urlencode 'name={name}' \
--data-urlencode 'url={url}' \
--data-urlencode 'interval={interval}'
4. Update a Monitor
Updates an existing monitor's configuration. Accepts the same parameters as the Store endpoint, but all fields are optional. Additionally, you can pause or unpause the monitor.
HTTP Request
HTTPPUT https://veyon.app/api/v1/monitors/{id}
PATCH https://veyon.app/api/v1/monitors/{id}
Additional Request Parameters
Parameter Type Mode Description (All parameters from Store) Mixed optionalUpdate any existing field (e.g., name, interval, request_method). pauseBoolean optionalPauses or resumes the monitor.
Request Example (cURL)
Bashcurl --location --request PUT 'https://veyon.app/api/v1/monitors/{id}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer {api_key}'
5. Delete a Monitor
Permanently removes a monitor from your account using its ID.
HTTP Request
HTTPDELETE https://veyon.app/api/v1/monitors/{id}
Request Example (cURL)
Bashcurl --location --request DELETE 'https://veyon.app/api/v1/monitors/{id}' \
--header 'Authorization: Bearer {api_key}'