---
title: "List Price Alerts"
method: GET
path: "/price-alerts"
tags: ["price-watches"]
---

# List Price Alerts

`GET /price-alerts`

The price-alerts page: alerts newest first, and the live watches
grouped by trip, each with the leg its newest alert told.

## Response `200`

Successful Response

- PriceAlertsPage
  - `unread` integer, required
  - `alerts` PriceAlertSummary[], required
    - `notification_id` string, required
    - `trip_id` string, required
    - `trip_title` string, nullable
    - `created_at` string, date-time, required
    - `read_at` string, date-time, nullable
    - `kind` string, required
    - `title` string, required
    - `leg` AlertLeg, required — One watched flight as one alert tells it. Every watch on the trip is a leg of the alert; `kind` is drop | rise | check_in for the legs whose policy fired this sweep and None for the rest, carried so the user sees both directions of a trip together.
      - `booking_search` WatchSearch — The re-search that reproduces the watched fare.
        - `kind` 'itinerary' | 'route'
        - `origin` string, required
        - `destination` string, required
        - `outbound_date` string, date, required
        - `return_date` string, date, nullable
        - `adults` integer
        - `children` integer
        - `cabin_class` string
        - `airline` string, nullable
        - `outbound_flights` string[]
        - `return_flights` string[]
        - `max_stops` integer, nullable
      - `watch_id` string, required
      - `kind` string, nullable
      - `watch_kind` 'itinerary' | 'route'
      - `route` string, required
      - `outbound_date` string, date, required
      - `return_date` string, date, nullable
      - `flight_label` string, required
      - `airlines` string[]
      - `airline_logos` string[]
      - `stops` integer, nullable
      - `previous_price` number, required
      - `price` number, nullable
      - `currency` string, required
      - `price_level` string, nullable
      - `typical_price_range` number[], nullable
      - `body` string, required
  - `trips` TripWatches[], required
    - `trip_id` string, required
    - `trip_title` string, nullable
    - `rows` WatchRow[], required
      - `watch` PriceWatchView, required
        - `id` string, required
        - `kind` 'itinerary' | 'route'
        - `journey_id` string, nullable
        - `status` string, required
        - `route` string, required
        - `outbound_date` string, date, required
        - `return_date` string, date, nullable
        - `airline` string, nullable
        - `policy` union, required
          - PeriodicPolicy — A check-in N times a week, whatever the price did.
            - `kind` 'periodic'
            - `times_per_week` integer, required
          - OnChangePolicy — Told when the price moves by at least the user's own percent or amount (either suffices); `DEFAULT_MIN_CHANGE_PCT` when they named neither. A bar of 0 is the user asking to hear about every move.
            - `kind` 'on_change'
            - `min_change_pct` number, nullable
            - `min_change_amount` number, nullable
        - `currency` string, required
        - `saved_price` number, required
        - `last_told_price` number, required
        - `last_price` number, nullable
        - `cheapest_option` string, nullable
        - `price_level` string, nullable
        - `last_checked_at` string, date-time, nullable
        - `last_found_at` string, date-time, nullable
      - `leg` AlertLeg — One watched flight as one alert tells it. Every watch on the trip is a leg of the alert; `kind` is drop | rise | check_in for the legs whose policy fired this sweep and None for the rest, carried so the user sees both directions of a trip together.
        - `booking_search` WatchSearch — The re-search that reproduces the watched fare.
          - `kind` 'itinerary' | 'route'
          - `origin` string, required
          - `destination` string, required
          - `outbound_date` string, date, required
          - `return_date` string, date, nullable
          - `adults` integer
          - `children` integer
          - `cabin_class` string
          - `airline` string, nullable
          - `outbound_flights` string[]
          - `return_flights` string[]
          - `max_stops` integer, nullable
        - `watch_id` string, required
        - `kind` string, nullable
        - `watch_kind` 'itinerary' | 'route'
        - `route` string, required
        - `outbound_date` string, date, required
        - `return_date` string, date, nullable
        - `flight_label` string, required
        - `airlines` string[]
        - `airline_logos` string[]
        - `stops` integer, nullable
        - `previous_price` number, required
        - `price` number, nullable
        - `currency` string, required
        - `price_level` string, nullable
        - `typical_price_range` number[], nullable
        - `body` string, required
      - `alert_id` string, nullable
  - `active_count` integer, required
  - `free_limit` integer, required
  - `tier` string, required

## Changes

- **2026-09-24** `1060a62bfafc` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stardrift/apis/fastapi/changes/price-alerts/get.md)

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/stardrift/apis/fastapi/revisions/dd78fbd6c358?raw)
