POST products/search, which principle 2 does not allow: a list is a GET. The filters take the grammar filter[field][operator]=value, and a field takes the operators of its kind:id. Operators: eq, in.asin, upc, ean, title, note. Operators: eq, like, nlike, null.brand, marketplace, default_supplier, other_supplier, tag. Operators: eq, in, ne, nin, null. They take the name, not the id. GET /api/v1/sa/inventory/products/filter-options answers the brands, the marketplaces and the suppliers of the team, and GET /api/v1/tags the tags. A tag matches whatever the case, and a name the team does not hold answers no product.default_cog, other_cog, total_stock. Operators: eq, ne, gte, lte, between. There is no gt and no lt.preference takes like and dislike; listing_status takes active, inactive, error and no_listing. Operators: eq, in to keep them, ne, nin to drop them.created_at, and the supplier is default_supplier, not supplier_id. A field the list does not serve is ignored; an operator it does not serve answers 400. Several filters in one call narrow each other: the answer holds the rows that match them all.api_key: ********************X-Api-Key: ********************curl --location --globoff 'https://app.sellerassistant.app/api/v1/sa/inventory/products?filter[brand][eq]=&filter[title][like]=&filter[default_supplier][in]=&filter[total_stock][gte]=&filter[default_cog][between]=&filter[note][null]=&filter[id][in]=&filter[asin][eq]=&filter[upc][eq]=&filter[ean][eq]=&filter[marketplace][in]=&filter[other_supplier][in]=&filter[tag][in]=&filter[other_cog][gte]=&filter[preference][eq]=&filter[listing_status][in]=&search=&sort=&page=&per_page=&api_key=%3Capi-key%3E'{
"data": [
{
"id": "P-5XK1S0NQNO",
"team_id": 123,
"user_id": 456,
"default_supplier_id": 5,
"last_selected_supplier_id": 5,
"title": "My Product Title",
"image_url": "https://m.media-amazon.com/images/I/31bzJADEOkL.jpg",
"brand": "Apple",
"attributes": [],
"asin": "B0DGHMNQ5Z",
"marketplace_id": "ATVPDKIKX0DER",
"like_dislike": true,
"default_supplier_name": "Acme Wholesalers",
"default_supplier_website": "acme.com",
"default_supplier_was_deleted": false,
"default_supplier_offer_currency": "USD",
"default_supplier_offer_currency_symbol": "$",
"default_supplier_offer_sku": "SUP-12345",
"default_supplier_offer_cog": 7.5,
"default_supplier_offer_product_code": "029877030712",
"default_supplier_offer_product_code_type": "upc",
"default_supplier_offer_product_title": "Supplier Product Title",
"is_default_supplier_offer_cog_lowest": true,
"lowest_supplier_offer_cog": 7.5,
"supplier_offers_count": 2,
"total_stock": 12,
"notes_count": 1,
"latest_note": "Ask for a better price",
"latest_note_user_name": "John Doe",
"latest_note_updated_at": "2026-09-16T10:42:28Z",
"tags": [
3
],
"listings_summary": [
{
"status": "inactive",
"condition": "new"
}
],
"listing_status": "active",
"external_products": [
{
"id": 1,
"internal_product_id": "P-5XK1S0NQNO",
"team_id": 123,
"user_id": 456,
"platform": "amazon",
"identifier_type": "asin",
"identifier": "B00U26V4VQ",
"marketplace_code": "ATVPDKIKX0DER",
"title": "External Product Title",
"attributes": [],
"source": "Product DB",
"created_at": "2025-12-22T10:00:00Z",
"updated_at": "2025-12-22T12:30:00Z"
}
],
"created_at": "2025-12-22T10:00:00Z",
"updated_at": "2025-12-22T12:30:00Z"
}
],
"meta": {
"pagination": {
"page": 1,
"per_page": 25,
"total": 137,
"last_page": 6
}
}
}