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

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

Returns the alert history for a single workflow alert.

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| history | <span class="proto-type proto-type-message">array of [<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">GetAlertHistoryResponse</i><i class="proto-type-dot">.</i><i class="proto-type-part">AlertHistoryItem</i>](#bitdrift.public.unary.alerts.v1.GetAlertHistoryResponse.AlertHistoryItem "bitdrift.public.unary.alerts.v1.GetAlertHistoryResponse.AlertHistoryItem")</span> | Alert history items that match the request. |
| total_alert_history | <span class="proto-type proto-type-primitive">uint32</span> | Total number of alert history items that match the request. |

</section>
<p class="h4">Example</p>
```json
{
  "history": [
    {
      "details": {
        "alert_config": {
          "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"
                  }
                }
              }
            ]
          }
        },
        "contributing_data": [
          {
            "basic": {
              "data_points": [
                {
                  "rate_details": {
                    "denominator_count": 42,
                    "numerator_count": 42
                  },
                  "timestamp": "2024-01-15T09:30:00Z",
                  "unique_devices": 1,
                  "value": 1.0
                }
              ]
            }
          }
        ],
        "group_by_dimensions": [
          "region:us-east-1"
        ],
        "notification_failures": [
          "PagerDuty returned an authentication error"
        ]
      },
      "resolved_at": "2024-01-15T09:30:00Z",
      "triggered_at": "2024-01-15T09:30:00Z"
    }
  ],
  "total_alert_history": 8
}
```

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

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

Describes one firing interval in the alert history.

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| triggered_at | <span class="proto-type proto-type-well-known">[google.protobuf.Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp "google.protobuf.Timestamp")</span> | The time the alert was triggered. |
| resolved_at | <span class="proto-type proto-type-well-known">[google.protobuf.Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp "google.protobuf.Timestamp")</span> | The time the alert was resolved. |
| details | <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">AlertHistoryDetails</i>](bitdrift_public_unary_alerts_v1_AlertHistoryDetails.md "bitdrift.public.unary.alerts.v1.AlertHistoryDetails")</span> | Additional details related to the firing of the alert. |

</section>
<p class="h4">Example</p>
```json
{
  "details": {
    "alert_config": {
      "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"
              }
            }
          }
        ]
      }
    },
    "contributing_data": [
      {
        "basic": {
          "data_points": [
            {
              "rate_details": {
                "denominator_count": 42,
                "numerator_count": 42
              },
              "timestamp": "2024-01-15T09:30:00Z",
              "unique_devices": 1,
              "value": 1.0
            }
          ]
        }
      }
    ],
    "group_by_dimensions": [
      "region:us-east-1"
    ],
    "notification_failures": [
      "PagerDuty returned an authentication error"
    ]
  },
  "resolved_at": "2024-01-15T09:30:00Z",
  "triggered_at": "2024-01-15T09:30:00Z"
}
```

