Skip to main content

Task search filter model structure

Abstract

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:

  • equals

  • notEqual

  • contains

  • notContains

  • startsWith

  • endsWith

  • blank

  • notBlank

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:

  • equals

  • notEqual

  • greaterThan

  • greaterThanOrEqual

  • lessThan

  • lessThanOrEqual

  • inRange

  • blank

  • notBlank

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:

  • equals

  • notEqual

  • greaterThan

  • lessThan

  • inRange

  • blank

  • notBlank

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"
  }
 }
}

Additional information