{"type":"model","meta":{"id":"/apps/pubhub/media/000-v7-apis/5b3454a4300b838cc17f7b2cdc0690fdd15058d5/9a54eafb-59ad-38f2-a440-c003b58ad29f","info":{"description":"You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API:\n\n* **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules.\n\n* **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests..\n\n* **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance.\n\nFor more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts).\n","title":"Alerts API","version":"7.0.34"},"security":[{"BearerAuth":[]}],"tags":[{"name":"Alerts"},{"name":"Alert Rules"},{"name":"Alert Suppression Windows"}],"openapi":"3.0.1","servers":[{"description":"ThousandEyes API production URL","url":"https://api.thousandeyes.com/v7"}],"securitySchemes":{"BearerAuth":{"description":"Bearer authentication token","scheme":"bearer","type":"http"}}},"spec":{"properties":{"ruleId":{"description":"Unique ID of the rule.","example":"127094","readOnly":true,"type":"string"},"ruleName":{"description":"Name of the alert rule.","example":"The End of the Internet","type":"string"},"expression":{"description":"The expression of the alert rule.","example":"((hops((hopDelay \u003e= 100 ms))))","type":"string"},"direction":{"description":"Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.)","enum":["to-target","from-target","bidirectional"],"example":"to-target","type":"string","$$ref":"#/components/schemas/AlertDirection"},"notifyOnClear":{"description":"Send notification when alert clears.","example":true,"type":"boolean"},"isDefault":{"description":"If set to `true`, this alert rule becomes the default for its test type and is automatically applied to newly created tests with relevant metrics. Only one default alert rule is allowed per test type.","example":true,"type":"boolean"},"alertType":{"description":"Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values","enum":["page-load","http-server","end-to-end-server","end-to-end-agent","voice","dns-server","dns-trace","dnssec","bgp","path-trace","ftp","sip-server","transactions","web-transactions","agent","network-outage","application-outage","device-device","device-interface","endpoint-network-server","endpoint-http-server","endpoint-path-trace","endpoint-browser-sessions-agent","endpoint-browser-sessions-application","api","web-transaction","unknown"],"example":"http-server","type":"string","$$ref":"#/components/schemas/AlertType"},"alertGroupType":{"description":"Category of alert type based on the application or network layer and source of the test.","enum":["bgp","browser-session","cloud-enterprise","endpoint"],"example":"endpoint","type":"string","$$ref":"#/components/schemas/AlertGroupType"},"minimumSources":{"description":"The minimum number of agents or monitors that must meet the specified criteria to trigger the alert.","example":10,"type":"integer"},"minimumSourcesPct":{"description":"The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert.","example":99,"type":"integer"},"roundsViolatingMode":{"description":"`exact` requires the same agents to meet the threshold in consecutive rounds. `auto` is only enabled for CEA and Endpoint Scheduled test rules. The default is `any`.","enum":["exact","any","auto"],"example":"exact","readOnly":true,"type":"string","$$ref":"#/components/schemas/AlertRoundsViolationMode"},"roundsViolatingOutOf":{"description":"Specifies the divisor (y value) in the “X of Y times” condition.","example":5,"type":"integer"},"roundsViolatingRequired":{"description":"Specifies the numerator (x value) in the “X of Y times” condition.","example":2,"type":"integer"},"includeCoveredPrefixes":{"description":"Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.","example":true,"type":"boolean"},"sensitivityLevel":{"description":"Used when `roundsViolatingMode` is set to `auto`. The default is `medium`. Higher sensitivity increases the likelihood of triggering alerts.","enum":["high","medium","low"],"example":"medium","readOnly":true,"type":"string","$$ref":"#/components/schemas/SensitivityLevel"},"severity":{"description":"The severity of the alert.","enum":["info","major","minor","critical","unknown"],"example":"major","type":"string","$$ref":"#/components/schemas/Severity"},"notifications":{"description":"Alert notification object. See Alert notification integrations.","properties":{"email":{"description":"Email notifications.","properties":{"recipients":{"description":"An array containing the email addresses to receive notifications.","example":["noreply@thousandeyes.com"],"items":{"type":"string"},"type":"array"},"message":{"description":"Custom text included in alert email notifications sent to recipients.","example":"Notification message","type":"string"}},"type":"object","$$ref":"#/components/schemas/NotificationEmail"},"thirdParty":{"description":"Third party notifications.","items":{"description":"Webhook notification.","properties":{"integrationId":{"description":"Integration ID.","example":"sl-101","type":"string"},"integrationType":{"description":"Integration type.","enum":["pager-duty","slack","app-dynamics","service-now"],"example":"slack","type":"string","$$ref":"#/components/schemas/ThirdPartyIntegrationType"}},"type":"object","$$ref":"#/components/schemas/NotificationThirdParty"},"type":"array"},"webhook":{"description":"Webhook notifications.","items":{"description":"Webhook notification.","properties":{"integrationId":{"description":"Integration ID.","example":"wb-201","type":"string"},"integrationType":{"description":"Integration type.","enum":["webhook"],"example":"webhook","type":"string","$$ref":"#/components/schemas/WebhookIntegrationType"}},"type":"object","$$ref":"#/components/schemas/NotificationWebhook"},"type":"array"},"customWebhook":{"description":"Custom webhook notifications.","items":{"description":"Custom webhook notification.","properties":{"integrationId":{"description":"Integration ID.","example":"6e069ae9-8537-4120-b988-61bf8e0d8b87","format":"uuid","type":"string"},"integrationType":{"description":"Integration type.","enum":["custom-webhook"],"example":"custom-webhook","type":"string","$$ref":"#/components/schemas/CustomWebhookIntegrationType"},"integrationName":{"description":"User-configured name of the integration.","example":"My webhook","type":"string"},"target":{"description":"Webhook target URL.","example":"https://example.com/test/webhooks/notifications","type":"string"}},"type":"object","$$ref":"#/components/schemas/NotificationCustomWebhook"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/AlertNotification"},"tests":{"items":{"additionalProperties":true,"description":"Each test includes additional fields depending on its `type`. Refer `/tests/{type}` endpoint to know the set of fields returned by a given `type`.","properties":{"interval":{"default":60,"description":"Interval between test runs in seconds.","enum":[60,120,300,600,900,1800,3600],"example":60,"type":"integer","$$ref":"#/components/schemas/TestInterval"},"alertsEnabled":{"description":"Indicates if alerts are enabled.","example":true,"type":"boolean"},"enabled":{"default":true,"description":"Test is enabled.","example":true,"type":"boolean"},"createdBy":{"description":"User that created the test.","example":"user@user.com","readOnly":true,"type":"string"},"createdDate":{"description":"UTC created date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"A description of the test.","example":"ThousandEyes Test","type":"string"},"liveShare":{"description":"Indicates if the test is shared with the account group.","example":false,"readOnly":true,"type":"boolean"},"modifiedBy":{"description":"User that modified the test.","example":"user@user.com","readOnly":true,"type":"string"},"modifiedDate":{"description":"UTC last modification date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"savedEvent":{"description":"Indicates if the test is a saved event.","readOnly":true,"type":"boolean"},"testId":{"description":"Each test is assigned an unique ID; this is used to access test information and results from other endpoints.","example":"281474976710706","readOnly":true,"type":"string"},"testName":{"description":"The name of the test. Test name must be unique.","example":"ThousandEyes Test","type":"string"},"type":{"description":"Valid Alert Types for which to return test links.","enum":["api","agent-to-agent","agent-to-server","bgp","http-server","page-load","web-transactions","ftp-server","dns-trace","dns-server","dnssec","sip-server","voice","endpoint-http-server","endpoint-network-server","endpoint-path-trace"],"example":"agent-to-server","readOnly":true,"type":"string","$$ref":"#/components/schemas/AlertTestType"},"_links":{"description":"A list of links that can be accessed to get more information","properties":{"self":{"description":"Reference to the test.","properties":{"href":{"description":"Its value is either a URI [RFC3986] or a URI template [RFC6570].","example":"https://api.thousandeyes.com/v7/link/to/resource/id","type":"string"},"templated":{"description":"Should be true when the link object's \"href\" property is a URI template.","type":"boolean"},"type":{"description":"Used as a hint to indicate the media type expected when dereferencing the target resource.","type":"string"},"deprecation":{"description":"Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.","type":"string"},"name":{"description":"Its value may be used as a secondary key for selecting link objects that share the same relation type.","type":"string"},"profile":{"description":"A URI that hints about the profile of the target resource.","type":"string"},"title":{"description":"Intended for labelling the link with a human-readable identifier","type":"string"},"hreflang":{"description":"Indicates the language of the target resource","type":"string"}},"required":["href"],"type":"object","$$ref":"#/components/schemas/TestSelfLink","example":{"href":"https://api.thousandeyes.com/v7/tests/{type}/281474976710706"}},"testResults":{"description":"Reference to the test results.","example":[{"href":"https://api.thousandeyes.com/v7/test-results/281474976710706/network"},{"href":"https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis"}],"items":{"description":"A hyperlink from the containing resource to a URI.","properties":{"href":{"description":"Its value is either a URI [RFC3986] or a URI template [RFC6570].","example":"https://api.thousandeyes.com/v7/link/to/resource/id","type":"string"},"templated":{"description":"Should be true when the link object's \"href\" property is a URI template.","type":"boolean"},"type":{"description":"Used as a hint to indicate the media type expected when dereferencing the target resource.","type":"string"},"deprecation":{"description":"Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.","type":"string"},"name":{"description":"Its value may be used as a secondary key for selecting link objects that share the same relation type.","type":"string"},"profile":{"description":"A URI that hints about the profile of the target resource.","type":"string"},"title":{"description":"Intended for labelling the link with a human-readable identifier","type":"string"},"hreflang":{"description":"Indicates the language of the target resource","type":"string"}},"required":["href"],"type":"object","$$ref":"#/components/schemas/Link"},"type":"array"}},"readOnly":true,"type":"object","$$ref":"#/components/schemas/TestLinks"}},"type":"object","$$ref":"#/components/schemas/AlertSimpleTest"},"readOnly":true,"type":"array"},"_links":{"description":"A links object containing the self link.","properties":{"self":{"description":"A hyperlink from the containing resource to a URI.","properties":{"href":{"description":"Its value is either a URI [RFC3986] or a URI template [RFC6570].","example":"https://api.thousandeyes.com/v7/link/to/resource/id","type":"string"},"templated":{"description":"Should be true when the link object's \"href\" property is a URI template.","type":"boolean"},"type":{"description":"Used as a hint to indicate the media type expected when dereferencing the target resource.","type":"string"},"deprecation":{"description":"Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.","type":"string"},"name":{"description":"Its value may be used as a secondary key for selecting link objects that share the same relation type.","type":"string"},"profile":{"description":"A URI that hints about the profile of the target resource.","type":"string"},"title":{"description":"Intended for labelling the link with a human-readable identifier","type":"string"},"hreflang":{"description":"Indicates the language of the target resource","type":"string"}},"required":["href"],"type":"object","$$ref":"#/components/schemas/Link"}},"readOnly":true,"type":"object","$$ref":"#/components/schemas/SelfLinks"}},"required":["alertType","expression","roundsViolatingOutOf","roundsViolatingRequired","ruleName"],"type":"object","$$ref":"#/components/schemas/RuleDetail","title":"RuleDetail"}}