List products
Retrieve products using GraphQL. Supports filtering by code, barcode, description, account, and product type.
Note on all_codes filter: Use this only when you have a code/barcode value and don’t know which field it belongs to. It searches across code, barcode, case_barcode, inner_barcode, and outer_barcode using exact matching.
Query Structure
Filter Argument
All filters are passed inside thefilter argument. Each filter field accepts an input object with operators:
Available Filters
| Filter | Input Type | Operators | Description |
|---|---|---|---|
code | StringInputType | eq, ilike, like, in, between | Product code |
barcode | StringInputType | eq, ilike, like, in, between | Product barcode |
all_codes | StringInputType | eq, ilike, like, in, between | Search across all code/barcode fields (exact match) |
description | StringInputType | eq, ilike, like, in, between | Product description |
account_id | IdInputType | eq, gt, gteq, lt, lteq, in, filled | Filter by account ID |
product_type | StringInputType | eq, ilike, like, in, between | Product type |
Filter Operators
| Input Type | Operators |
|---|---|
| StringInputType | eq (exact), ilike (case-insensitive partial), like (case-sensitive partial), in (array match), between (range) |
| IntegerInputType | eq, gt, gteq, lt, lteq, between |
| DatetimeInputType | eq, from, to, between |
| BooleanInputType | eq (required) |
| IdInputType | eq, gt, gteq, lt, lteq, in, filled |
Authorizations
OAuth 2.0 authentication. Use the client credentials or authorization code flow to obtain an access token.
The subdomain/tenant name identifying which tenant's data to access. Required for all API requests.
Body
GraphQL query string
"query($filter: ProductsFilterType) { products { all(filter: $filter) { edges { node { id code barcode description long_description product_type units_per_case shelf_life_min shelf_life_max commodity_code country_of_manufacture } } } } }"
Query variables including the filter object
{
"filter": { "code": { "ilike": "SKU-001" } }
}
