Skip to main content
GET
/
v2
/
alerts
List
curl --request GET \
  --url https://api.incident.io/v2/alerts \
  --header 'Authorization: Bearer <token>'
{
  "alerts": [
    {
      "alert_source_id": "01GW2G3V0S59R238FAHPDS1R66",
      "attributes": [
        {
          "array_value": [
            {
              "catalog_entry": {
                "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
                "id": "01FCNDV6P870EA6S7TK1DSYDG0",
                "name": "Primary On-call"
              },
              "label": "Payments Team",
              "literal": "SEV123"
            }
          ],
          "attribute": {
            "array": false,
            "emoji": "fire",
            "id": "01GW2G3V0S59R238FAHPDS1R66",
            "name": "service",
            "required": false,
            "type": "CatalogEntry[\"01GW2G3V0S59R238FAHPDS1R67\"]"
          },
          "value": {
            "catalog_entry": {
              "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "name": "Primary On-call"
            },
            "label": "Payments Team",
            "literal": "SEV123"
          }
        }
      ],
      "created_at": "2021-08-17T13:28:57.801578Z",
      "deduplication_key": "4293868629",
      "description": "CPU on the payments service has exceeded 75 percent for 5 minutes",
      "id": "01GW2G3V0S59R238FAHPDS1R66",
      "resolved_at": "2021-08-17T14:28:57.801578Z",
      "source_url": "https://www.my-alerting-platform.com/alerts/my-alert-123",
      "status": "firing",
      "title": "*errors.withMessage: PG::Error failed to connect",
      "updated_at": "2021-08-17T13:28:57.801578Z"
    }
  ],
  "pagination_meta": {
    "after": "01FCNDV6P870EA6S7TK1DSYDG0",
    "page_size": 25
  }
}
List all alerts for your account. This endpoint supports a number of filters, which can help find alerts matching certain criteria. These filters work similarly to the filters on the incidents endpoint, where a field is specified alongside a comparison operator in the query string. Note that:
  • Filters may be used together, and the result will be alerts that match all filters.
  • All query parameters must be URI encoded.

By deduplication_key

Find all alerts with deduplication_key ABC:
curl --get 'https://api.incident.io/v2/alerts' \
--data 'deduplication_key[is]=ABC'

By status

Find all alerts in a firing state:
curl --get 'https://api.incident.io/v2/alerts' \
--data 'status[one_of]=firing'

By alert_source

Find all alerts from a specific alert source (by alert source ID):
curl --get 'https://api.incident.io/v2/alerts' \
--data 'alert_source[one_of]=01GBSQF3FHF7FWZQNWGHAVQ804'
Find all alerts not from a specific alert source:
curl --get 'https://api.incident.io/v2/alerts' \
--data 'alert_source[not_in]=01GBSQF3FHF7FWZQNWGHAVQ804'

By created_at

Find all alerts that follow specified date parameters for created_at field. Possible values are “gte” (greater than or equal to), “lte” (less than or equal to), and “date_range” (between two dates). The following example finds all alerts created after 2025-01-01:
curl --get 'https://api.incident.io/v2/alerts' \
--data 'created_at[gte]=2025-01-01'
To find alerts created within a specific date range, use the date_range option with tilde-separated dates:
curl --get 'https://api.incident.io/v2/alerts' \
--data 'created_at[date_range]=2024-12-02~2024-12-08'

Maintenance windows

By default, all alerts are returned including those held by a maintenance window. To exclude alerts that are held by a maintenance window:
curl --get 'https://api.incident.io/v2/alerts' \
--data 'include_maintenance_window[is]=false'

Authorizations

Authorization
string
header
required

API key from your incident.io dashboard (Settings → API keys)

Query Parameters

page_size
integer<int64>
default:25
required

Number of alerts to return per page

Required range: 1 <= x <= 50
Example:

25

after
string

If provided, pass this as the 'after' param to load the next page

Example:

"01FCNDV6P870EA6S7TK1DSYDG0"

deduplication_key
object

Filter on alert deduplication key. The accepted operator is 'is'.

Example:
{ "is": ["01GBSQF3FHF7FWZQNWGHAVQ804"] }
status
object

Filter on alert status. The accepted operators are 'one_of', or 'not_in'.

Example:
{ "one_of": ["firing"] }
alert_source
object

Filter on alert source by ID. The accepted operators are 'one_of', or 'not_in'.

Example:
{ "one_of": ["01GBSQF3FHF7FWZQNWGHAVQ804"] }
created_at
object

Filter on alert created at timestamp. Accepted operators are 'gte', 'lte' and 'date_range'.

Example:
{ "gte": ["2025-01-01"] }
include_maintenance_window
object

Filter on whether to include maintenance window alerts. The accepted operator is 'is'.

Example:
{ "is": ["true"] }

Response

200 - application/json

OK response.

alerts
object[]
required
Example:
[
  {
    "alert_source_id": "01GW2G3V0S59R238FAHPDS1R66",
    "attributes": [
      {
        "array_value": [
          {
            "catalog_entry": {
              "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "name": "Primary On-call"
            },
            "label": "Payments Team",
            "literal": "SEV123"
          }
        ],
        "attribute": {
          "array": false,
          "emoji": "fire",
          "id": "01GW2G3V0S59R238FAHPDS1R66",
          "name": "service",
          "required": false,
          "type": "CatalogEntry[\"01GW2G3V0S59R238FAHPDS1R67\"]"
        },
        "value": {
          "catalog_entry": {
            "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
            "id": "01FCNDV6P870EA6S7TK1DSYDG0",
            "name": "Primary On-call"
          },
          "label": "Payments Team",
          "literal": "SEV123"
        }
      }
    ],
    "created_at": "2021-08-17T13:28:57.801578Z",
    "deduplication_key": "4293868629",
    "description": "CPU on the payments service has exceeded 75 percent for 5 minutes",
    "id": "01GW2G3V0S59R238FAHPDS1R66",
    "resolved_at": "2021-08-17T14:28:57.801578Z",
    "source_url": "https://www.my-alerting-platform.com/alerts/my-alert-123",
    "status": "firing",
    "title": "*errors.withMessage: PG::Error failed to connect",
    "updated_at": "2021-08-17T13:28:57.801578Z"
  }
]
pagination_meta
object
required
Example:
{
  "after": "01FCNDV6P870EA6S7TK1DSYDG0",
  "page_size": 25
}