Monitors
Add Monitor
Request
POST /monitors
Parameters
Name | Type | Description |
---|
name | string | Required -- Name of the Monitor |
title | string | Title of Monitor for Status Page (Optional) |
type | string | Required -- Scheme or Protocol |
urn | string | Required -- Urn address |
followRedirects | bool | If selected, it will wait until the end of the redirect to get the response |
timeout | float64 | Timeout in seconds |
interval | int64 | Required -- Interval in seconds |
regions | int64[] | Required -- An array of regions ids |
description | string | Monitor description |
groups | string[] | An array of groups uuid |
alerts | string[] | An array of alerts uuid |
degradedThreshold | float64 | Degraded value in seconds |
apdexThreshold | float64 | Apdex value in seconds |
httpRequest | HttpRequest | Monitor HTTP Request Options (See HttpRequest parameters) |
httpResponse | HttpResponse | Monitor HTTP Response Options (See HttpResponse parameters) |
tcpOptions | TcpOptions | Monitor TCP Options (See TcpOptions parameters) |
HttpRequest Parameters
Name | Type | Description |
---|
method | string | HTTP method to send in the request. Options are: GET | POST | PUT | PATCH | DELETE | HEAD | OPTIONS |
headers | HttpHeader[] | Array of HTTP Header Objects (See HttpHeader paramenters) |
body | string | Body to send in request |
HttpResponse Parameters
Name | Type | Description |
---|
status | string[] | Array of number status code in response |
statusMatches | bool | Status must match or not |
keywordHeader | string | Keyword in Header (case insensitive) |
keywordHeaderExists | bool | Keyword in header must exist or not |
keywordBody | string | Ketword body in Response (case insensitive) |
keywordBodyExists | bool | Keyword body must exist or not |
HttpHeader Parameter
Name | Type | Description |
---|
name | string | Name of Header |
value | string | Value of Header |
Tcp Options Parameters
Name | Type | Description |
---|
dataRequest | string | Data for sending to the TCP server |
keywordResponse | string | Keyword in the Data Response (case insensitive) |
keywordResponseExists | bool | Keyword in the Data Response must exists or not (case insensitive) |
Basic Request Payload Example
{
"name": "Example Monitor",
"title": "Title for Example Monitor",
"type": "https",
"urn": "example.com",
"followRedirects": true,
"timeout": 10,
"interval": "2",
"regions": [ 1, 5 ],
"description": "Description",
"groups": [ "93742199-d3d4-4a0a-a7bb-9e66e0a3f83b", "c5623708-3fa4-4598-afc4-d134ca3a2ea8" ],
"alerts": [ "92513543-3s4r-a5h7-a3rf-87hfyt6478ru" ],
"degradedThreshold": 2,
"apdexThreshold": 0.75`
}
Basic Request Curl Example
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d3d6763224e8f54ee5aeb08202b7eb101d97081876819cb48833d9f892185917" \
-d \
'{
"name":"Example Monitor",
"title":"Title for Example Monitor",
"type":"https",
"urn":"example.com",
"timeout":10,
"intervalId":2,
"description":"Description",
"regions":[ 1, 5 ],
"groups":["93742199-d3d4-4a0a-a7bb-9e66e0a3f83b", "c5623708-3fa4-4598-afc4-d134ca3a2ea8"],
"httpFollowRedirects":true,
"alerts":["92513543-3s4r-a5h7-a3rf-87hfyt6478ru"],
"degradedThreshold":2,
"apdexThreshold":0.75
}' \
"https://api.statsignal.dev/v1/monitors"
Basic Response Example
Status: 201 Created
{
"monitor": {
"uuid": "f1594a7e6c744e6fb51f50c7f3ade858",
"name": "Example Monitor",
"title": "Title for Example Monitor",
"type": "https",
"urn": "example.com",
"intervalId": 2,
"description": "Description",
"regions": [
1,
5
],
"groups": [
"93742199-d3d4-4a0a-a7bb-9e66e0a3f83b",
"c5623708-3fa4-4598-afc4-d134ca3a2ea8"
],
"alerts": [
"92513543-3s4r-a5h7-a3rf-87hfyt6478ru"
],
"degradedThreshold": 2,
"apdexThreshold": 0.75,
"createdAt": "2023-03-05T03:52:45.763322Z",
"httpFollowRedirects": true,
"timeout": 10,
"httpRequest": null,
"httpResponse": null,
"tcpOptions": null
}
}
Request Payload Example with Http / Https Options
{
"name": "Example Monitor",
"title": "Title for Example Monitor",
"type": "https",
"urn": "example.com",
"followRedirects": true,
"timeout": 10,
"interval": "2",
"regions": [ 1, 5 ],
"description": "Description",
"groups": [ "93742199-d3d4-4a0a-a7bb-9e66e0a3f83b", "c5623708-3fa4-4598-afc4-d134ca3a2ea8" ],
"alerts": [ "92513543-3s4r-a5h7-a3rf-87hfyt6478ru" ],
"httpRequest":{
"method":"POST",
"headers":[
{
"name":"Header name",
"value":"Value content"
}
],
"body":"Body content"
},
"degradedThreshold": 2,
"apdexThreshold": 0.75`
}
Request Curl Example with Http / Https Options
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d3d6763224e8f54ee5aeb08202b7eb101d97081876819cb48833d9f892185917" \
-d \
'{
"name":"Example Monitor",
"title":"Title for Example Monitor",
"type":"https",
"urn":"example.com",
"timeout":10,
"intervalId":2,
"description":"Description",
"regions":[ 1, 5 ],
"groups":["93742199-d3d4-4a0a-a7bb-9e66e0a3f83b", "c5623708-3fa4-4598-afc4-d134ca3a2ea8"],
"httpFollowRedirects":true,
"httpRequest":{
"method":"POST",
"headers":[
{
"name":"Header name",
"value":"Value content"
}
],
"body":"Body content"
},
"httpResponse":{
"status":["200-299", "301"],
"statusMatches":true,
"keywordHeader":"Keyword Header in Response",
"keywordHeaderExists":true,
"keywordBody":"Keyword Body in Response",
"keywordBodyExists":false
},
"degradedThreshold":2,
"apdexThreshold":0.75
}' \
"https://api.statsignal.dev/v1/monitors"
Response Example with Http / Https Options
Status: 201 Created
{
"monitor": {
"uuid": "f1594a7e6c744e6fb51f50c7f3ade858",
"name": "Example Monitor",
"title": "Title for Example Monitor",
"type": "https",
"urn": "example.com",
"intervalId": 2,
"description": "Description",
"regions": [
1,
5
],
"groups": [
"93742199-d3d4-4a0a-a7bb-9e66e0a3f83b",
"c5623708-3fa4-4598-afc4-d134ca3a2ea8"
],
"alerts": null,
"degradedThreshold": 2,
"apdexThreshold": 0.75,
"createdAt": "2023-03-05T03:52:45.763322Z",
"httpFollowRedirects": true,
"timeout": 10,
"httpRequest": {
"method": "POST",
"headers": [
{
"name": "Header name",
"value": "Value content"
}
],
"body": "Body content"
},
"httpResponse": {
"status": [
"200-299",
"301"
],
"statusMatches": true,
"keywordHeader": "Keyword Header in Response",
"keywordHeaderExists": true,
"keywordBody": "Keyword Body in Response",
"keywordBodyExists": false
},
"tcpOptions": null
}
}
Request Payload Example with Tcp Options
{
"name": "Example Monitor",
"title": "Title for Example Monitor",
"type": "https",
"urn": "example.com",
"followRedirects": true,
"timeout": 10,
"interval": "2",
"regions": [ 1, 5 ],
"description": "Description",
"groups": [ "93742199-d3d4-4a0a-a7bb-9e66e0a3f83b", "c5623708-3fa4-4598-afc4-d134ca3a2ea8" ],
"alerts": [ "92513543-3s4r-a5h7-a3rf-87hfyt6478ru" ],
"tcpOptions":{
"KeywordResponse":"Keyword Content",
"KeywordResponseExists":true,
"DataRequest":"Data Content"
},
"degradedThreshold": 2,
"apdexThreshold": 0.75`
}
Request Curl Example with Tcp Options
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d3d6763224e8f54ee5aeb08202b7eb101d97081876819cb48833d9f892185917" \
-d \
'{
"name":"Example Monitor",
"title":"Title for Example Monitor",
"type":"https",
"urn":"example.com:1000",
"timeout":10,
"intervalId":2,
"description":"Description",
"regions":[ 1, 5 ],
"groups":["93742199-d3d4-4a0a-a7bb-9e66e0a3f83b", "c5623708-3fa4-4598-afc4-d134ca3a2ea8"],
"httpFollowRedirects":false,
"tcpOptions":{
"KeywordResponse":"Keyword Content",
"KeywordResponseExists":true,
"DataRequest":"Data Content"
},
"degradedThreshold":2,
"apdexThreshold":0.75
}' \
"https://api.statsignal.dev/v1/monitors"
Response Example with Tcp Options
Status: 201 Created
{
"monitor": {
"uuid": "df7620b0feb94d27bbc7ec8d6795fdd2",
"name": "Example Monitor",
"title": "Title for Example Monitor",
"type": "tcp",
"urn": "example.com:1000",
"intervalId": 2,
"description": "Description",
"regions": [
1,
5
],
"groups": [
"93742199-d3d4-4a0a-a7bb-9e66e0a3f83b",
"c5623708-3fa4-4598-afc4-d134ca3a2ea8"
],
"alerts": null,
"degradedThreshold": 2,
"apdexThreshold": 0.75,
"createdAt": "2023-03-05T03:58:47.627032Z",
"httpFollowRedirects": false,
"timeout": 10,
"httpRequest": null,
"httpResponse": null,
"tcpOptions": {
"keywordResponse": "Keyword Content",
"keywordResponseExists": true,
"dataRequest": "Data Content"
}
}
}