Create a standing want (watch)
demand.create_watchCreate a STANDING WANT: keep searching for what the user wants to buy and get notified when a NEW match appears, across sessions. Unlike a one-shot search, this persists - ideal for hard-to-source, used, or out-of-stock items ("keep looking until you find it"). Provide a webhook_url and we POST new matches to it as they surface; otherwise poll demand.list_watches. Same query shape and enforced constraints as demand.search. WITHOUT AN API KEY this works too, under limits: no webhooks, three standing wants at a time, a six-hour minimum re-check, and a seven-day life. Any limit applied to your request comes back in notes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | What to keep watching for (3-200 chars) | |
| category | No | Broad kind of thing. Defaults to goods; use services for labour. | |
| min_score | No | Only notify on matches at/above this relevance (0..1, default 0.5) | |
| constraints | No | Machine-evaluable constraints (rules.condition_min, rules.specs). Enforced like demand.search. | |
| description | No | Further detail that did not belong in the title: intended use, acceptable substitutes, what is already ruled out. | |
| price_cents | No | Budget ceiling in cents. $1,200 is 120000. Enforced as a maximum for the life of the watch, so a wrong ceiling means it can never match. | |
| webhook_url | No | https URL we POST new matches to (type: want.matches). Requires an API key - a keyless request naming one is refused rather than silently ignored. | |
| client_token | No | Optional idempotency key (<=128 chars). Retrying with the same token returns the original watch instead of creating a duplicate. (v1.1 §E) | |
| check_interval_minutes | No | How often to re-check, in minutes (>=5 with a key, >=360 without, default 60). A request below the floor is raised and the change reported in `notes`. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Any limit applied to your request, stated plainly rather than applied silently. | |
| watch | Yes | The standing want as stored. | |
| message | No | Human-readable summary. | |
| webhook_secret | No | Shown once, on first creation only. Signs every delivery. |