---
title: "Update Price Watch"
method: PATCH
path: "/price-watches/{watch_id}"
tags: ["price-watches"]
---

# Update Price Watch

`PATCH /price-watches/{watch_id}`

Change a watch's trigger; optionally the trip's other active watches
too. A stopped watch restarts on its new trigger. The reference price
stays: the next move is still measured against the price the user was
last told.

## Path parameters

- `watch_id` string, uuid, required

## Request body

- PolicyUpdate
  - `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; any move when they named neither.
      - `kind` 'on_change'
      - `min_change_pct` number, nullable
      - `min_change_amount` number, nullable
  - `apply_to_trip` boolean

## Response `200`

Successful Response

- PriceWatchList
  - `watches` 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; any move when they named neither.
        - `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

## Other responses

- `422` — Validation Error

## Changes

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

[Change history](https://skmtc.dev/stardrift/apis/fastapi/changes/price-watches/:watch_id/patch.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/f6559d3df7e9?raw)
