# <a id="bitdrift.public.unary.alerts.v1.AlertConfig"></a>AlertConfig

**Source definition:** [`src/bitdrift/public/unary/alerts/v1/alerts.proto#L178-L193`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/alerts/v1/alerts.proto#L178-L193>)

Defines a workflow alert together with its shared metadata and alert type.

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| common_config | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">alerts</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">CommonAlertConfig</i>](bitdrift_public_unary_alerts_v1_CommonAlertConfig.md "bitdrift.public.unary.alerts.v1.CommonAlertConfig")</span> | Shared metadata and notification settings for the alert. |
| basic_alert | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">alerts</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">BasicAlertConfig</i>](bitdrift_public_unary_alerts_v1_BasicAlertConfig.md "bitdrift.public.unary.alerts.v1.BasicAlertConfig")</span><span class="proto-field-annotation">only one of <em>basic_alert</em>, or <em>slo_alert</em>, <em>rate_of_change_alert</em> can be set</span> | Configuration for a basic alert. |
| slo_alert | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">alerts</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">SloAlertConfig</i>](bitdrift_public_unary_alerts_v1_SloAlertConfig.md "bitdrift.public.unary.alerts.v1.SloAlertConfig")</span><span class="proto-field-annotation">only one of <em>slo_alert</em>, or <em>basic_alert</em>, <em>rate_of_change_alert</em> can be set</span> | Configuration for an SLO alert. |
| rate_of_change_alert | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">alerts</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">RateOfChangeAlertConfig</i>](bitdrift_public_unary_alerts_v1_RateOfChangeAlertConfig.md "bitdrift.public.unary.alerts.v1.RateOfChangeAlertConfig")</span><span class="proto-field-annotation">only one of <em>rate_of_change_alert</em>, or <em>basic_alert</em>, <em>slo_alert</em> can be set</span> | Configuration for a rate of change alert. |

</section>
<p class="h4">Example</p>
```json
{
  "basic_alert": {
    "condition": "ABOVE",
    "consecutive_data_points": 3,
    "histogram_configuration": {
      "percentile": 1.0,
      "percentiles": [
        1.0
      ]
    },
    "limit_strategy": {
      "exclusions": {
        "dimension_identifiers": [
          {
            "id": "time_series_id_opaque_example",
            "labels": [
              {
                "name": "name",
                "value": "value"
              }
            ]
          }
        ],
        "return_other": false
      },
      "sort_order": "MAX",
      "top_k_limit": {
        "top_k": 5
      }
    },
    "threshold": 0.75,
    "unique_device_threshold": 50,
    "window": "3600s"
  },
  "common_config": {
    "custom_notification_text": "@checkout-oncall Please investigate.",
    "description": "Triggers when the checkout workflow error rate exceeds the configured threshold.",
    "labels": {
      "key": ""
    },
    "name": "Checkout error rate",
    "notifications": [
      {
        "min_time_between_notifications": "3600s",
        "notification_config": {
          "disabled": false,
          "notification_group": {
            "name": "engineering-oncall"
          }
        }
      }
    ]
  }
}
```

