Query String Filters

Overview

Query string filters allow the API results to be filtered by additional criteria to limit the result set. This is especially useful when querying a collection that could be massive (like CDRs) but you're only interested in results that match certain criteria.

Available Filters

Filter Operates On Description
filter_not_{KEY} {VALUE} Doc include if {KEY} is not {VALUE}
filter_{KEY} {VALUE} Doc included if {KEY} is {VALUE}
has_key {KEY} Doc included if {KEY} is present on the doc
key_missing {KEY} Doc included if {KEY} is not present on the doc
has_value {KEY} Doc included if {KEY} exists and the {VALUE} is non-empty
missing_value {KEY} Doc included if {KEY} is not present or the {VALUE} is empty
created_from {VALUE} Doc included if the created time is greater than or equal to {VALUE}
created_to {VALUE} Doc included if the created time is less than or equal to {VALUE}
modified_from {VALUE} Doc included if the last-modified time is greater than or equal to {VALUE}
modified_to {VALUE} Doc included if the last-modified time is less than or equal to {VALUE}

Keys

Filters can be used on validated keys (those appearing in the schema) and on custom keys (those included by the caller).

{KEY} can be a dot-delimited string representing a JSON key path. So filter_foo.bar.baz=1 would match a doc that had {"foo":{"bar":{"baz":1}}} in it.

Multiple Filters

Filters can be chained together on a query string and will be applied as a boolean AND operation. For example, ?filter_foo=1&has_key=bar will look for docs where foo=1 and the key bar exists on the doc.