Skip to main content
List endpoints return everything by default. Four query parameters let you narrow that down: You can use any of them on their own. Endpoints that support them show a Filterable Fields table on their reference page - that table is the list of field names you’re allowed to use.

Start with one filter

A filter is three parts stuck together: field, operator, value.
That’s status (field) == (equals) pending (value). Add more by separating with commas - every condition has to match:
Then order them, newest first, with - meaning descending:
And take them 50 at a time:
That’s the whole idea. The rest of this page is the detail.
A field name that isn’t on the endpoint’s list is ignored, not rejected. You get a 200 with unfiltered results rather than an error. If a filter seems to do nothing, check the spelling against that endpoint’s Filterable Fields table before looking anywhere else.

Operators

Comparing numbers and dates: Matching text: Text matching is case-sensitive. Add a * to the end of any operator to ignore case:
Field names are always case-insensitive, so dateFrom and datefrom both work.

Matching several values

Separate values with | to match any of them:
Put several fields in brackets to run the same test against each, matching if any one hits:

Values that need care

Enum fields take their numeric value: visibility==0, not visibility==Public. Passing the name matches nothing and returns an empty list. Every value is in Enums & Constants.Order status and gateway are the exceptions - they take the string name, as their field tables show.
dateFrom>=2026-01-01, or with a time dateFrom>=2026-01-01T09:30:00Z.
isBestSeller==true. Anything that isn’t recognisably a boolean counts as false.
These mean something to the parser, so escape them with a backslash:Unescaped, field@=some,value is read as two separate filters.
!= leaves out rows where the field is empty. gateway!=stripe returns orders paid another way, but not orders with no gateway at all.

Two shortcut filters

These aren’t real fields, they’re prepared questions. Pass true; passing false is the same as leaving them out.

Sorting

One field, or several separated by commas. The first is the main order, the rest break ties. - means descending.
When paging through results, sort by something nearly unique. If lots of rows share the same value, their order can shift between requests, so you may see the same row twice or miss one entirely.

Paging

page starts at 1. pageSize defaults to 20 and is capped at 100 - ask for 500 and you get 100, with no error. Responses tell you how many pages there are:
There’s no total item count, so keep requesting pages until you reach pages.
A few endpoints use an older style, with the page in the path and a limit or count parameter:
Their reference pages show what they accept.

Recipes

Real requests you can paste and edit. curl -G with --data-urlencode matters here: filter values are full of =, >, | and *, and letting curl encode them avoids the request being mangled on the way out. Last 30 days of pending orders, newest first
Unanswered 1-2 star reviews
Open tickets from one customer, oldest first
Public best-sellers running low on stock

When it doesn’t work

Last modified on August 2, 2026