Skip to content

Filtering

Some of the resources that return lists of elements can be filtered. This includes:

To filter a list of returned objects, q parameter must be added to a GET request, e.g.:

GET /trigger?q=context.proximity==NEAR

Types of filters

There are three types of filtering:

  • Equality: operators EQUALS == and NOT EQUALS !=
  • Range: operators GE1 >= and LE2 <=
  • Like: operator LIKE ~=

1GE - Greater than or equal
2LE - Less than or equal

Filters can be concatenated using AND &, or OR | operators, and grouped by using brackets.

Examples

Get devices with major equal to 3 and minor greater than or equal to 5:

GET /device?q=major==3&minor>=5

Get devices with alias contains "aliaz" and venue name contains "test":

GET /device?q=alias~=aliaz&venue.name~=test

Get devices with major equals 5, 7 or 9:

GET /device?q=major==5|major==7|major==9

Get devices with major 3, and minor 3,4 or 6:

GET /device?q=major==3&(minor==3|minor==4|minor==6)

Available filters

Different entities can be filtered by different properties:

  • Device:
    • Equality (operators ==/!=): lat, lng, major, minor, created, updated, id, name, alias, uniqueId, proximity, deviceType, manager.lastName, venue.name, profile, namespace, instanceId, txPower, interval, manager.id, venue.id, orderId
    • Range (operators >=/<=): lat, lng, major, minor, created, updated, txPower, interval
    • Like (operator ~=): name, alias, manager.lastName, venue.name, namespace, instanceId, uniqueId
  • Manager:
    • Equality (operators ==/!=): created, updated, email, uniqueId, firstName, lastName
    • Range (operators >=/<=): created, updated
    • Like (operator ~=): email, uniqueId, firstName, lastName
  • Trigger:
    • Equality (operators ==/!=): context.proximity
  • Venue:
    • Equality (operators ==/!=): name, description, devicesCount, lat, lng
    • Range (operators >=/<=): devicesCount, lat, lng
    • Like (operator ~=): name, description

Info

Other entities, even if returned on a list, cannot be filtered