Skip to main content
Beta
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 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