Check whether a price claim is true
verify_offerCheck a price claim before repeating it. Given a product and a price someone has asserted at a named retailer, returns whether that price is live in WEM's verified catalogue and whether anything cheaper exists. Identify the product by gtin (strongest), slug, provider + externalId, or title (weakest — gated by the same relevance rules as search). Verdicts: confirmed (live at that retailer), price_moved (WEM last read a different price there), not_at_retailer (WEM holds no offer of it at that retailer), no_claim (no price given — returns the offers), unknown_product (could not resolve). unknown_product means the claim could NOT be checked; it never means the claim is false, and must not be reported as one. Every result carries lastConfirmedAt so the answer's freshness is visible. Use this before quoting any price you did not get from WEM.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gtin | No | Product barcode: EAN-13, UPC-A, EAN-8 or GTIN-14. Strongest identifier. | |
| slug | No | WEM canonical slug, as in wem3.ai/pl/{slug}. | |
| price | No | The price being claimed. Omit to ask only what the verified offers are. | |
| title | No | Product title. Weakest identifier — used only when no id is available. | |
| currency | No | ISO 4217 code for the claimed price. Default GBP. | |
| provider | No | Retailer slug for the listing being checked, e.g. 'currys'. | |
| retailer | No | Retailer the price was claimed at — slug or display name. | |
| externalId | No | The retailer's own product id (ASIN, eBay item number). Use with provider. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| offers | Yes | ||
| source | Yes | ||
| product | No | ||
| receipt | Yes | Unsigned citation handle for this answer. Serialises what was already returned. signed is always false. | |
| summary | Yes | Written so quoting it verbatim is accurate. Prefer quoting it to paraphrasing the verdict code. | |
| verdict | Yes | ||
| betterBy | No | Saving from taking `cheapest` over the claimed price. Never negative. | |
| cheapest | No | ||
| identity | No | How the product was identified — a separate question from whether the price checks out. Never present a `strength` of "inferred" as a verified identity. | |
| disclosure | Yes | Affiliate disclosure to relay once per answer. Outbound links are tracked at no extra cost to the buyer. | |
| resolvedBy | No | Which identifier resolved the product. | |
| claimMatched | No | ||
| comparisonSet | No | How wide the comparison behind `cheapest` was. `exhaustive` is always false: WEM does not see every retailer, so `cheapest` is the lowest offer WEM holds, never the lowest that exists. Relay it as such. | |
| lastConfirmedAt | No | When WEM last read these offers — the freshness of this answer. | |
| toleranceApplied | No |