Task search filter model structure
Defines the filter model structure for the task search API endpoint and lists the supported filter types, operators, and formats.
The Task search endpoint accepts an AG Grid-compatible filter model in the filter_model request field. This reference describes the supported filter structure, operators, and data types for task searches.
The API expects clients to send valid AG Grid filter models. Filters are validated during deserialization and SQL generation based on operator type and field schema. Invalid combinations result in request errors.
Task search supports text, number, set, and date filters. Each filter type supports a defined set of operators and structures.
Text filters
Use text filters for string-based fields such as IDs, names, and reference values.
The following operators are supported:
equalsnotEqualcontainsnotContainsstartsWithendsWithblanknotBlank
Example: Simple text filter
{
"filter_model": {
"status": {
"filterType": "text",
"type": "contains",
"filter": "review"
}
}
}Example: Combined text filters
Text filters support multiple conditions combined using AND or OR.
{
"filter_model": {
"priority": {
"filterType": "text",
"operator": "OR",
"conditions": [
{
"filterType": "text",
"type": "equals",
"filter": "high"
},
{
"filterType": "text",
"type": "equals",
"filter": "medium"
}
]
}
}
}Number filters
Use number filters for numeric fields. Both integer and floating-point values are supported.
The following operators are supported:
equalsnotEqualgreaterThangreaterThanOrEquallessThanlessThanOrEqualinRangeblanknotBlank
Example: Simple number filter
{
"filter_model": {
"risk_score": {
"filterType": "number",
"type": "greaterThanOrEqual",
"filter": 80
}
}
}Example: inRange number filter
The inRange operator requires both bounds.
{
"filter_model": {
"risk_score": {
"filterType": "number",
"type": "inRange",
"filter": 50,
"filterTo": 80
}
}
}Set filters
Set filters are used for enumerated or discrete values, such as task status or assignment fields.
The following options are available:
"values": null: No filtering applied."values": []: Filter for blank or null values."values": ["A", "B"]: Filter for any of the selected values.
Example: Filter by task status
{
"filter_model": {
"status": {
"filterType": "set",
"values": ["INPROGRESS", "ESCALATED"]
}
}
}Example: Find unassigned tasks
{
"filter_model": {
"assigned_to_id": {
"filterType": "set",
"values": []
}
}
}Date filters
Use date filters for date-time fields such as updated_at. The supported date format is YYYY-MM-DD hh:mm:ss.
The following operators are supported:
equalsnotEqualgreaterThanlessThaninRangeblanknotBlank
Example: Simple date filter
{
"filter_model": {
"updated_at": {
"filterType": "date",
"type": "greaterThan",
"dateFrom": "2026-03-01 00:00:00"
}
}
}Example: inRange date filter
{
"filter_model": {
"updated_at": {
"filterType": "date",
"type": "inRange",
"dateFrom": "2026-03-01 00:00:00",
"dateTo": "2026-03-31 23:59:59"
}
}
}