Skip to content

Filtering Lists

To filter a list endpoint, append the “filter” query string parameter and specify the property you want to filter on. Multiple filters can be separated using a semicolon (ProcessPlan’s standard list delimiter.)

Here is an example.

/api/v4/process_instance_header/list/pending?take=10&skip=0&filter=th_name[ct]Test%20Process;ih_instance_description[ct]Test%20Description

The available filter operators include:

[ct] = contains (use OR in capital letters to add an OR condition to the [ct] filter operator).

[nct] = does not contain

[eq] = equal to

[neq] = not equal to

[sw] = starts with

[empty] = the property is empty

[hasvalue] = the property has a value

[range] = the property is within a range (dates and numbers - see below)


To filter a date property, use the [range] operator. The filter value has the form from..until - two date expressions separated by two periods. Either side may be left empty for an open-ended range.

/api/v4/process_instance_header/list/pending?take=10&skip=0&filter=ih_created_date_local[range]now-7d..now

Each side of the range is either:

  • An absolute date: YYYY-MM-DD, optionally with a time (YYYY-MM-DDTHH:mm or YYYY-MM-DDTHH:mm:ss)

  • A relative expression: start with now, then optionally add or subtract amounts of time (+ / -) and/or snap to the start of a time unit (/)

The available time units are:

UnitMeaning
sseconds
mminutes
hhours
ddays
wweeks
Mmonths
Qquarters
yyears

Casing matters: lowercase m is minutes, capital M is months.

Relative expressions are evaluated left to right. For example, now/M-1M means “snap to the start of the current month, then go back one month” - in other words, the start of last month.

Common examples:

Filter valueMatches dates in…
now-7d..nowthe last 7 days
now/d..now/d+1dtoday
now/d-1d..now/dyesterday
now/w..now/w+1wthis week
now/w-1w..now/wlast week
now/M..now/M+1Mthis month
now/M-1M..now/Mlast month
now/Q-1Q..now/Qlast quarter
now/y..now/y+1ythis year
2026-01-01..2026-02-01all of January 2026
2026-01-01..January 1, 2026 or later
..nowany date up to now

Date ranges include the start and exclude the end (from ≤ date < until), so consecutive ranges like “last month” and “this month” line up exactly with no gap or overlap.


The [range] operator also works for numeric properties. Numeric ranges include both ends (from ≤ value ≤ to), and either side may be left empty for an open-ended range.

/api/v4/process_instance_header/list/pending?take=10&skip=0&filter=ih_progress_percentage[range]10..50

The following comparison operators can also be used for numeric properties.

/api/v4/process_instance_header/list/pending?take=10&skip=0&filter=ih_progress_percentage[gtn]0

[gte] = greater than or equal to

[gtn] = greater than or null

[gt] = greater than

[lte] = less than or equal to

[ltn] = less than or null

[lt] = less than