Skip to main content

Monitor Object

The Monitor Object in the API represents a monitored Service in Garmingo Status.
This is equal to the Monitors from the "Monitors" Tab in the Dashboard.

Properties

The Monitor Object itself has the following properties:

PropertyTypeDescriptionRequired
idstringThe unique identifier of the Monitor.Yes
displayNamestringThe name of the Monitor.Yes
ttlnumberThe checking interval of the Monitor.Yes
typestringThe type of the Monitor.Yes
regionstringThe region of the Monitor.Yes
enabledbooleanWhether the Monitor is enabled.Yes
retriesnumberThe number of retries the Monitor should do before marking the Service as down.Yes
keywordsstring[]List of keywords used to search for the Monitor.Yes (can be empty)
metadataobjectAdditional metadata of the Monitor.No
settingsobjectConfiguration settings of the Monitor.Yes
lastCheckDateWhen the Monitor was last checked.Yes
proxyTypestringThe proxy type used for the Monitor.No
proxyHoststringThe proxy host used for the Monitor.No
proxyPortnumberThe proxy port used for the Monitor.No
proxyUsernamestringThe proxy username used for the Monitor.No
proxyPasswordstringThe proxy password used for the Monitor.No
currentStatusbooleanThe current status of the Monitor.Yes

Example

{
"id": "5f4b3b3b-0b3b-4b3b-0b3b-4b3b0b3b0b3b",
"displayName": "My Monitor",
"ttl": 60,
"type": "http",
"region": "eu-central",
"enabled": true,
"retries": 3,
"keywords": ["my", "monitor"],
"metadata": {
"key": "value"
},
"settings": {
"url": "https://example.com",
"method": "GET",
"headers": {
"Authorization": "Bearer my-token"
},
"body": null
},
"lastCheck": "2021-01-01T00:00:00.000Z",
"proxyType": "socks5",
"proxyHost": "proxy.example.com",
"proxyPort": 8080,
"proxyUsername": "my-username",
"proxyPassword": "my-password",
"currentStatus": true
}

CRUD Operation Objects

The base type of the Monitor Object is returned by the API for all READ operations.
For CREATE, UPDATE and DELETE operations, the Monitor Object is stripped down to the following properties:

Create Monitor Object

PropertyTypeDescriptionRequiredDefault
displayNamestringThe name of the Monitor.Yes
enabledbooleanWhether the Monitor is enabled.Notrue
keywordsstring[]List of keywords for the Monitor.No[]
settingsobjectConfiguration settings of the Monitor.Yes
typestringThe type of the Monitor.Yes
regionstringThe region of the Monitor.Yes
ttlnumberThe checking interval of the Monitor.Yes
retriesnumberThe number of retries for the Monitor.Yes
proxyTypestringThe proxy type for the Monitor.No
proxyHoststringThe proxy host for the Monitor.No
proxyPortnumberThe proxy port for the Monitor.No
proxyUsernamestringThe proxy username for the Monitor.No
proxyPasswordstringThe proxy password for the Monitor.No

Example

{
"displayName": "My Monitor",
"enabled": true,
"keywords": ["my", "monitor"],
"settings": {
"url": "https://example.com",
"method": "GET",
"headers": {
"Authorization": "Bearer my-token"
},
"body": null
},
"type": "http",
"region": "eu-central",
"ttl": 60,
"retries": 3,
"proxyType": "socks5",
"proxyHost": "proxy.example.com",
"proxyPort": 8080,
"proxyUsername": "my-username",
"proxyPassword": "my-password"
}

Update Monitor Object

PropertyTypeDescriptionRequiredDefault
displayNamestringThe name of the Monitor.No
enabledbooleanWhether the Monitor is enabled.No
keywordsstring[]List of keywords for the Monitor.No
settingsobjectConfiguration settings of the Monitor.No
typestringThe type of the Monitor.No
regionstringThe region of the Monitor.No
ttlnumberThe checking interval of the Monitor.No
retriesnumberThe number of retries for the Monitor.No
proxyTypestringThe proxy type for the Monitor.No
proxyHoststringThe proxy host for the Monitor.No
proxyPortnumberThe proxy port for the Monitor.No
proxyUsernamestringThe proxy username for the Monitor.No
proxyPasswordstringThe proxy password for the Monitor.No

Example

{
"displayName": "My Monitor",
"enabled": true
}