---
title: "Trigger Watches Scan"
method: POST
path: "/api/watches/scan"
tags: ["push"]
---

# Trigger Watches Scan

`POST /api/watches/scan`

## Request

- Base URL: `https://api.pointifytravels.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pointifytravels.com/api/watches/scan`
- Auth: none declared

On-demand price-drop scan for the signed-in user.

Wraps ``watch_monitor.scan_and_notify_user`` so the mobile app can
force a re-check from the Watchlist screen. Fails open — any
transport / DB error returns a zeroed summary rather than surfacing
a 5xx to the user.

## Response `200`

Successful Response

- WatchesScanResponse: Summary returned by ``POST /api/watches/scan``. Mirrors ``watch_monitor.scan_and_notify_user``'s dict shape so the mobile client can surface "fired 2, skipped 1" in its toast.
  - `scanned` integer, required
  - `fired` integer, required
  - `skipped` integer, required
  - `details` object

---

[API](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine.md) · [All operations](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/revisions/4350142a4216?raw)
