---
title: "What a summary rule's next delivery would contain so far"
method: GET
path: "/alert-rules/{rule_id}/preview"
tags: ["Alerts"]
---

# What a summary rule's next delivery would contain so far

`GET /alert-rules/{rule_id}/preview`

## Request

- Base URL: `https://adslighthouse.com/api/v1`
- URL: `https://adslighthouse.com/api/v1/alert-rules/{rule_id}/preview`
- Auth: HTTP bearer

For a summary_digest rule, returns the content its next delivery would send if the period ended now: the period (local days in the rule's time zone, complete false while it runs), checks saved against expected with failed attempts and runs skipped by the allowance, paid ads and advertisers, new and returning advertisers, brand mentions, affiliate IDs and non-compliant affiliates (null when the project tracks no affiliate parameter), policy cases, the top advertisers by observed visibility and links into the app with the period and filters applied. observed is no_checks when no check was saved: every observation count is then unavailable, not zero. The same object, version 1, is the data of the rule's webhook deliveries. Sends nothing.

## Path parameters

- `rule_id` string, required: The alert rule id from list_alert_rules.

## Response `200`

What a summary rule's next delivery would contain so far

- object
  - `rule_id` string, required
  - `next_delivery_at` string, required
  - `summary` object, required
    - `version` unknown, required
    - `test` boolean
    - `cadence` 'daily' | 'weekly', required
    - `project` object, required
      - `id` string, required
      - `name` string, required
    - `brand` string, required
    - `period` object, required
      - `from` string, required
      - `to` string, required
      - `timeZone` string, required
      - `start` string, date-time, required
      - `end` string, date-time, required
      - `complete` boolean, required
    - `filters` object, required
      - `engines` string[], nullable, required
      - `devices` string[], nullable, required
      - `countries` string[], nullable, required
    - `checks` object, required
      - `saved` integer, required
      - `expected` integer, nullable, required
      - `failed` integer, required
      - `skipped` integer, required
    - `observed` 'no_checks' | 'no_ads' | 'ads', required
    - `ads` integer, required
    - `advertisers` integer, required
    - `newAdvertisers` object, required
      - `total` integer, required
      - `items` object[], required
        - `domain` string, required
        - `firstSeen` string, date-time, required
    - `returningAdvertisers` object, required
      - `total` integer, required
      - `items` object[], required
        - `domain` string, required
        - `firstSeen` string, date-time, required
        - `previouslySeen` string, date-time, required
    - `brandMentions` object, required
      - `total` integer, required
      - `items` object[], required
        - `domain` string, required
        - `ads` integer, required
    - `affiliateIds` object, nullable, required
      - `total` integer, required
      - `items` object[], required
        - `id` string, required
        - `name` string, nullable, required
        - `ads` integer, required
    - `nonCompliantAffiliates` object, nullable, required
      - `total` integer, required
      - `items` object[], required
        - `id` string, required
        - `name` string, nullable, required
        - `ads` integer, required
      - `toReview` integer, required
    - `policyCases` object, required
      - `total` integer, required
      - `items` object[], required
        - `advertiser` string, required
        - `rule` string, required
        - `status` string, required
      - `open` integer, required
      - `new` integer, required
    - `topAdvertisers` object[], required
      - `domain` string, required
      - `visibility` number, required
      - `ads` integer, required
    - `links` object, required: Absolute app links with the period's days and the rule's filters applied.
      - `overview` string, required
      - `paidResults` string, required
      - `brandMentions` string, required
      - `affiliates` string, required
      - `nonCompliant` string, required
      - `cases` string, required
  - `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)
