---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Filter API - Android

# Filter API - Android {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

The Filter class provides the ability to configure filters that
define the data to return in the return results of a REST endpoint query.
{#FilterAndroidAPI__table_vx2_klw_5pb__entry__3}

| Name | Type | Description |
|-|-|-|
| queryItems | Map\<String, String\> | Collection of query items representing the filter. |
[Table 1. Properties]

{#FilterAndroidAPI__table_vx2_klw_5pb}

## Filter - Filter(conditions: List\<Condition\>, keywords: String? = null, sortBy:
List\<Sort\>? = null) {#ariaid-title2}

Creates a filter based on specific keywords and conditions that can be OR'd or AND'd
together.
{#Filter-Filter_cond_A_S_A__table_yzp_jz2_4qb__entry__3}

| Name | Type | Description |
|-|-|-|
| conditions | List\<Condition\> | Simple or compound conditions to add to the query. Possible conditions: * BooleanSimpleCondition: Conditions available for boolean record fields. * DateSimpleTimeCondition: Conditions available for date-time record fields. * EmailSimpleCondition: Conditions available for email fields. * IntegerChoiceSimpleCondition: Conditions available for integer choice fields. * NumericSimpleCondition: Conditions available for various numeric fields. * ReferenceSimpleCondition: Condition operators available for reference record fields. * StringChoiceSimpleCondition: Condition operators available for choice record fields containing strings. * StringSimpleCondition: Condition operators available for string record fields. * CompoundCondition: Allows you to group SimpleConditions into a compound condition using ConditionUtils.CompoundOperator connectors. {#Filter-Filter_cond_A_S_A__ul_hx1_yf5_tqb} |
| keywords | String | Optional. Any specific word or phrase to search for. Default: nil - No specific word search. |
| sortBy | List\<Sort\> | Optional. List of record field names and the associated sort order constant to sort the returned records by. For example: `val sortBy = listOf("zipcode", ORDER_DESC)` If you include multiple sort fields, each subsequent field is a further sort of the prior field(s). Valid sort values: * ORDER_ASC: Sort ascending * ORDER_DESC: Sort descending {#Filter-Filter_cond_A_S_A__ul_nws_tcf_4qb} Default: ORDER_ASC |
[Table 2. Parameters]

{#Filter-Filter_cond_A_S_A__table_yzp_jz2_4qb} {#Filter-Filter_cond_A_S_A__table_zzp_jz2_4qb__entry__2}

| Type | Description |
|-|-|
| None |   |
[Table 3. Returns]

{#Filter-Filter_cond_A_S_A__table_zzp_jz2_4qb}  
<br />

    // Where the record is active 

    val condition1 = BooleanSimpleCondition.conditionIs("active", true) 

    // AND the date value of the SLA due field is on "today" or any date after today. 

    val condition2 = DateSimpleTimeCondition.atOrAfter("sla_due", 0, ConditionUtils.DateTimeValueOperator.daysAgoStart) 

    val filter = Filter(conditions = listOf(condition1, condition2))  

## Filter - Filter(criteriaList: List\<Criteria\>, sortBy: List\<Sort\>? = null) {#ariaid-title3}

Creates a filter based on one or more filter criteria that are OR'd together.
{#Filter-Filter_criteria_A_A__table_ebq_fbz_nqb__entry__3}

| Name | Type | Description |
|-|-|-|
| criteriaList | List\<Criteria\> | Top level criteria conditions to group with `OR` connectors. |
| sortBy | List\<Sort\> | Optional. List of record field names and the associated sort order constant to sort the returned records by. For example: `val sortBy = listOf("zipcode", ORDER_DESC)` If you include multiple sort fields, each subsequent field is a further sort of the prior field(s). Valid sort values: * ORDER_ASC: Sort ascending * ORDER_DESC: Sort descending {#Filter-Filter_criteria_A_A__ul_nws_tcf_4qb} Default: ORDER_ASC |
[Table 4. Parameters]

{#Filter-Filter_criteria_A_A__table_ebq_fbz_nqb} {#Filter-Filter_criteria_A_A__table_fbq_fbz_nqb__entry__2}

| Type | Description |
|-|-|
| None |   |
[Table 5. Returns]

{#Filter-Filter_criteria_A_A__table_fbq_fbz_nqb}  
<br />

    val activeIncidents = BooleanSimpleCondition.conditionIs("active", true)
    val assignedToEmpty = StringSimpleCondition.isEmpty("assigned_to")
    val assignedToAbel = StringSimpleCondition.conditionIs("assigned_to", "Abel Tuter")
    val assignedToAbelOrEmpty = CompoundCondition(ConditionUtils.CompoundOperator.OR, listOf(assignedToEmpty, assignedToAbel))
    val needToReassign = Criteria().addConditions(listOf(activeIncidents, assignedToAbelOrEmpty))
    val highEscelations = StringSimpleCondition.conditionIs("escalation", "2")
    val overdueEscelations = StringSimpleCondition.conditionIs("escalation", "3")
    val highOrOverdueEscelations = CompoundCondition(ConditionUtils.CompoundOperator.OR, listOf(highEscelations, overdueEscelations))
    val needToHandleEscalation = Criteria().addCondition(highOrOverdueEscelations)
    val myPrioritiesForTodayFilter = Filter(listOf(needToReassign, needToHandleEscalation))


