Skip to content

Value Filters

Introduction

ValueFilters offer the possibility to alter the query of a GET-request,
so that the response contains only the data you are looking for.

As the name indicates, ValueFilters limit the response of a GET-request by validating whether the value of {field} matches the expression out of {filter} and {value}.

Filters are applied as AND queries. If relation-fields are filtered, there will be a has constraint applied.

Every public field of the entity the endpoint belongs to, as well as every field
of related entities, can be filtered.

Definition

  • {route} - The endpoint you want to retrieve data of

  • ?filter - To identify the incoming URL parameter

  • [{field}] - The field the filter will be applied to

  • [{filter}] - One of the filters listed below. Defaults to value when not provided.

  • =[{value}] - The value(s) that get compared with the value in [{field}]

GET /api/{route}?filter[{field}][{filter}]={value}

TIP

You can apply filters on fields of a related record and even their relations, too.

?filter[user.role.department.title]=TestDepartment

Note that every relation which is accessed with the query will be resolved and returned by the API.

Note

Relations are always in camelCase, while field keys are in snake_case.

Value

This filter operates the same way as a like.

Returns all entries for which the value of {field} is contained in {value}.

GET /api/{route}?filter[{field}][value]={value}

Is Value

Filter that depicts the functionality of the comparison-operator =

Returns the entries for which the value of {field} equals {value}.

GET /api/{route}?filter[{field}][is]={value}

Is Not Value

Filter that depicts the functionality of the comparison-operator !=

Returns all entries for which the value of {field} doesn't equal {value}.

GET /api/{route}?filter[{field}][not]={value}

Greater Than

Filter that depicts the functionality of the comparison-operator >

Returns all entries for which the value of {field} is greater than {value}.

GET /api/{route}?filter[{field}][gt]={value}

Greater Than Equal

Filter that depicts the functionality of the comparison-operator >=

Returns all entries for which the value of {field} is greater than {value} or for which the value of {field} equals {value}.

GET /api/{route}?filter[{field}][gte]={value}

Lower Than

Filter that depicts the functionality of the comparison-operator <.

Returns all entries for which the value of {field} is lower than {value}.

GET /api/{route}?filter[{field}][lt]={value}

Lower Than Equal

Filter that depicts the functionality of the comparison-operator <=.

Returns all entries for which the value of {field} is lower than {value} or for which the value of {field} equals {value}.

GET /api/{route}?filter[{field}][lte]={value}

Is Null / Is Not Null

This filter expects an integer, which can be 0 or 1.

Returns all entries for which the value of {field} is NULL, when {value} is set to 1.

GET /api/{route}?filter[{field}][is_null]={1}

Returns all entries for which the value of {field} is NOT NULL, when {value} is set to 0.

GET /api/{route}?filter[{field}][is_null]={0}

In

This filter expects a string with one or more values, which must be comma-seperated.

Returns all entries for which the value of {field} equals one of the values in {value}.

GET /api/{route}?filter[{field}][in]={value}

Not In

This filter expects a string with multiple values, which must be comma-seperated.

Returns the entries for which the value of {field} doesn't equal one of the values in {value}.

GET /api/{route}?filter[{field}][nin]={value}

Period

This filter expects a string with two date values, which must be comma-seperated.

Returns the entries, that lie between those two dates.

GET /api/{route}?filter[{field}][period]={value}