Filters are provided as a list of keys and filter specifications. The keys are names of fields that can be returned in the response. Not all fields support filtering. Multiple filters are combined using “AND” logic. For example, to find orders that were created after 2023-01-01 and are not completed the filters could be specified like so:
Request
{
  "created_at": {"from": "2023-01-01"},
  "status": {"neq": "complete"}
}

Filters

eq
any
{ "status" : { "eq" : 1 } }
The value is equal to the given value.
neq
any
{ "sku" : { "neq" : "product1" } }
The value is not equal to the given value.
starts
string
{ "sku" : { "starts" : "abc-" } }
The value starts with the given value (prefix match).
gt
number
{ "order_id" : { "gt" : 5 } }
The value is greater than the given value.
lt
number
{ "order_id" : { "lt" : 5 } }
The value is less than the given value.
gteq
number
{ "order_id" : { "gteq" : 5 } }
The value is greater than or equal to the given value.
lteq
number
{ "order_id" : { "lteq" : 5 } }
The value is less than or equal to the given value.
from
string
{ "created_at" : { "from" : "2014-07-12 14:12:47", "datetime" : true } }
{ "created_at" : { "from" : "2014-07-12" } }
The value is greater than or equal to the given value. If the “datetime” flag is specified the value is compared with the exact timestamp given, otherwise the value is compared with the first second on the given date. The timezone is the merchant’s configured timezone.
to
string
{ "created_at" : { "to" : "2014-07-12 14:12:47", "datetime" : true } }
{ "created_at" : { "to" : "2014-07-12" } }
The value is less than or equal to the given value. If the “datetime” flag is specified the value is compared with the exact timestamp given, otherwise the value is compared with the last second on the given date. The timezone is the merchant’s configured timezone.
in
array
{ "order_id" : { "in" : [ "114", "115" ] } }
The value is equal to one of the given values. This can be used to locate multiple records with one query.
nin
array
{ "status" : { "nin" : [ "new", "complete" ] } }
The value is not equal to any of the given values.
null
integer
{ "target_ship_date" : { "null" : 1 } }
The field’s value is null (has no value).
notnull
integer
{ "target_ship_date" : { "notnull" : 1 } }
The field has a value that is not null.