Skip to main content
POST
Preview Watch

Overview

Returns the number of trademarks that would have alerted if this query had been a live watch over the last trial_window_days (default 7). Uses the same evaluation logic as a live watch, so the count is a faithful preview, not a separate query engine. Use it before Create Watch to estimate volume and tune strategies / min_match_tier for similarity watches. Requires the portfolios:manage scope.
Preview is a read-shaped operation, so the Idempotency-Key header is not required. Sending one, as in the example below, is always safe.

Body Parameters

object
required
Same DSL as Create Watch, see the query reference. ID-bearing filters (filters.trademarkIds, filters.ownerId, …) accept the same tm_* / own_* prefixed forms as create.
integer
Backtest window in days (1-365). Default 7.
boolean
Skip the matching marks and return just estimated_match_count. Default false.
integer
Page size for results (1-50). Default 20. Ignored when count_only is true.

Response

string
Always "watch_preview".
integer
Trademarks that would have alerted in the trial window.
array
A page of the actual matching trademarks, in the same summary shape as search results. Omitted when count_only is true.
boolean
Whether more matches exist beyond results. Omitted when count_only is true.
integer
Effective page size used for results. Omitted when count_only is true.
string
Present only when estimated_match_count is an upper bound rather than an exact count (the value is "candidacy_upper_bound"). This happens when the underlying scan is large enough to hit the server-side cap, or the time budget runs out after some matches were already found. Absent when the count is exact.
integer
Echo of the requested window.
string
Request identifier.

Latency and limits

Preview runs synchronously with a server-side time budget of about 20 seconds. class, mark, and owner previews typically complete in a few seconds; similarity previews over broad scopes and long windows are the heaviest and can approach the budget.
  • If the budget runs out after some matches were found, the response is a 200 with a partial count and estimate_basis: "candidacy_upper_bound".
  • If it runs out before any usable result exists, the response is a 504 (see Errors).
  • Concurrent previews are limited per organization; exceeding the limit returns 429 with a Retry-After header. See Rate limits for header semantics.

Errors

504 preview_timeout

Code Examples