find_products
Search promotable products by campaign, merchant, category, or free-text query. Omit all filters to list ALL promotable products. Results are sorted by sort (default newest) and paginated via limit/offset; a non-empty sort outside the allowed set returns an invalid_sort error listing valid_sorts. Only products from billing-active merchants are returned. Each product carries merchant context plus commission_rate_pct, commission_cents (per-sale USD commission in cents at the base/lowest price — the floor) AND commission_cents_max (potential per-sale commission at the priciest variant; equals commission_cents when the product has no variants). Actual commission is on the real purchased variant. Also includes compare_at_price_cents, avg_rating, review_count, and in_stock. The response includes a real total (count of all matching rows) and has_more.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order (default newest). `commission` orders by per-product commission (price × merchant rate) DESC. | |
| limit | No | Max results per page (default 25, max 100) | |
| query | No | Free-text match against product title (case-insensitive) | |
| offset | No | Number of results to skip (pagination, default 0) | |
| category | No | Filter by coarse_category | |
| campaign_id | No | Filter to products attached to this campaign (UUID) | |
| merchant_id | No | Filter by merchant (UUID — the merchants.id, not shopify_merchants.id) |