Filter structure - iOS

concept australia Updated Sep 10, 2026 2 min read FilteriOSStructure.md
Raw file servicenow.com

The Filter structure provides the ability to configure filters that define the data to return in the return results of a REST endpoint query.

Parent Topic:Mobile SDK - iOS

Filter - init(criteria criteriaList: [Criteria], sortBy: [Sort]? = nil, queryCategory: String? = nil)

Creates a filter based on one or more filter criteria that are OR'd together.

Name

Type

Description

criteria

Array

Top level criteria conditions to group with OR connectors.

sortBy

String

Optional. Sort order of the return results.Possible values:

  • asc: Ascending
  • desc: Desending

Default: asc

queryCategory

String

Optional. Name of the query category.Default: None

|Type|Description| |----|-----------| |None| |

The following example shows creating three separate criteria and when passed in, if any of those criteria are met, the record is passed back in the return results.

JavaScript
// All of criteria1 conditions must be metlet criteria1 = Criteria(conditions: …)
// OR all of criteria2 conditions must be metlet criteria2 = Criteria(conditions: …)
// OR all of criteria3 conditions must be metlet criteria3 = Criteria(conditions: …)
let filter = Filter(criterias: [criteria1, criteria2, criteria3])

Filter - init(conditions: [QueryProviding], sorts: [Sort]? = nil)

Creates a filter based on all specified conditions (AND'd together)

Name

Type

Description

conditions

QueryProviding

Conditions to group with an AND connector.Possible values:

  • boolean
  • dateTime
  • email
  • integerChoice
  • numeric
  • reference
  • string
  • stringChoice

sorts

String

Optional. Sort order of the return results.Possible values:

  • asc: Ascending
  • desc: Desending

Default: asc

|Type|Description| |----|-----------| |None| |

The following code example shows how to call this function.

JavaScript
// Where the record is activelet condition1 = Condition.boolean(field: "active", .is(true))
// AND the date value of the SLA due field is on "today" or any date after today.let condition2 = Condition.dateTime(field: "sla_due", .atOrAfter(0, .daysAgoStart))
let filter = Filter(conditions: [condition1, condition2])

Filter - init(query: String, queryCategory: String? = nil)

Creates a filter using a specified encoded query.

Name Type Description
query String Encoded queryEncoded query to use to filter the records to return from the table.
queryCategory String Optional. Name of the query category to use for the query.
Type Description
None

The following code example shows how to call this function.

JavaScript
let query = "active=true^short_descriptionLIKEbroken"let filter = Filter(query: query)

Filter - init(keywords: String? = nil, conditions: [Condition], sortBy: [Sort]? = nil)

Creates a filter based on specific keywords and conditions that are AND'd together.

Name

Type

Description

keywords

String

Optional. Any specific word or phrase to search for.Default: nil - No specific word search.

conditions

String

Conditions to group with an AND connector.Possible values:

  • boolean
  • dateTime
  • email
  • integerChoice
  • numeric
  • reference
  • string
  • stringChoice

sortBy

String

Optional. Sort order of the return results.Possible values:

  • asc: Ascending
  • desc: Desending

Default: asc

|Type|Description| |----|-----------| |None| |
JavaScript
// Keyword that must be found in the recordlet searchTerm = "…"
// AND the specified condition must be metlet condition1 = Condition.email(field: "state", .changesFrom("4"))
let filter = Filter(keywords: searchTerm, condition: condition1)
Search documentation
Search document titles and file paths on the australia branch