🧪 Basic Features
🧪 Advanced Features
Filter (filter[column]
)
The filter query allows you to compare column values using math operators like =, >, >=, <, <=, <>. You can also chain multiple conditions with logical operators.
Basic Comparison
Request
GET /api/users?filter[id]=1
Query Parameters
Name | Type | Description |
---|---|---|
filter[id] | string | Match users with ID = 1 |
Response
[
{ "id": 1, "name": "...", ... }
]
Greater Than
Request
GET /api/users?filter[id]=>1
Response
[
{ "id": 2, "name": "...", ... },
{ "id": 3, "name": "...", ... },
{ "id": 4, "name": "...", ... }
]
Greater Than or Equal To
Request
GET /api/users?filter[id]=>=1
Response
[
{ "id": 1, "name": "...", ... },
{ "id": 2, "name": "...", ... },
{ "id": 3, "name": "...", ... },
...
]
Less Than
Request
GET /api/users?filter[id]=<3
Response
[
{ "id": 1, "name": "...", ... },
{ "id": 2, "name": "...", ... }
]
Less Than or Equal To
Request
GET /api/users?filter[id]=<=3
Response
[
{ "id": 1, "name": "...", ... },
{ "id": 2, "name": "...", ... },
{ "id": 3, "name": "...", ... }
]
Not Equal To
Request
GET /api/users?filter[id]=<>3
Response
[
{ "id": 1, "name": "...", ... },
{ "id": 2, "name": "...", ... },
{ "id": 4, "name": "...", ... },
...
]
Logical Operators
You can combine filtering rules using:
Syntax | Logic Description |
---|---|
filter[and column] | All conditions must be true (AND) |
filter[or column] | At least one condition must be true (OR) |
filter[and! column] | Negate condition (NOT AND) |
filter[or! column] | Negate one of the conditions (NOT OR) |
Example: AND Operator
Request
GET /api/users?filter[id]=>=2&filter[and status]=active
Matches users with ID >= 2 and status is active.
Response
[
{ "id": 2, "status": "active", ... },
{ "id": 4, "status": "active", ... },
...
]
Example: OR Operator
Request
GET /api/users?filter[id]=<3&filter[or status]=guest
Matches users with ID < 3 or status is guest.
Response
[
{ "id": 1, ... },
{ "id": 2, ... },
{ "id": 3, "status": "guest", ... },
...
]
Example: NOT Operator
Request
GET /api/users?filter[id]=<3&filter[and! status]=banned
Excludes users with status=banned where ID < 3.
Response
[
{ "id": 1, "status": "active", },
{ "id": 2, "status": "active" },
...
]