Alerts & Notifications
Alerts
Get an Alert
v6 |
v7 |
GET
/v6/alerts/{alertId} |
GET
/v7/alerts/{alertId} |
Response
Body |
|
{ "alert":
[ { "active":
1, "agents":
[ {
"active": 1, "agentId": 2345, "agentName": "Beijing, China (China
Unicom)", "dateStart": "2025-03-11 14:20:00", "metricsAtEnd": "Active", "metricsAtStart": "Error: \"Connection
timed out after 60 milliseconds\"",
"permalink":
"https://app.thousandeyes.com/alerts/list/?__a=2067002&alertId=7c32734e-ba62-40cb-90f6-b99e43d5649f&agentId=2345" } ], "alertId":
"7c32734e-ba62-40cb-90f6-b99e43d5649f", "dateEnd": "2025-03-11T14:55:00Z ", "dateStart": "2025-03-11
14:25:00", "type":
"HTTP Server", "severity": "INFO", "suppressed": 0, "violationCount":
1, "ruleExpression": "((probDetail !=
\"\"))", "ruleId": 11608213, "ruleName": "APPLICATION AVAILABILITY
PROBLEM", "testId": 5671106, "testName": "Salesforce.com", "metadata": { "version": 1 }, "apiLinks": [ { "href":
"https://api.thousandeyes.com/v6/tests/5671106", "rel": "related" }, { "href":
"https://api.thousandeyes.com/v6/web/http-server/5671106", "rel": "data" } ], "permalink":
"https://app.thousandeyes.com/alerts/list/?__a=2067002&alertId=7c32734e-ba62-40cb-90f6-b99e43d5649f" } ] }
|
{ "state":
"trigger", "alertState": "trigger", "details":
[ {
"id": "2345",
"name": "Beijing, China (China Unicom)",
"start": {
"metrics": "Error: \"Connection timed out after 60
milliseconds\"" },
"state": "trigger",
"type": "cea_agent" } ], "id":
"7c32734e-ba62-40cb-90f6-b99e43d5649f", "startDate":
"2025-03-11T14:25:00Z", "endDate":
"2025-03-11T14:55:00Z", "alertType": "http-server", "severity": "info", "alertSeverity": "info", "suppressed": false, "violationCount":
1, "meta": { "version": 1 }, "_links":
{ "appLink": { "href": "https://app.thousandeyes.com/alerts/list/?__a=2067002&alertId=7c32734e-ba62-40cb-90f6-b99e43d5649f" },
"rule": { "href":
"https://api.thousandeyes.com/v7/alerts/rules/11608213" },
"self": { "href":
"https://api.thousandeyes.com/v7/alerts/7c32734e-ba62-40cb-90f6-b99e43d5649f" },
"test": { "href":
"https://api.thousandeyes.com/v7/tests/http-server/5671106" } } } |
Comments: 1.
The response is no longer structured
as a list of objects at the top-most level. Instead, a single alert object is
returned. 2.
The `active` field has been renamed to
`alertState`, and its value has changed from integer
to string. 3. The `agents` and `monitors` fields have been
removed and replaced by the `details` list field. Objects in this `details`
list indicate what type of vantage point triggered the alert within their
`type` field. 4. The `alertId` field has
been renamed to `id`. 5. The `dateStart` and `dateEnd` fields have been renamed to `startDate`
and `endDate` fields have been renamed, and the
format of their values is now an ISO 8601 format with timezone (e.g.,
"2024-11-14T05:09:50Z"). 6. The `type` field has been renamed `alertType`, and its values have changed. See the full
list of enum values at https://developer.cisco.com/docs/thousandeyes/alerttype/. 7. The `severity` field has been renamed `alertSeverity`, and its values have changed from
"INFO", "MAJOR", "MINOR", "CRITICAL" to
"info", "major", "minor", "critical",
"unknown". 8. The value type of the `suppressed` field has
changed from integer to boolean. 9. Related alert rule details (e.g,
`ruleExpression`, `ruleName`,
and `ruleId`) and test details (e.g,
`testId` and `testName`) are
no longer returned in the response body. Instead, details for related
resources can be queried from the links within the `_links` field. 10. The `permalink` field has been replaced by the `appLink` withfield in the
`_links` list field. 11. The `apiLinks` field has
been removed. 12. Note: While the `state` and `severity` properties
are present in the v7 response, we recommend using the `alertState`
and `alertSeverity` properties for consistency with
the List all Alerts API endpoint. |
List all Alerts
v6 |
v7 |
GET
/v6/alerts |
GET
/v7/alerts |
Response
Body |
|
{ "alert": [ { "alertId":
"26b42473-15b8-4f15-9cf2-fd9888cc0e66", "active": 1, "severity": "INFO", "dateStart":
"2025-03-11 15:20:00", "ruleId": 11608213, "ruleExpression":
"((probDetail != \"\"))",
"ruleName": "APPLICATION
AVAILABILITY PROBLEM",
"suppressed": 0, "testId": 5699033,
"testName": "Workday", "type": "HTTP Server", "violationCount": 1,
"metadata": {
"version": 1 }, "agents": [
{
"active": 1,
"agentId": 1423359,
"agentName":
"SJC-VLAN100",
"dateStart": "2025-03-11
15:15:00",
"metricsAtEnd":
"Active",
"metricsAtStart": "Error:
\"Connection timed out after 220 milliseconds\"",
"permalink":
"https://app.thousandeyes.com/alerts/list/?__a=2067002&alertId=26b42473-15b8-4f15-9cf2-fd9888cc0e66&agentId=1423359"
} ], "permalink": "https://app.thousandeyes.com/alerts/list/?__a=2067002&alertId=26b42473-15b8-4f15-9cf2-fd9888cc0e66", "apiLinks": [
{
"href":
"https://api.thousandeyes.com/v6/tests/5699033",
"rel": "related"
},
{
"href":
"https://api.thousandeyes.com/v6/web/http-server/5699033",
"rel": "data"
} ] } ] } |
{ "alerts": [ { "id":
"26b42473-15b8-4f15-9cf2-fd9888cc0e66", "alertState":
"trigger", "alertSeverity":
"info", "startDate":
"2025-03-11T15:20:00Z", "ruleId": 11608213, "alertType":
"http-server",
"suppressed": false, "violationCount": 1,
"duration": 0, "_links": {
"appLink": { "href":
"https://app.thousandeyes.com/alerts/list/?__a=2067002&alertId=26b42473-15b8-4f15-9cf2-fd9888cc0e66"
},
"rule": { "href":
"https://api.thousandeyes.com/v7/alerts/rules/11608213"
},
"self": { "href":
"https://api.thousandeyes.com/v7/alerts/26b42473-15b8-4f15-9cf2-fd9888cc0e66"
},
"test": { "href":
"https://api.thousandeyes.com/v7/tests/http-server/5699033"
}
} } ], "_links":
{
"self": { "href":
"https://api.thousandeyes.com/v7/alerts" } }, } |
Comments: 1.
Note that the addition of the `state`
query parameter. The APIv6 endpoint returns both triggered and cleared
alerts in responses, however the APIv7 endpoint only returns either
triggered or cleared alerts based on the value of the `state` query parameter
(defaults to "trigger" if not included in the request). 2.
The top-most field name in the
response has changed from `alert` to `alerts. 3. The
`alertId` field has been renamed to `id`. 4.
The `active` field has been renamed to
`alertState`, and its value has changed from integer
to string. 5. The `severity` field has been renamed to `alertSeverity`, and its values have changed from
"INFO", "MAJOR", "MINOR", "CRITICAL"
to "info", "major", "minor",
"critical", "unknown". 6. The `dateStart` and `dateEnd` fields have been renamed to `startDate`
and `endDate`, and the format of their values is
now an ISO 8601 format with timezone (e.g., "2024-11-14T05:09:50Z"). 7. The `type` field has been renamed `alertType`, and its values have changed. See the full
list of enum values at https://developer.cisco.com/docs/thousandeyes/alerttype/. 8. The value type of the `suppressed` field has
changed from integer to boolean. 9. The `agents` and `monitors` fields have been
removed. 10. Related alert rule details (e.g,
`ruleExpression`, `ruleName`)
and test details (e.g, `testId`
and `testName`) are no longer returned in the
response body. Instead, details for related resources can be queried from the
links within the `_links` field. 13. The `permalink` field has been replaced by the `appLink` field within the `_links` list field. 11. The `apiLinks` field has
been removed. |
Alerts Rules
Get an Alert Rule
v6 |
v7 |
GET /v6/alert-rules/{ruleId} |
GET /v7/alerts/rules/{ruleId} |
Response
Body |
|
{ "alertRules": [ { "alertGroupType":
"cloud-enterprise", "alertType":
"End-to-End (Server)", "expression": "((Auto(avgLatency >= Medium
sensitivity)))", "default":
0, "minimumSources":
1, "notifyOnClear":
1, "roundsViolatingMode":
"AUTO", "roundsViolatingOutOf":
1, "roundsViolatingRequired":
1, "ruleId":
11607857, "ruleName":
"ABNORMAL NETWORK LATENCY DETECTED", "sensitivityLevel":
"LOW", "severity": "INFO", "notifications": { "customWebhook":
[ { "integrationId":
"f11ba44d-3720-4798-8ea2-d1502cb59faa", "integrationName": "Webex Chat Alerts", "integrationType": "CUSTOM_WEBHOOK", "target":
"https://webexapis.com/v1/messages" } ], "email": { "message":
"", "recipient": [] } }, "tests": [ ... ] } ] } |
{ "alertGroupType":
"cloud-enterprise", "alertType":
"end-to-end-server", "expression": "((Auto(avgLatency >= Medium
sensitivity)))", "isDefault": false, "minimumSources":
1, "notifyOnClear":
true, "roundsViolatingMode":
"auto", "roundsViolatingOutOf":
1, "roundsViolatingRequired":
1, "ruleId":
"11607857", "ruleName":
"ABNORMAL NETWORK LATENCY DETECTED", "sensitivityLevel":
"low", "severity": "info", "notifications": { "customWebhook":
[ { "integrationId":
"f11ba44d-3720-4798-8ea2-d1502cb59faa", "integrationName":
"Webex Chat Alerts", "integrationType":
"custom-webhook", "target":
"https://webexapis.com/v1/messages" } ], "email": { "message": "", "recipients":
["email@example.com"] } }, "tests": [ ... ], "_links": { "self": { "href":
"https://api.thousandeyes.com/v7/alerts/rules/11607857" } } } |
Comments: 1.
The request URL has changed from `/v6/alert-rules/{ruleId}` to `/v7/alerts/rules/{ruleId}` 2.
The response is no longer structured
as a list of objects at the top-most level. Instead, a single alert rule object
is returned. 3.
The values of the `alertType`
field have changed. See the full list
of enum values at https://developer.cisco.com/docs/thousandeyes/alerttype/. 4.
The `default` field has been renamed `isDefault`, and its value type has changed from integer
to boolean. 5.
The value type of the `notifyOnClear` field has changed from integer to boolean. 6.
The values of the `roundsViolatingMode`
field have changed from "EXACT", "ANY", "AUTO"
to "exact", "any", "auto". 7.
The value type of the `ruleId` field has changed from integer to string. 8.
The values of the ` sensitivityLevel`
field have changed from "HIGH", "MEDIUM", "LOW"
to "high", "medium", "low". (This field is only
present when `roundsViolatingMode` is set to
"auto"). 9.
The values of the `severity` field
have changed from "INFO", "MAJOR", "MINOR",
"CRITICAL" to "info", "major",
"minor", "critical", "unknown". 10. Within
the `notifications` list field, the values for the `integrationType`
field have changed from "PAGER_DUTY", "SLACK",
"APP_DYNAMICS", "SERVICE_NOW", "WEBHOOK",
"CUSTOM_WEBHOOK" to "pager-duty", "slack",
"app-dynamics", "service-now", "webhook", "custom-webhook".
11. For
email notification types, the `recipient` field has been renamed
`recipients`, and is not included in the response if it is empty. |
Create an Alert Rule
v6 |
v7 |
POST /v6/alert-rules/new |
POST /v7/alerts/rules |
Request
Body |
|
{ "alertType": "FTP", "default": 0, "expression": "((ftpErrorType != \"None\"))", "minimumSources": 10, "notifyOnClear": 1, "roundsViolatingOutOf": 4, "roundsViolatingRequired": 2, "roundsViolatingMode": "ANY", "ruleName": "My FTP Alert Rule", "severity": "MAJOR", "notifications": { "email": { "message": "", "recipient": [ "email@example.com" ] }, "thirdParty": [{ "integrationId": "sl-1234", "integrationType": "SLACK" }], "webhook": [{ "integrationId": "wb-5678", "integrationType": "WEBHOOK" }] }, "testIds": [ 5622486 ], "notes": "FTP Alert rule created using write api", "description": "TE FTP Alert rule with write api" } |
{ "alertType": "ftp", "isDefault": false, "expression": "((ftpErrorType != \"None\"))", "minimumSources": 10, "notifyOnClear": true, "roundsViolatingOutOf": 4, "roundsViolatingRequired": 2, "roundsViolatingMode": "any", "ruleName": "My FTP Alert Rule", "severity": "major", "notifications": { "email": { "message": "Notification message", "recipients": [ "email@example.com" ] }, "thirdParty": [{ "integrationId": "sl-1234", "integrationType": "slack" }], "webhook": [{ "integrationId": "wb-5678", "integrationType": "webhook" }] }, "testIds": [ "5622486" ] } |
Response
Body |
|
{ "alertRuleId": 12345678, "alertType": "FTP", "ruleName": "My FTP Alert Rule",
"expression": "((ftpErrorType != \"None\"))",
"notifications": {
"email": {
"message": "",
"recipient": [
"email@example.com" ] }, "thirdParty": [ {
"integrationId": "sl-1234",
"integrationType":
"SLACK" } ],
"webhook": [ {
"integrationId": "wb-5678",
"integrationType":
"WEBHOOK" } ] }, "notifyOnClear": 1,
"default": 0, "minimumSources": 10, "roundsViolatingRequired": 2, "roundsViolatingOutOf": 4, "roundsViolatingMode": "ANY",
"severity": "MAJOR", "testIds": [ 5622486 ], "description": "TE FTP Alert rule with write
api" } |
{ "ruleId":
"12345678", "alertType": "ftp", "ruleName": "My FTP Alert Rule",
"expression": "((ftpErrorType != \"None\"))",
"notifications": {
"email": {
"message": "Notification message",
"recipients": [
"email@example.com" ] }, "thirdParty": [ {
"integrationId": "sl-1234",
"integrationType":
"slack" } ],
"webhook": [ {
"integrationId": "wb-5678",
"integrationType":
"webhook" } ] }, "notifyOnClear": true, "isDefault": false, "minimumSources": 10, "roundsViolatingRequired": 2, "roundsViolatingOutOf": 4, "roundsViolatingMode": "any",
"severity": "major", "testIds": [ "5622486" ], "alertGroupType": "cloud-enterprise",
"_links": {
"self": {
"href":
"https://api.thousandeyes.com/v7/alerts/rules/11734498" } } } |
Comments: 1.
The request URL has changed from
`/v6/alert-rules/new ` to `/v7/alerts/rules/`. 2.
The values of the `alertType`
field have changed. See the full list of enum
values at https://developer.cisco.com/docs/thousandeyes/alerttype/. 3.
The value type of the `notifyOnClear` field has changed from integer to boolean. 4.
The `default` field has been renamed `isDefault`, and its value type has changed from integer
to boolean. 5.
The values of the `roundsViolatingMode`
field have changed from "EXACT", "ANY", "AUTO"
to "exact", "any", "auto". 6.
The values of the `severity` field
have changed from "INFO", "MAJOR", "MINOR",
"CRITICAL" to "info", "major",
"minor", "critical", "unknown". 7.
The values of the `sensitivityLevel`
field have changed from "HIGH", "MEDIUM", "LOW"
to "high", "medium", "low" (This field is only
present when `roundsViolatingMode` is set to
"auto"). 8.
For email notification types, the
`recipient` field has been renamed `recipients`. 9.
In the `testIds`
property, entries have changed from integers to strings. 10. The
`notes` and `description` fields have been removed. 11. For
"bgp" alert types, the `includeCoveredPrefixes` field has changed from an integer
to a boolean. 12. For
"end-to-end-agent" and "path-trace` alert types, the
`direction` field has changed from an integer to a boolean.
13. In
the response body, the `alertRuleId` field has been renamed `ruleId`,
and its type has changed from integer to string. |
List all Alert Rules
v6 |
v7 |
GET /v6/alert-rules |
GET /v7/alerts/rules |
Response
Body |
|
{ "alertRules":
[ { "alertType":
"End-to-End (Server)", "default":
0, "expression": "((Auto(avgLatency >= Medium
sensitivity)))", "minimumSources":
1, "notifyOnClear":
1, "roundsViolatingOutOf":
1, "roundsViolatingRequired":
1, "roundsViolatingMode":
"AUTO", "sensitivityLevel":
"LOW", "severity": "INFO", "ruleId":
12345, "ruleName":
"ABNORMAL NETWORK LATENCY DETECTED" }, { "alertType":
"HTTP Server", "default":
0, "expression": "((probDetail !=
\"\"))", "minimumSources":
1, "notifyOnClear":
1, "roundsViolatingOutOf":
2, "roundsViolatingRequired":
2, "roundsViolatingMode":
"EXACT", "severity": "INFO", "ruleId":
67890, "ruleName":
"APPLICATION AVAILABILITY PROBLEM" } ] } |
{ "alertRules":
[ { "alertType":
"end-to-end-server", "isDefault": false, "expression": "((Auto(avgLatency >= Medium
sensitivity)))", "minimumSources":
1, "notifyOnClear":
true, "roundsViolatingOutOf":
1, "roundsViolatingRequired":
1, "roundsViolatingMode":
"auto", "sensitivityLevel":
"low", "severity": "info", "ruleId":
"12345", "alertGroupType":
"cloud-enterprise", "ruleName":
"ABNORMAL NETWORK LATENCY DETECTED" }, { "alertType":
"http-server", "isDefault": false, "expression": "((probDetail !=
\"\"))", "minimumSources":
1, "notifyOnClear":
true, "roundsViolatingOutOf":
2, "roundsViolatingRequired":
2, "roundsViolatingMode":
"exact", "severity": "info", "ruleId":
"67890", "alertGroupType":
"cloud-enterprise", "ruleName":
"APPLICATION AVAILABILITY PROBLEM" } ] } |
Comments: 1.
The request URL has changed from
`/v6/alert-rules/new ` to `/v7/alerts/rules/`. 2.
The values of the `alertType`
field have changed. See the full list of enum
values at https://developer.cisco.com/docs/thousandeyes/alerttype/.
3.
The `default` field has been renamed `isDefault`, and its value type has changed from integer
to boolean. 4.
The value type of the `notifyOnClear` field has changed from integer to boolean. 5.
The values of the `roundsViolatingMode`
field have changed from "EXACT", "ANY", "AUTO"
to "exact", "any", "auto". 6.
The values of the `severity` field
have changed from "INFO", "MAJOR", "MINOR",
"CRITICAL" to "info", "major",
"minor", "critical", "unknown". 7.
The values of the ` sensitivityLevel`
field have changed from "HIGH", "MEDIUM", "LOW"
to "high", "medium", "low" (This field is only
present when `roundsViolatingMode` is set to "auto").
|
Update an Alert Rule
v6 |
v7 |
POST
/v6/alert-rules/{ruleId}/update |
PUT
/v7/alerts/rules/{ruleId} |
Request
Body |
|
{ "alertType": "FTP", "default": 0, "expression": "((ftpErrorType != \"None\"))", "minimumSources": 10, "notifyOnClear": 1, "roundsViolatingOutOf": 4, "roundsViolatingRequired": 2, "roundsViolatingMode": "ANY", "ruleName": "My FTP Alert Rule", "severity": "MAJOR", "notifications": { "email": { "message": "", "recipient": [ "email@example.com" ] }, "thirdParty": [{ "integrationId": "sl-1234", "integrationType": "SLACK" }], "webhook": [{ "integrationId": "wb-5678", "integrationType": "WEBHOOK" }] }, "testIds": [ 5622486 ], "notes": "FTP Alert rule created using write api", "description": "TE FTP Alert rule with write api" } |
{ "alertType": "ftp", "isDefault": false, "expression": "((ftpErrorType != \"None\"))", "minimumSources": 10, "notifyOnClear": true, "roundsViolatingOutOf": 4, "roundsViolatingRequired": 2, "roundsViolatingMode": "any", "ruleName": "My FTP Alert Rule", "severity": "major", "notifications": { "email": { "message": "Notification message", "recipients": [ "email@example.com" ] }, "thirdParty": [{ "integrationId": "sl-1234", "integrationType": "slack" }], "webhook": [{ "integrationId": "wb-5678", "integrationType": "webhook" }] }, "testIds": [ "5622486" ] } |
Response
Body |
|
{ "alertRuleId": 12345678, "alertType": "FTP", "ruleName": "My FTP Alert Rule",
"expression": "((ftpErrorType != \"None\"))",
"notifications": {
"email": {
"message": "",
"recipient": [
"email@example.com" ] }, "thirdParty": [ {
"integrationId": "sl-1234",
"integrationType":
"SLACK" } ],
"webhook": [ {
"integrationId": "wb-5678",
"integrationType":
"WEBHOOK" } ] }, "notifyOnClear": 1,
"default": 0, "minimumSources": 10, "roundsViolatingRequired": 2, "roundsViolatingOutOf": 4, "roundsViolatingMode": "ANY",
"severity": "MAJOR", "testIds": [ 5622486 ], "description": "TE FTP Alert rule with write
api" } |
{ "ruleId":
"12345678", "alertType": "ftp", "ruleName": "My FTP Alert Rule",
"expression": "((ftpErrorType != \"None\"))",
"notifications": {
"email": {
"message": "Notification message",
"recipients": [
"email@example.com" ] }, "thirdParty": [ {
"integrationId": "sl-1234",
"integrationType":
"slack" } ],
"webhook": [ {
"integrationId": "wb-5678",
"integrationType":
"webhook" } ] }, "notifyOnClear": true, "isDefault": false, "minimumSources": 10, "roundsViolatingRequired": 2, "roundsViolatingOutOf": 4, "roundsViolatingMode": "any",
"severity": "major", "testIds": [ "5622486" ], "alertGroupType": "cloud-enterprise",
"_links": {
"self": {
"href":
"https://api.thousandeyes.com/v7/alerts/rules/11734498" } } } |
Comments: 1.
The request URL has changed from
`/v6/alert-rules/new ` to `/v7/alerts/rules/`. 2.
The values of the `alertType`
field have changed. See the full list of enum
values at https://developer.cisco.com/docs/thousandeyes/alerttype/. 3.
The value type of the `notifyOnClear` field has changed from integer to boolean. 4.
The `default` field has been renamed `isDefault`, and its value type has changed from integer
to boolean. 5.
The values of the `roundsViolatingMode`
field have changed from "EXACT", "ANY", "AUTO"
to "exact", "any", "auto". 6.
The values of the `severity` field
have changed from "INFO", "MAJOR", "MINOR",
"CRITICAL" to "info", "major",
"minor", "critical", "unknown". 7.
The values of the `sensitivityLevel`
field have changed from "HIGH", "MEDIUM", "LOW"
to "high", "medium", "low" (This field is only
present when `roundsViolatingMode` is set to
"auto"). 8.
For email notification types, the
`recipient` field has been renamed `recipients`. 9.
In the `testIds`
property, entries have changed from integers to strings. 10. The
`notes` and `description` fields have been removed. 11. For
"bgp" alert types, the `includeCoveredPrefixes` field has changed from an integer
to a boolean. 12. For
"end-to-end-agent" and "path-trace` alert types, the
`direction` field has changed from an integer to a boolean.
13. In
the response body, the `alertRuleId` field has been renamed `ruleId`,
and its type has changed from integer to string. |
Delete an Alert Rule
v6 |
v7 |
POST
/v6/alert-rules/{ruleId}/delete |
DELETE
/v7/alerts/rules/{ruleId} |
Response
Body |
|
Response
returned with HTTP 204 response code. No response body will be returned. |
Response
returned with HTTP 204 response code. No response body will be returned. |
Comments: 1.
The request URL has changed from
`/v6/alert-rules/{ruleId}/delete ` to
`/v7/alerts/rules/{ruleId}`. 2.
The request method has changed from
POST to DELETE. |
Alert Suppression Window
Create an Alert Suppression Window
v6 |
v7 |
POST /v6/alert-suppression-windows/new |
POST /v7/alert-suppression-windows |
Request
Body |
|
{ "alertSuppressionWindowName":
"Monthly maintenance", "enabled":
1, "startDateTime":
"2024-05-29 05:00:00", "timezone":
"America/Los_Angeles", "duration": 1800, "repeat": { "type": "WEEK", "intervalType":"DAY", "intervalLength": 2, "daysOfWeek": [ "SUN" ] }, "endRepeat": { "type": "DATE", "date":
"2024-09-01" }, "tests": [{"testId": 6754634}] } |
{ "name":
"Monthly maintenance", "isEnabled": true, "startDate":
"2024-05-29T05:00:00Z", "duration": 1800, "repeat": { "type": "week", "intervalType": "day", "intervalLength": 2, "daysOfWeek": [ "sun" ] }, "endRepeat": { "type": "date", "date":
"2024-09-01" }, "testIds": [ "6754634" ] } |
Response
Body |
|
{ "alertSuppressionWindows":
[ {
"alertSuppressionWindowId": 1588029,
"alertSuppressionWindowName":
"ASW", "enabled":
1, "status": "INACTIVE",
"startDateTime":
"2024-06-15 00:00:00", "timezone":
"America/Los_Angeles", "duration": 1800, "repeat": { "type": "WEEK" },
"endRepeat": { "type": "DATE", "date":
"2024-09-01" }, "tests":
[ ... ] } ] } |
{ "alertSuppressionWindowId": "1588029", "name":
"ASW", "isEnabled": true, "status": "inactive", "startDate":
"2024-07-01T05:00:00Z", "duration": 1800, "repeat": { "type": "week" }, "endRepeat": { "type": "date", "date":
"2024-09-01" }, "tests":
[ ... ],
"_links": {
"self": { "href":
"https://api.thousandeyes.com/v7/alert-suppression-windows/1588029"
} } } |
Comments: 1.
The request URL has changed from `/v6/alert-suppression-windows/new`
to `/v7/alert-suppression-windows`. 2.
The response is no longer structured
as a list of objects at the top-most level. Instead, a single object is
returned. 3.
The `alertSuppressionWindowId`
field type has changed from integer to string. 4.
The `alertSuppressionWindowName`
field has been renamed to `name`. 5.
The `enabled` field has been renamed
to `isEnabled`, and its type has changed from
integer to boolean. 6.
The ` startDateTime` field has been renamed
to `startDate`, and the timestamp format has
changed to ISO 8601. 7.
The `timezone`
field has been removed. 8.
Within the `repeat` field: a. The
values for `type` are now lowercase: changed from "DAY",
"WEEK", "MONTH", "CUSTOM" to "day",
"week", "month", "custom". b. The
values for `intervalType` are now lowercase:
changed from "DAY", "WEEK", "MONTH" to
"day", "week", "month". c. The
values for `daysOfWeek` are now lowercase: changed
from "SUN", "MON", "TUE", "WED",
"THU", "FRI", "SAT" to "sun", "mon", "tue",
"wed", "thu", "fri", "sat". 9.
Within the `endRepeat`
field, the values for `type` are now lowercase: changed from
"COUNT", "NEVER", "DATE" to "count",
"never", "date". 10. The
`tests` field has been renamed to `testIds`, and
its value has changed from a list of objects to a list of strings. 11. The
values for the `status` field have changed from "ACTIVE",
"INACTIVE", "ENDED" to "active",
"inactive", "ended". 12. v6
responses always include `tests`, v7 requires `expand=test` query parameter
to include the `tests` field in the response. |
|
|
Get an Alert Suppression Window
v6 |
v7 |
GET
/v6/alert-suppression-windows/{alertSuppressionWindowId} |
GET
/v7/alert-suppression-windows/{windowId} |
Response
Body |
|
{ "alertSuppressionWindows":
[ {
"alertSuppressionWindowId": 1588029,
"alertSuppressionWindowName":
"ASW", "enabled":
1, "status": "INACTIVE",
"startDateTime":
"2024-06-15 00:00:00", "timezone":
"America/Los_Angeles", "duration": 1800, "repeat": { "type": "WEEK" },
"endRepeat": { "type": "DATE", "date":
"2024-09-01" }, "tests":
[ ... ] } ] } |
{ "alertSuppressionWindowId": "1588029", "name":
"ASW", "isEnabled": true, "status": "inactive", "startDate":
"2024-07-01T05:00:00Z", "duration": 1800, "repeat": { "type": "week" }, "endRepeat": { "type": "date", "date":
"2024-09-01" }, "tests":
[ ... ],
"_links": {
"self": { "href":
"https://api.thousandeyes.com/v7/alert-suppression-windows/1588029"
} } } |
Comments: 1.
The response is no longer structured
as a list of objects at the top-most level. Instead, a single object is
returned. 2.
The `alertSuppressionWindowId`
field type has changed from integer to string. 3.
The `alertSuppressionWindowName`
field has been renamed to `name` 4.
The `enabled` field has been renamed
to `isEnabled`, and its type has changed from
integer to boolean. 5.
The values for the `status` field have
changed from "ACTIVE", "INACTIVE", "ENDED" to "active",
"inactive", "ended". 6.
The ` startDateTime` field has been renamed
to `startDate`, and the timestamp format has
changed to ISO 8601. 7.
The `timezone`
field has been removed. 8.
Within the `repeat` field: a. The
values for `type` are now lowercase: changed from "DAY",
"WEEK", "MONTH", "CUSTOM" to "day",
"week", "month", "custom". b. The
values for `intervalType` are now lowercase:
changed from "DAY", "WEEK", "MONTH" to
"day", "week", "month". c. The
values for `daysOfWeek` are now lowercase: changed
from "SUN", "MON", "TUE", "WED",
"THU", "FRI", "SAT" to "sun", "mon", "tue",
"wed", "thu", "fri", "sat". 9.
Within the `endRepeat`
field, the values for `type` are now lowercase: changed from
"COUNT", "NEVER", "DATE" to "count",
"never", "date". 10. The
`tests` field has been renamed to `testIds`, and
its value has changed from a list of objects to a list of strings. 11. v6
responses always include `tests`, v7 requires `expand=test` query parameter
to include the `tests` field in the response. |
List all Alert Suppression Windows
v6 |
v7 |
GET /v6/alert-suppression-windows |
GET /v7/alert-suppression-windows |
Request
Body |
|
None |
None |
Response
Body |
|
{ "alertSuppressionWindows":
[ { "alertSuppressionWindowId":
1234567, "alertSuppressionWindowName": "TestingASW", "enabled":
1, "status": "ENDED", "startDateTime": "2025-01-24 20:33:00", "timezone": "America/New_York", "duration": 3600, "repeat": { "type": "NONE" }, "endRepeat":
{ "type": "NEVER" } } ] } |
{ "alertSuppressionWindows":
[ { "alertSuppressionWindowId":
"1234567", "name":
"TestingASW", "isEnabled": true, "status": "ended", "startDate": "2025-01-24T20:33:00-05:00", "duration": 3600, "repeat": { "type": "none" }, "endRepeat":
{ "type": "never" }, "_links": { "self": { "href":
"https://api.thousandeyes.com/v7/alert-suppression-windows/1234567" } } } ], "_links": { "self": { "href":
"https://api.thousandeyes.com/v7/alert-suppression-windows" } } } |
Comments: 1.
The `alertSuppressionWindowId`
field type has changed from integer to string. 2.
The `alertSuppressionWindowName`
field has been renamed to `name`. 3.
The `enabled` field has been renamed
to `isEnabled`, and its type has changed from
integer to boolean. 4.
The values for the `status` field have
changed from "ACTIVE", "INACTIVE", "ENDED" to "active",
"inactive", "ended". 5.
The ` startDateTime` field has been renamed
to `startDate`, and the timestamp format has
changed to ISO 8601. 6.
The `timezone`
field has been removed. 7.
Within the `repeat` field: a. The
values for `type` are now lowercase: changed from "DAY",
"WEEK", "MONTH", "CUSTOM" to "day",
"week", "month", "custom" b. The
values for `intervalType` are now lowercase:
changed from "DAY", "WEEK", "MONTH" to
"day", "week", "month" c. The
values for `daysOfWeek` are now lowercase: changed
from "SUN", "MON", "TUE", "WED",
"THU", "FRI", "SAT" to "sun", "mon", "tue",
"wed", "thu", "fri", "sat". 8.
Within the `endRepeat`
field, the values for `type` are now lowercase: changed from
"COUNT", "NEVER", "DATE" to "count",
"never", "date". |
Update an Alert Suppression Window
v6 |
v7 |
POST /v6/alert-suppression-windows/{alertSuppressionWindowId}/update |
PUT /v7/alert-suppression-windows/{windowId} |
Request
Body |
|
{ "alertSuppressionWindowName":
"Monthly maintenance", "enabled":
1, "startDateTime":
"2024-05-29 05:00:00", "timezone":
"America/Los_Angeles", "duration": 1800, "repeat": { "type": "WEEK", "intervalType":"DAY", "intervalLength": 2, "daysOfWeek": [ "SUN" ] }, "endRepeat": { "type": "DATE", "date":
"2024-09-01" }, "tests": [{"testId": 6754634}] } |
{ "name":
"Monthly maintenance", "isEnabled": true, "startDate":
"2024-05-29T05:00:00Z", "duration": 1800, "repeat": { "type": "week", "intervalType": "day", "intervalLength": 2, "daysOfWeek": [ "sun" ] }, "endRepeat": { "type": "date", "date":
"2024-09-01" }, "testIds": [ "6754634" ] } |
Response
Body |
|
{ "alertSuppressionWindows":
[ {
"alertSuppressionWindowId": 1588029,
"alertSuppressionWindowName":
"ASW", "enabled":
1, "status": "INACTIVE",
"startDateTime":
"2024-06-15 00:00:00", "timezone":
"America/Los_Angeles", "duration": 1800, "repeat": { "type": "WEEK" },
"endRepeat": { "type": "DATE", "date":
"2024-09-01" }, "tests":
[ ... ] } ] } |
{ "alertSuppressionWindowId": "1588029", "name":
"ASW", "isEnabled": true, "status": "inactive", "startDate":
"2024-07-01T05:00:00Z", "duration": 1800, "repeat": { "type": "week" }, "endRepeat": { "type": "date", "date":
"2024-09-01" }, "tests":
[ ... ],
"_links": {
"self": { "href":
"https://api.thousandeyes.com/v7/alert-suppression-windows/1588029"
} } } |
Comments: 1.
The request method has changed from
POST to PUT, and the URL has changed from `/v6/alert-suppression-windows/{alertSuppressionWindowId}/update` to `/v7/alert-suppression-windows/{windowId}`. 2.
The response is no longer structured
as a list of objects at the top-most level. Instead, a single object is
returned. 3.
The `alertSuppressionWindowId`
field type has changed from integer to string. 4.
The `alertSuppressionWindowName`
field has been renamed to `name`. 5.
The `enabled` field has been renamed
to `isEnabled`, and its type has changed from
integer to boolean. 6.
The ` startDateTime` field has been renamed
to `startDate`, and the timestamp format has
changed to ISO 8601. 7.
The `timezone`
field has been removed. 8.
Within the `repeat` field: a. The
values for `type` are now lowercase: changed from "DAY",
"WEEK", "MONTH", "CUSTOM" to "day",
"week", "month", "custom". b. The
values for `intervalType` are now lowercase:
changed from "DAY", "WEEK", "MONTH" to
"day", "week", "month". c. The
values for `daysOfWeek` are now lowercase: changed
from "SUN", "MON", "TUE", "WED",
"THU", "FRI", "SAT" to "sun", "mon", "tue",
"wed", "thu", "fri", "sat". 9.
Within the `endRepeat`
field, the values for `type` are now lowercase: changed from
"COUNT", "NEVER", "DATE" to "count",
"never", "date". 10. The
`tests` field has been renamed to `testIds`, and
its value has changed from a list of objects to a list of strings. 11. The
values for the `status` field have changed from "ACTIVE",
"INACTIVE", "ENDED" to "active",
"inactive", "ended". 12. v6
responses always include `tests`, v7 requires `expand=test` query parameter
to include the `tests` field in the response. |
Delete an Alert Suppression Window
v6 |
v7 |
POST /v6/alert-suppression-windows/{alertSuppressionWindowId}/delete |
DELETE /v7/alert-suppression-windows/{windowId} |
Response
Body |
|
Response
returned with HTTP 204 response code. No response body will be returned. |
Response
returned with HTTP 204 response code. No response body will be returned. |
Comments: 1.
The request URL has changed from `/v6/alert-suppression-windows/{alertSuppressionWindowId}/delete` to `/v7/alert-suppression-windows/{windowId}`. 2.
The request method has changed from
POST to DELETE. |