List Products
List Products with optional filtering, sorting, and pagination.
Authentication Required: Requires product:read permission.
Returns latest version of each product by default.
Query Parameters
Filter by product type key
Filter by status
Filter by enrichment status
Filter by computed publish status: draft | live | changed
^(draft|live|changed)$Filter by brand name
Filter by published status
Filter by source
Filter by creator (user ID)
Filter by creation date (ISO 8601)
Filter by creation date (ISO 8601)
Filter by update date (ISO 8601)
Filter by update date (ISO 8601)
Filter to products that have any record (any status) in the given catalog batch.
true: restrict to products with at least one advisory quality finding on their latest scoring run. Products that were never scored, or scored clean, are excluded. NOT best-effort: unlike quality_finding_count on each returned item (which silently omits the count if scoring is unavailable), this filter fails the request -- 503 if the underlying lookup errors, 400 if it matches too many products to filter precisely -- rather than silently returning unfiltered or incomplete results while appearing applied.
Repeatable: key:value
Repeatable: restrict to these exact product keys (max 1000; 400 beyond).
Case-insensitive substring match on product name.
Case-insensitive substring match on product key.
Sort field. One of: brand, created_at, enrichment_score, enrichment_status, key, name, product_type, publish_status, updated_at
^(asc|desc)$1 <= x <= 100x >= 0