---
title: "Alerts fired for the account"
method: GET
path: "/alert-events"
tags: ["Alerts"]
---

# Alerts fired for the account

`GET /alert-events`

## Request

- Base URL: `https://adslighthouse.com/api/v1`
- URL: `https://adslighthouse.com/api/v1/alert-events`
- Auth: HTTP bearer

Lists alerts fired in the window, newest first, across the account or for one project, with their message, facts, channel and delivery status. Types: competitor_new (a new advertiser appeared), competitor_returning (an advertiser returned after 30 days away), hijack_detected (an ad mentions the brand in its copy), affiliate_detected (one of your affiliate IDs was detected).

## Query parameters

- `project_id` string: The project: its id, its brand domain (for example nike.example) or its exact project or brand name. Unknown or ambiguous references return not_found; call list_projects then.
- `type` 'competitor_new' | 'competitor_returning' | 'hijack_detected' | 'affiliate_detected' | 'ranking_drop' | 'nklg_re_enable' | 'ingestion_failed' | 'summary_digest'
- `delivery_status` 'pending' | 'delivered' | 'failed'
- `channel` 'email' | 'webhook' | 'slack'
- `range` '7d' | '14d' | '30d' | '12m' | 'custom': Window ending today: 7d, 14d, 30d (default) or 12m. Use custom with from and to for fixed dates.
- `from` string: First local day, YYYY-MM-DD (custom range).
- `to` string: Last local day, YYYY-MM-DD, included in full (custom range).
- `time_zone` string: IANA time zone for day boundaries, such as America/New_York. Defaults to the time zone of the person the credential acts for.
- `limit` integer: Items per page, 1 to 200.
- `cursor` string: The next_cursor value from the previous page. Omit it for the first page.

## Response `200`

Alerts fired for the account

- object
  - `data` object[], required
    - `id` string, required
    - `project_id` string, nullable, required
    - `brand_name` string, required
    - `type` 'competitor_new' | 'competitor_returning' | 'hijack_detected' | 'affiliate_detected' | 'ranking_drop' | 'nklg_re_enable' | 'ingestion_failed' | 'summary_digest', required
    - `title` string, required
    - `text` string, required
    - `facts` object[], required
      - `label` string, required
      - `value` string, required
    - `fired_at` string, required
    - `channel` 'email' | 'webhook' | 'slack', required
    - `delivery_status` 'pending' | 'delivered' | 'failed', required
    - `evidence_url` string, nullable, required: The saved observation behind the alert, opened in the app after sign-in.
  - `next_cursor` string, nullable, required: Pass as cursor to get the next page; null on the last page.
  - `window` object, required
    - `from` string, required: First local day included, YYYY-MM-DD.
    - `to` string, required: Last local day included, YYYY-MM-DD.
    - `time_zone` string, required
    - `start` string, required: Inclusive start instant, ISO 8601.
    - `end` string, required: Exclusive end instant, ISO 8601.
  - `request_id` string

## Other responses

- `400`: Invalid parameters, cursor or body.
- `401`: Missing, invalid, expired or revoked credential.
- `403`: The credential lacks the write scope, the plan does not include the API, or the allowance is used up.
- `404`: Unknown project, keyword or run in this account.
- `409`: The idempotency key was already used for a different request.
- `429`: Rate limit reached. Retry after the Retry-After seconds.
- `503`: The requested service or file is temporarily unavailable.

---

[API](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api.md) · [All operations](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/revisions/e1a4a40b11a9?raw)
