List products
List products
Returns a paginated list of products belonging to the authenticated merchant’s store, including linked category, app IDs and modifier IDs.
Authentication
Requires a Merchant API key in x-api-key. The key must carry Merchant.product.read.
Query params (FilterProductDto extends PaginationDto)
page(optional, default 1) — page number.per_page(optional, default 10) — page size.name(optional) — case-insensitivecontainsfilter on product name.productCategoryId(optional) — UUID; filter by category.sort(optional) — sort spec over allowed fieldscreatedAt,name(e.g.sort=createdAt:desc).
Response
Returns _metadata (page, per_page, total_page, total_count) and records. Each record includes the product fields plus apps (array of linked app IDs) and modifiers (array of linked modifier IDs); productCategoryId is excluded from each formatted record.
Notas: Records are scoped to the caller’s store. Each formatted record flattens apps/modifiers to arrays of IDs and omits productCategoryId (the related productCategory object is still included via the query). Name filter uses Prisma insensitive contains.
Authentication
Headers
Scope the request to a specific store / account instead of the one resolved from the API key. Aliases: the x-account-id header, or the application_account_id / account_id query parameter.
Query parameters
Case-insensitive partial match on the product name.
Sort by one or more fields, comma-separated.
Allowed fields: createdAt, name
Formats: field (ascending by default), +field, -field, field:asc, field:desc (| also works as the separator).
