Filtering

An overview of how filtering works in the Kolla Unify APIs

The primary use case for Kolla is to let our customers (you) sync the customer data to your own servers. This gives you the most flexibility on what to do with the data. But sometimes you may want to use filters to grab a subset of data. Or you may want to only get data that has been updated since your last sync.

Filtering list endpoints in the Kolla Unify APIs uses the query parameter filter. The filter parameter accepts a statement using EBNF grammar which is URL encoded when you pass it to the API. Not every endpoint or connector supports the same filters.

Logical and Comparison Operators

The filter statement supports this logical operator (case sensitive): AND (we do not currently support OR but are open to implementing it if needed.

The filter statement supports these comparison operators: =, !=, >, <, >=, <=

When using Literals, put them in single quotes (e.g. name = 'Jason')

Example Filter Statements

Here are some quick examples of some filter statements that can be used for

Filtering appointments by update_time (only sync the appointments that have been created or changed since a certain time)

update_time > '2024-11-11T00:00:00Z'

Fully encoded request URL: https://unify.kolla.dev/dental/v1/contacts?filter=update_time%20%3E%20%272024-11-11T00:00:00Z%27

Filtering contacts by name (this does a search across first, last, and preferred name fields)

name = 'Jason'

Fully encoded request URL: https://unify.kolla.dev/dental/v1/contacts?filter=name=%27Jason%27

Filtering contacts by phone (this does a search across all phone number types)

phone = '801'

Full encoded URL looks like: https://unify.kolla.dev/dental/v1/contacts?filter=phone=%27801%27