Monitor
Monitor is anything that monitors your API, Websites, IP, Network or more. You can also create static monitor that does not monitor anything.
The Monitor Model
Properties
- Name
_id- Type
- Object ID
- Description
ID of this object
- Name
createdAt- Type
- Date
- Description
Date and Time when the object was created.
- Name
updatedAt- Type
- Date
- Description
Date and Time when the object was updated.
- Name
project- Type
- Project
- Description
Relation to Project Resource in which this object belongs
- Name
projectId- Type
- Object IDRequired
- Description
ID of your Project in which this object belongs
- Name
name- Type
- TextRequired
- Description
Any friendly name for this monitor
- Name
description- Type
- Long Text
- Description
Friendly description that will help you remember
- Name
slug- Type
- SlugRequired
- Description
Friendly globally unique name for your object
- Name
createdByUser- Type
- User
- Description
Relation to User who created this object (if this object was created by a User)
- Name
createdByUserId- Type
- Object ID
- Description
User ID who created this object (if this object was created by a User)
- Name
labels- Type
- Label
- Description
Relation to Labels Array where this object is categorized in.
- Name
monitorType- Type
- Monitor TypeRequired
- Description
What is the type of this monitor? Website? API? etc.
- Name
currentMonitorStatus- Type
- Monitor Status
- Description
Whats the current status of this monitor?
- Name
currentMonitorStatusId- Type
- Object IDRequired
- Description
Whats the current status ID of this monitor?
- Name
monitorSteps- Type
- Monitor Steps
- Description
What would you like to monitor and what is the criteria?
- Name
monitoringInterval- Type
- Text
- Description
How often would you like to monitor this resource?
- Name
customFields- Type
- JSON
- Description
Custom Fields on this resource.
- Name
disableActiveMonitoring- Type
- BooleanRequired
- Description
Disable active monitoring for this resource?
- Name
incomingRequestMonitorHeartbeatCheckedAt- Type
- Date
- Description
This field is for Incoming Request monitor only. When was the last time we checked the heartbeat?
- Name
telemetryMonitorNextMonitorAt- Type
- Date
- Description
This field is for Telemetry Monitor only. When is the next time we should monitor?
- Name
telemetryMonitorLastMonitorAt- Type
- Date
- Description
This field is for Telemetry Monitor only. When was the last time we monitored?
- Name
disableActiveMonitoringBecauseOfScheduledMaintenanceEvent- Type
- BooleanRequired
- Description
Disable Monitoring because of Ongoing Scheduled Maintenance Event
- Name
disableActiveMonitoringBecauseOfManualIncident- Type
- BooleanRequired
- Description
Disable Monitoring because of Incident which is creeated manually by user.
- Name
serverMonitorRequestReceivedAt- Type
- Date
- Description
This field is for Server Monitor only. When was the last time we received a request?
- Name
serverMonitorSecretKey- Type
- Object ID
- Description
This field is for Server Monitor only. Secret Key to authenticate the request.
- Name
incomingRequestSecretKey- Type
- Object ID
- Description
This field is for Incoming Request Monitor only. Secret Key to authenticate the request.
- Name
incomingMonitorRequest- Type
- JSON
- Description
Incoming Monitor Request for Incoming Request Monitor
- Name
incomingEmailSecretKey- Type
- Object ID
- Description
This field is for Incoming Email Monitor only. Secret Key used to generate unique email address.
- Name
incomingEmailMonitorLastEmailReceivedAt- Type
- Date
- Description
This field is for Incoming Email Monitor only. When was the last email received?
- Name
incomingEmailMonitorRequest- Type
- JSON
- Description
This field is for Incoming Email Monitor only. Last email data received.
- Name
incomingEmailMonitorHeartbeatCheckedAt- Type
- Date
- Description
This field is for Incoming Email monitor only. When was the last time we checked the heartbeat?
- Name
serverMonitorResponse- Type
- JSON
- Description
Server Monitor Response for Server Monitor
- Name
isAllProbesDisconnectedFromThisMonitor- Type
- Boolean
- Description
All Probes Disconnected From This Monitor. Is this monitor not being monitored?
- Name
isNoProbeEnabledOnThisMonitor- Type
- Boolean
- Description
No Probe Enabled On This Monitor. Is this monitor not being monitored?
- Name
minimumProbeAgreement- Type
- Number
- Description
Minimum number of probes that must agree on a status before the monitor status changes. If null, all enabled and connected probes must agree.
/api/monitor/get-listList
This endpoint allows you to retrieve a paginated list of all your Monitor. By default, a maximum of ten Monitor are shown per page.
Optional Query Params
limit- number
- Number of objects to fetch. By default 10, you can increase this count up to 100
skip- number
- Number of objects to skip. This can be useful in pagination
Optional Request Body
query- If you would like to filter on Monitor. You can specify include a query here. For more information, please check out writing queries here.
select- By default you will only retrieve ID of objects, to retrieve more fields you need to select them. For more information, please check how to select here.
sort- Objects will be sorted based on created date by default. You can change the sort order — see Data Types: Sort.
List Request
POST/api/monitor/get-list?skip=0&limit=10Content-Type: application/json ApiKey: YOUR_API_KEY
{
"select": {
"currentMonitorStatusId": true,
"disableActiveMonitoring": true,
"monitorType": true,
"name": true,
"projectId": true
},
"query": {
"name": "Production API Server"
},
"sort": {
"createdAt": -1
}
}Response
{
"count": 10,
"limit": 10,
"skip": 0,
"data": [
{
"_id": "377477e0-28fe-11f1-b591-3fdcef396aba",
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"monitorType": "API",
"name": "Production API Server",
"projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e"
},
{
"_id": "377477e1-28fe-11f1-b591-3fdcef396aba",
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"monitorType": "API",
"name": "Production API Server",
"projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e"
},
{
"_id": "377477e2-28fe-11f1-b591-3fdcef396aba",
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"monitorType": "API",
"name": "Production API Server",
"projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e"
}
]
}/api/monitor/:id/get-itemGet item by ID
This endpoint allows you to retrieve Monitor by ID.
id- text
- ID of the Object
Optional Request Body
select- By default you will only retrieve ID of objects, to retrieve more fields you need to select them. For more information, please check how to select here.
Get Item Request
POST/api/monitor/:id/get-itemContent-Type: application/json ApiKey: YOUR_API_KEY
{
"select": {
"currentMonitorStatusId": true,
"disableActiveMonitoring": true,
"monitorType": true,
"name": true,
"projectId": true
}
}Response
{
"_id": "377477e0-28fe-11f1-b591-3fdcef396aba",
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"monitorType": "API",
"name": "Production API Server",
"projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e"
}/api/monitor/countCount
This endpoint allows you to retrieve the count of all your Monitor.
Optional Request Body
query- If you would like to filter on Monitor. You can specify include a query here. For more information, please check out writing queries here.
Count Request
POST/api/monitor/countContent-Type: application/json ApiKey: YOUR_API_KEY
{
"query": {
"name": "Production API Server"
}
}Response
{
"count": 107
}/api/monitorCreate Monitor
This endpoint allows you to create a new object.
Create Request
POST/api/monitorContent-Type: application/json ApiKey: YOUR_API_KEY
{
"data": {
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"monitorType": "API",
"name": "Production API Server",
"projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e"
}
}Response
{
"_id": "377477e0-28fe-11f1-b591-3fdcef396aba",
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"monitorType": "API",
"name": "Production API Server",
"projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e"
}/api/monitor/:idUpdate by ID
This endpoint allows you to update object by its ID.
Alternative Methods
For clients that do not support PUT requests, you can use POST or GET with the same request headers and body:
Update Request
PUT/api/monitor/:idContent-Type: application/json ApiKey: YOUR_API_KEY
{
"data": {
"currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"disableActiveMonitoring": false,
"name": "Production API Server"
}
}Response
{}/api/monitor/:idDelete by ID
This endpoint allows you to delete object by its ID.
Alternative Methods
For clients that do not support DELETE requests, you can use POST or GET with the same request headers and body:
Delete Request
DELETE/api/monitor/:idContent-Type: application/json ApiKey: YOUR_API_KEY
Response
{}Permissions
Your API Token needs permissions to create, update, read or delete this resource. If you do not have permissions to make a request a 4xx status will be sent as response.
Read Permissions
Required to read Monitor
Project OwnerProject AdminProject MemberRead MonitorRead All Project Resources
Create Permissions
Required to create Monitor
Project OwnerProject AdminProject MemberCreate Monitor
Update Permissions
Required to update Monitor
Project OwnerProject AdminProject MemberEdit Monitor
Delete Permissions
Required to delete Monitor
Project OwnerProject AdminProject MemberDelete Monitor