API reference
Monitors
Monitors endpoints of the StatusTick REST API: list monitors, create a monitor, locations a monitor can be checked from, check a target once without saving it.
/v1/monitorsAuthorization
apiKey Your organization's API key.
In: header
Query Parameters
Filter, e.g. name:*api*, status:ACTIVE, intervalSeconds>30.
value <= 100200"id""ASC"Value in
- "ASC"
- "DESC"
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/monitors?query=name%3A*shop*"{ "total": 1, "data": [ { "id": "mnt_4KrVK3M1DqhDTFouCffKie", "name": "Shop", "slug": "shop", "url": "https://shop.example.com", "type": "HTTP", "intervalSeconds": 60, "lastCheckStatus": "UP", "lastResponseTimeMs": 184, "inMaintenance": false, "status": "ACTIVE" } ]}/v1/monitorsNeeds a READ_WRITE key.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors" \ -H "Content-Type: application/json" \ -d '{ "name": "Shop", "url": "https://shop.example.com", "type": "HTTP", "intervalSeconds": 60, "timeout": 10 }'{ "id": "mnt_4KrVK3M1DqhDTFouCffKie", "name": "Shop", "slug": "shop", "url": "https://shop.example.com", "type": "HTTP", "intervalSeconds": 60, "settings": { "timeoutSeconds": 10, "httpMethod": "GET", "expectedStatusCodes": [ 200 ], "zones": [ "US_EAST", "US_WEST", "EUROPE_WEST" ], "requiredFailingZones": 2, "sslCheckEnabled": true, "ipVersion": "AUTO" }, "locationIds": [ "loc_70QYAWZXHXgGldJh1yUxrz", "loc_78yAMZ5leDEBhjfpSYx1eo", "loc_39suaI3E3GFcUucbpaIpTi" ], "nextCheckAt": "2026-09-28T10:01:00Z", "lastCheckAt": "2026-09-28T10:00:00Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 184, "certificate": { "validFrom": "2026-08-01T00:00:00Z", "validTo": "2026-10-30T23:59:59Z", "issuer": "Let's Encrypt", "subject": "shop.example.com", "valid": true, "error": null, "checkedAt": "2026-09-28T03:00:00Z" }, "heartbeat": null, "domain": { "name": "example.com", "expiresAt": "2027-08-13T04:00:00Z", "registrar": "Example Registrar", "checkedAt": "2026-09-28T03:00:00Z" }, "pageAssets": null, "browser": null, "vendorIds": [ "stripe" ], "inMaintenance": false, "locationOffline": false, "pausedReason": null, "status": "ACTIVE", "createdAt": "2026-09-01T12:00:00Z", "updatedAt": "2026-09-28T10:00:00Z"}/v1/monitors/locationsThe public locations with a running drone (one per zone), then your organization's private locations. Use the id values in a monitor's locationIds setting. BROWSER monitors take the locations of GET /v1/monitors/browser-zones.
Authorization
apiKey Your organization's API key.
In: header
Response Body
application/json
curl -X GET "https://example.com/v1/monitors/locations"[ { "id": "loc_70QYAWZXHXgGldJh1yUxrz", "type": "PUBLIC", "name": "US East", "regionCode": "us-east" }, { "id": "loc_5HbRz8TtYw3nMaK1pQv0Ud", "type": "PRIVATE", "name": "Office network", "regionCode": null }]/v1/monitors/testNeeds a READ_WRITE key. One check of an unsaved target from one location; nothing is stored. 10 tests a minute.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors/test" \ -H "Content-Type: application/json" \ -d '{ "url": "https://shop.example.com", "type": "HTTP", "expectedStatusCodes": [ 200 ] }'{ "status": "UP", "statusCode": 200, "responseTimeMs": 184, "error": null, "zone": "us-east", "checkedAt": "2026-09-28T10:00:01Z"}/v1/monitors/bulk/groupNeeds a READ_WRITE key. A null or blank group takes the monitors out of their groups. All of them change, or none.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors/bulk/group" \ -H "Content-Type: application/json" \ -d '{ "monitorIds": [ "mnt_4KrVK3M1DqhDTFouCffKie" ], "group": "Checkout" }'{ "updated": 2}/v1/monitors/bulk/tagsNeeds a READ_WRITE key. All of the monitors change, or none.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors/bulk/tags" \ -H "Content-Type: application/json" \ -d '{ "monitorIds": [ "mnt_4KrVK3M1DqhDTFouCffKie" ], "add": [ "prod" ], "remove": [ "beta" ] }'{ "updated": 2}/v1/monitors/bulk/updateNeeds a READ_WRITE key. The rules of single updates apply; a refusal names the first monitor refused and nothing changes.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors/bulk/update" \ -H "Content-Type: application/json" \ -d '{ "monitorIds": [ "mnt_4KrVK3M1DqhDTFouCffKie" ], "intervalSeconds": 60 }'{ "updated": 2}/v1/monitors/bulk/muteNeeds a READ_WRITE key. Muted monitors keep checking and opening incidents but send no alert. A null until mutes until unmuted.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors/bulk/mute" \ -H "Content-Type: application/json" \ -d '{ "monitorIds": [ "mnt_4KrVK3M1DqhDTFouCffKie" ], "until": "2026-09-28T18:00:00Z" }'{ "updated": 2}/v1/monitors/bulk/unmuteNeeds a READ_WRITE key.
Authorization
apiKey Your organization's API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/monitors/bulk/unmute" \ -H "Content-Type: application/json" \ -d '{ "monitorIds": [ "mnt_4KrVK3M1DqhDTFouCffKie" ] }'{ "updated": 2}/v1/monitors/{monitorId}Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie"{ "id": "mnt_4KrVK3M1DqhDTFouCffKie", "name": "Shop", "slug": "shop", "url": "https://shop.example.com", "type": "HTTP", "intervalSeconds": 60, "settings": { "timeoutSeconds": 10, "httpMethod": "GET", "expectedStatusCodes": [ 200 ], "zones": [ "US_EAST", "US_WEST", "EUROPE_WEST" ], "requiredFailingZones": 2, "sslCheckEnabled": true, "ipVersion": "AUTO" }, "locationIds": [ "loc_70QYAWZXHXgGldJh1yUxrz", "loc_78yAMZ5leDEBhjfpSYx1eo", "loc_39suaI3E3GFcUucbpaIpTi" ], "nextCheckAt": "2026-09-28T10:01:00Z", "lastCheckAt": "2026-09-28T10:00:00Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 184, "certificate": { "validFrom": "2026-08-01T00:00:00Z", "validTo": "2026-10-30T23:59:59Z", "issuer": "Let's Encrypt", "subject": "shop.example.com", "valid": true, "error": null, "checkedAt": "2026-09-28T03:00:00Z" }, "heartbeat": null, "domain": { "name": "example.com", "expiresAt": "2027-08-13T04:00:00Z", "registrar": "Example Registrar", "checkedAt": "2026-09-28T03:00:00Z" }, "pageAssets": null, "browser": null, "vendorIds": [ "stripe" ], "inMaintenance": false, "locationOffline": false, "pausedReason": null, "status": "ACTIVE", "createdAt": "2026-09-01T12:00:00Z", "updatedAt": "2026-09-28T10:00:00Z"}/v1/monitors/{monitorId}Needs a READ_WRITE key. Leave out the fields you do not change.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie" \ -H "Content-Type: application/json" \ -d '{ "name": "Shop EU", "intervalSeconds": 30 }'{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/monitors/{monitorId}Needs a READ_WRITE key.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie"/v1/monitors/{monitorId}/settingsNeeds a READ_WRITE key. Leave out the settings you do not change.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie/settings" \ -H "Content-Type: application/json" \ -d '{ "httpMethod": "GET", "expectedStatusCodes": [ 200, 204 ], "responseTextCheck": "Add to cart", "responseTextMode": "CONTAINS", "locationIds": [ "loc_70QYAWZXHXgGldJh1yUxrz", "loc_39suaI3E3GFcUucbpaIpTi", "loc_3oCn6fmnpuNn0HRvxLcsVp" ], "degradedResponseTimeMs": 1500 }'{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/monitors/{monitorId}/editNeeds a READ_WRITE key from an owner or admin. Send any of monitor (as in PATCH /v1/monitors/{monitorId}), settings (as in PATCH /v1/monitors/{monitorId}/settings), browser or database; leave out what you do not change. The audit log gets one monitor.updated entry listing the fields that changed.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie/edit" \ -H "Content-Type: application/json" \ -d '{ "monitor": { "name": "Shop EU" }, "settings": { "expectedStatusCodes": [ 200, 204 ] } }'{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/monitors/{monitorId}/pauseNeeds a READ_WRITE key. No checks run until it is resumed.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie/pause"{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/monitors/{monitorId}/resumeNeeds a READ_WRITE key.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie/resume"{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/monitors/{monitorId}/vendorsNeeds a READ_WRITE key. The list replaces the old one; an empty list removes them all. The monitor's incidents show these vendors first as a possible cause. Vendor ids are those of GET /v1/vendors.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie/vendors" \ -H "Content-Type: application/json" \ -d '{ "vendorIds": [ "stripe", "github" ] }'{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/monitors/{monitorId}/databaseNeeds a READ_WRITE key. Only for POSTGRES, MYSQL, REDIS and MONGODB monitors. Replaces the connection, credentials and query; send ******** as password to keep the stored one.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
How the agent of a private location connects. Give a stored user and password, or the names of environment variables on the agent (userEnv, passwordEnv), not both for the same field. Results report connect, auth and query time and a short error, never rows.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/monitors/mnt_4KrVK3M1DqhDTFouCffKie/database" \ -H "Content-Type: application/json" \ -d '{ "database": "shop", "userEnv": "STATUSTICK_SECRET_DB_USER", "passwordEnv": "STATUSTICK_SECRET_DB_PASSWORD", "tls": true, "tlsVerify": true, "query": "SELECT count(*) FROM orders WHERE created_at > now() - interval \'1 hour\'", "expectedValue": null }'{ "id": "string", "name": "string", "slug": "string", "url": "string", "type": "HTTP", "intervalSeconds": 0, "settings": { "notificationDelayMinutes": 0, "timeoutSeconds": 0, "sslCheckEnabled": true, "redirectCheckEnabled": true, "httpMethod": "GET", "requestHeaders": { "property1": "string", "property2": "string" }, "requestBody": "string", "requestBodyType": "RAW", "expectedStatusCodes": [ 0 ], "expectedResponseHeaders": { "property1": "string", "property2": "string" }, "responseTextCheck": "string", "responseTextMode": "CONTAINS", "responseTextCaseSensitive": true, "jsonAssertions": [ { "path": "string", "equals": "string", "exists": true } ], "zones": [ "GLOBAL" ], "locationIds": [ "string" ], "requiredFailingZones": 0, "blockedOpensIncident": true, "degradedResponseTimeMs": 0, "ipVersion": "AUTO", "sslExpiryAlertDays": [ 0 ], "sslOnTCP": true, "domainExpiryCheckEnabled": true, "domainExpiryAlertDays": [ 0 ], "assetCheckEnabled": true, "assetIgnoreHosts": [ "string" ], "dnsRecordType": "string" }, "locationIds": [ "string" ], "nextCheckAt": "2019-08-24T14:15:22Z", "lastCheckAt": "2019-08-24T14:15:22Z", "lastCheckStatus": "UP", "lastResponseTimeMs": 0, "certificate": { "validFrom": "string", "validTo": "string", "issuer": "string", "subject": "string", "valid": true, "error": "string", "checkedAt": "string" }, "heartbeat": { "pingPath": "string", "pingURL": "string", "graceSeconds": 0, "lastPingAt": "string", "lastDurationMs": 0, "cron": "string", "timeZone": "string", "rotatingUntil": "string", "urlLastUsedAt": "string", "previousURLLastUsedAt": "string" }, "domain": { "name": "string", "expiresAt": "string", "registrar": "string", "checkedAt": "string" }, "pageAssets": {}, "browser": { "script": "string", "language": "TYPESCRIPT", "variables": { "property1": "string", "property2": "string" }, "allowedHosts": [ "string" ], "slowStepThresholdsMs": { "property1": 1, "property2": 1 } }, "database": { "database": "string", "user": "string", "password": "string", "userEnv": "string", "passwordEnv": "string", "tls": false, "tlsVerify": true, "query": "string", "expectedValue": "string" }, "mcp": { "authHeaderName": "string", "authHeaderValue": "string", "toolCount": 0, "toolsHash": "string", "schemaChangedAt": "2019-08-24T14:15:22Z", "serverName": "string", "serverVersion": "string", "protocolVersion": "string" }, "protocol": { "grpcService": "string", "tlsMode": "NONE", "tlsVerify": true, "requireStartTLS": false }, "vendorIds": [ "string" ], "inMaintenance": true, "locationOffline": true, "tags": [ "string" ], "group": "string", "managedBy": "KUBERNETES", "managedKey": "string", "status": "ACTIVE", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}