Overview
Filtering is in an experimental phase and breaking changes are possible without announcements. Errors occurring when using filters will not be handled with the highest priority.
The SkillEngine API provides a syntax to filter the entities returned and used for a response.
It allows you to find entities with specific properties easily.
Because the SkillEngine API is developed in Django the syntax is fairly similar to the one used by Django.
Current filterable entities are
employees
jobs
job_families
vacancies
courses
Operators
The following operators are supported.
exact
(default)iexact
contains
icontains
startswith
istartswith
endswith
iendswith
gt
gte
lt
lte
is_null
The operators can be used by separating the field and operators with __
like
this
More information on the workings of these operators can be found at Django filter reference.
For some entities additional operators may be available; in those cases the behavior of the additional property will be explained in the API reference of that entity.
Logical operators (AND, OR, NOT)
Multiple filters can be combined using and
and or
; filters can also be
negated by using not
.
The precedence of the operators is
not
,and
,or
equal to the operator precedence of Python and most other programming languages.
Related fields
Related fields can also be filtered, meaning you can limit the jobs returned by filtering on a property of the related job family as follow.
Custom properties
Custom properties can also be used for filtering entities by using the cp_
prefix.
Nuances
When requesting an entity that is filtered out, you will get a 404 Not Found response, while trying to create this entity will result in a 409 Already Exists response.
Addition to other filters
If you have a credential that already has certain filters bound to it, all these filters will be added on top.
Limitations
Complex filters might significantly increase response times and database load, for that reason, the following limitations are in place.
- The number of logical operators can not exceed 5
- Fields allowed for filtering are specified per entity
Was this page helpful?