Northpass

Welcome to the Northpass Developer Hub!

The Northpass platform was purpose-built for developers to flex their creative muscles. Discover what's possible with our solution so that you can deliver the most impactful experiences within your products.

Start by browsing our guides to learn how to best interact with our APIs. Then, dive into our API Reference to see what's possible.

Get Started    API Reference

Filtering

All endpoints which return a list of API resources support filtering. The filtering can be performed using the filter query param, e.g.:

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[name]=Testing’

Please note the filter param must be URL encoded. In the example above, it’s done by the curl’s —data-urlencode option. You can also do it yourself and pass it as a query param in the URL:

curl --request GET \
  --url 'https://api.northpass.com/v2/courses?filter%5Bname%5D=Testing' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>’

Both queries listed above will return all courses which have the string “Testing” in their name. Each endpoint that supports filtering has a list of attributes that can be used to filter the results. Please visit the API reference to get this list for a specific endpoint.

Apart from using different filter attributes, the Northpass API supports multiple filter predicates which correspond to the following operations:

equal

This predicate performs a strict comparison.

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[name][eq]=Testing'

does not equal

This predicate performs a strict comparison.

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[name][not_eq]=Testing'

contains

This predicate performs a comparison based on the SQL's LIKE operator.

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[name][cont]=Testing'

does not contain

This predicate performs a comparison based on the SQL's LIKE operator.

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[name][not_cont]=Testing'

one of many

This predicate performs a strict comparison.

curl --request GET \
--url 'https://api.northpass.com/v2/courses' \
--header 'Accept: application/json' \
--header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
--data-urlencode 'filter[name][in][]=Testing' \
--data-urlencode 'filter[name][in][]=Working'

Please note the additional [] after the [in] predicate. The trailing [] is required when providing a list of values. When only providing one value, the trailing [] can be used or not, either is supported. For example, the following are identical:

filter[email][eq][email protected]
filter[email][eq][][email protected]

none of many

This predicate performs a strict comparison.

curl --request GET \
--url 'https://api.northpass.com/v2/courses' \
--header 'Accept: application/json' \
--header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
--data-urlencode 'filter[name][not_in][]=Testing' \
--data-urlencode 'filter[name][not_in][]=Working'

comparing numbers

less than

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[enrollments_count][lt]=10'

less than or equal

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[enrollments_count][lteq]=10'

greater than

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[enrollments_count][gt]=10'

greater than or equal

curl --request GET \
  --url 'https://api.northpass.com/v2/courses' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: <INSERT_API_KEY_HERE>' \
  --data-urlencode 'filter[enrollments_count][gteq]=10'

Updated about a year ago


Filtering


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.