Alerts
Create alert rules to send an alert event when a metric crosses a defined threshold value. Alerts can trigger on both a warningThreshold and a criticalThreshold, triggering an alert event if the metric value falls below or exceeds the expected threshold.
In order to receive the event triggered by an Alert, you need to be able to receive events from a stream you have a subscription to in a sink of your choice. The events triggered by an Alert are not available in the Customer Portal or the API.
To view the list of supported metrics, refer to the Metrics page.
Creating an Alert
Prerequisite: In order to add an alert rule, you should have a stream created with Port and/or Connection resources attached and metric enabled
- Portal
- API
-
From the Observability menu, click Data Streams.
-
Select a Stream from the Stream Inventory.

-
On the Stream Details page, from the Actions drop-down menu, click Add Alerts.

-
On the Add Alert page, enter your rule's parameters.
- Select the Connection or Port Metric from the Select a Metric drop-down.
- Give your Alert a name.
- Add an Alert description (optional).
- Select the operand value:
ABOVEorBELOW. - Select a window size from the drop-down.
- Set the value for triggering a warning event in the Warning Threshold field.
- Set the value for triggering a critical event in the Critical Threshold field.

-
Click Next
-
Select the Connection or Port to apply the Alert to from the list.

-
Click Submit.
From the confirmation screen, you can add more resources to your alert, add a subscription to your stream to receive your alert, or add another alert. To see the details of your new alert, click View Alert Details.

To create an alert, send a POST request to the /fabric/v4/streams/{streamId}/alertRules endpoint.
Sample cURL Request:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/alertRules' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "METRIC_ALERT",
"name": "<alert_rule_name>",
"description": "<alert_rule_desc>",
"enabled": "true",
"metricSelector": {
"include": [
"equinix.fabric.port.bandwidth_tx.usage"
]
},
"resourceSelector": {
"include": [
"/fabric/v4/ports/780d384f-2eb6-4c07-ac89-ea106ca12814"
]
},
"detectionMethod": {
"type": "THRESHOLD",
"operand": "ABOVE",
"windowSize": "PT5M",
"warningThreshold": 200000,
"criticalThreshold": 300000
}
}'
Sample Response:
{
"href": "https://api.equinix.com/fabric/v4/streams/128cfe7c-e24f-4b1b-8a4f-680cd650c46c/alertRules/28da40d8-09bf-49f2-a02d-af34210f275e",
"uuid": "128cfe7c-e24f-4b1b-8a4f-680cd650c46c",
"type": "METRIC_ALERT",
"name": "<alert_rule_name>",
"description": "<alert_rule_name>",
"state": "ACTIVE",
"enabled": true,
"metricSelector": {
"include": [
"equinix.fabric.port.bandwidth_tx.usage"
]
},
"resourceSelector": {
"include": [
"/fabric/v4/ports/780d384f-2eb6-4c07-ac89-ea106ca12814"
]
},
"detectionMethod": {
"type": "THRESHOLD",
"operand": "ABOVE",
"windowSize": "PT5M",
"warningThreshold": 200000,
"criticalThreshold": 300000
}
"changeLog": {
"createdBy": "testuser",
"createdDateTime": "2025-02-04T23:17:54.323427936Z"
}
}
Creating Smart Alerts - Latency
For Streams where you have attached Metros, you can create smart alerts for latency thresholds. These AI-powered alerts analyze historical latency data across your metro locations using machine learning to establish baseline performance and generate smart alert thresholds, eliminating the need for manual alert configuration.
To create a smart alert rule, send a POST request to the /fabric/v4/streams/{streamId}/alertRules endpoint.
Specify the Metro-specific metric you are creating the alert for in the metricSelector object, the Metro that is attached to the stream that you are adding as a resource in the resourceSelector object, and specify the detectionMethod.type as OUTLIER.
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/alertRules' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "METRIC_ALERT",
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": "true",
"metricSelector": {
"include": [
"equinix.fabric.metro.<metro_code>_<metro_code>.latency"
]
},
"resourceSelector": {
"include": [
"/fabric/v4/metros/{metro_code}"
]
},
"detectionMethod": {
"type": "OUTLIER"
}
}'
Retrieving Your Alerts
- Portal
- API
To see the list of Alerts for a Stream:
-
From the Observability menu, click Data Streams.
-
Select a Stream from the Stream Inventory.

-
Click on Alerts.

To get an alert's details, send a GET request to the /fabric/v4/streams/{streamId}/alertRules/{alertRuleId} endpoint.
Sample cURL Request:
curl -X 'GET' 'https://api.equinix.com/fabric/v4/streams/<streamId>/alertRules/<alertRuleId>' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'
Sample Response:
{
"href": "https://api.equinix.com/fabric/v4/streams/128cfe7c-e24f-4b1b-8a4f-680cd650c46c/alertRules/28da40d8-09bf-49f2-a02d-af34210f275e",
"uuid": "128cfe7c-e24f-4b1b-8a4f-680cd650c46c",
"type": "METRIC_ALERT",
"name": "<alert_rule_name>",
"description": "<alert_rule_name>",
"state": "ACTIVE",
"enabled": true,
"metricSelector": {
"include": [
"equinix.fabric.port.bandwidth_tx.usage"
]
},
"resourceSelector": {
"include": [
"/fabric/v4/ports/780d384f-2eb6-4c07-ac89-ea106ca12814"
]
},
"detectionMethod": {
"type": "THRESHOLD",
"operand": "ABOVE",
"windowSize": "PT5M",
"warningThreshold": 200000,
"criticalThreshold": 300000
}
"changeLog": {
"createdBy": "testuser",
"createdDateTime": "2025-02-04T23:17:54.323427936Z"
}
}
Deleting an Alert
- Portal
- API
To delete an Alert:
-
From the Observability menu, click Data Streams.
-
Select a Stream from the Stream Inventory.

-
Click on Alerts.
-
From the list of Alerts, click the options menu of the one you want to delete, click Remove Alert.

To delete an Alert, send a DELETE request to the /fabric/v4/streams/{streamId}/alertRules/{alertRuleId} endpoint.
Sample cURL Request:
curl -X DELETE 'https://api.equinix.com/fabric/v4/streams/<streamId>/alertRules/<alertRuleId>' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'
Sample Response:
{
"href": "https://api.equinix.com/fabric/v4/streams/128cfe7c-e24f-4b1b-8a4f-680cd650c46c/alertRules/28da40d8-09bf-49f2-a02d-af34210f275e",
"uuid": "28da40d8-09bf-49f2-a02d-af34210f275e",
"type": "METRIC_ALERT",
"name": "<alert_rule_name>",
"description": "<alert_rule_name>",
"state": "INACTIVE",
"enabled": true,
"metricName": "equinix.fabric.port.bandwidth_tx.usage",
"resourceSelector": {
"include": [
"*/ports/<uuid>"
]
},
"windowSize": "PT15M",
"operand": "ABOVE",
"warningThreshold": "43000000",
"criticalThreshold": "45000000",
"changeLog": {
"createdBy": "testuser",
"createdDateTime": "2025-02-04T23:17:54.323427936Z"
}
}