Resource

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.

GETorPOST/api/monitor/get-list

List

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

List Request

POST
/api/monitor/get-list?skip=0&limit=10
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "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"
    }
  ]
}
GETorPOST/api/monitor/:id/get-item

Get item by ID

This endpoint allows you to retrieve Monitor by ID.

  • id
    text
    ID of the Object

Optional Request Body

Get Item Request

POST
/api/monitor/:id/get-item
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "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"
}
POST/api/monitor/count

Count

This endpoint allows you to retrieve the count of all your Monitor.

Optional Request Body

Count Request

POST
/api/monitor/count
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "query": {
    "name": "Production API Server"
  }
}

Response

{
  "count": 107
}
POST/api/monitor

Create Monitor

This endpoint allows you to create a new object.

Create Request

POST
/api/monitor
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "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"
}
PUT/api/monitor/:id

Update 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:

POST/api/monitor/:id/update-item
GET/api/monitor/:id/update-item

Update Request

PUT
/api/monitor/:id
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "data": {
    "currentMonitorStatusId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
    "disableActiveMonitoring": false,
    "name": "Production API Server"
  }
}

Response

{}
DELETE/api/monitor/:id

Delete 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:

POST/api/monitor/:id/delete-item
GET/api/monitor/:id/delete-item

Delete Request

DELETE
/api/monitor/:id
Headers
Content-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 Owner
  • Project Admin
  • Project Member
  • Read Monitor
  • Read All Project Resources

Create Permissions

Required to create Monitor

  • Project Owner
  • Project Admin
  • Project Member
  • Create Monitor

Update Permissions

Required to update Monitor

  • Project Owner
  • Project Admin
  • Project Member
  • Edit Monitor

Delete Permissions

Required to delete Monitor

  • Project Owner
  • Project Admin
  • Project Member
  • Delete Monitor