Get in touch
Get in touch

Query parameter reference

sort Sorts the results in the response by a specified field and direction.
For example,  sort=property1:asc,property2:desc
pageNo The page number indicating which set of results should be returned in the response.
For example,  pageNo=2
pageSize The number of results to return in the response.
For example,  pageSize=10
q Full text search.
For example,  q=name
facets Facets to be listed.
For example,  facets=type
dateFacets Date Facets
For example,  dateFacets=publishedDate:1d:1w:1M
embed Embed
For example, embed=_all
ids List of Concept ids to be returned (separated by comma).
For example,  ids=id1,id2,id3
filter Filters for the request.
For example,  filter=property1:value1,property2:value2

A filter expression is a string that provides the property, operator and value in the form property:operatorvalue
  • property – a path representing the field to filter on
  • : – separator between property and an operator-value expression
  • operator (optional) – how to compare values(on its own is roughly =)
  • value – the value to match against
Property
Matches:  [a-zA-Z_][a-zA-Z0-9_.]
  • can contain only alpha-numeric characters and _
  • cannot contain whitespace
  • must start with a letter
  • supports . separated paths

Operator
  • - not
  • > greater than
  • >= greater than or equals
  • <less than
  • <= less than or equals
  • [ value, value, ... ] in group

Value
Any string containing the value to match against
  • can contain whitespace
  • dates and datetimes should be in ISO 8601 format

Functions
Special filtering functions for more complex queries. These follow the format  filter=_functionName(arg1, arg2, etc). The following functions are supported:
  • near - Find Concepts within range of a given location. The coordinates can be given either as latitute and longitude in the format  (lat, long) or as a geohash. The following units are supported for distance:
    • mi – miles
    • km – kilometres
    • m – metres
    • cm – centimetres
    • mm – millimetres

    This function requires Concepts to have either a latitude/longitude pair or a geohash property
  • within - Find Concepts within a given area. The coordinates can be given either as latitute and longitude in the format  (lat, long) or as a geohash. 

    If only 2 coordinates are given then the search will be done within a bounding box using those 2 coordinates at the top left and bottom right corners.

    If 3 or more coordinates are given then the search will be done within a polygon with points at those coordinates.

    This function requires Concepts to have either a latitude/longitude pair or a geohash property.
Combinations
  • , – represents AND
  • | – represents OR
  • ( filter expression ) – overrides operator precedence

Examples
  • Get all Concepts where string1 equals value1
    filter=string1:value1
  • Get all Concepts where string1 equals value1 and string2 equals value2
    filter=string1:value1,string2:value2
  • Get all Concepts where string1 equals value1 and string2 does not equal value2
    filter=string1:value1,string2:-value2
  • Get all Concepts created between 2020-01-01 and 2020-02-01
    filter=createdDate:>=2020-01-01,createdDate:2020-02-01
  • Get all Concepts created or modified since 2020-01-01
    filter=createdDate:>=2020-01-01|lastModifiedDate:>=2020-01-01
  • Get all Concepts wherestring1 equals value1 or value2
    filter=string1:[value1,value2]
  • Get all Concepts where string1 equals value1 and it was created or modified since 2020-01-01
    filter=string1:value1,(createdDate:>=2020-01-01|lastModifiedDate:>=2020-01-01)
  • Get all Concepts within 100 miles of coordinates (-40, 70)
    filter=_near((-40, 70), 100mi)
  • Get all Concepts within the polygon with points (-40, 70), (-30, 60), (-35, 60)
    filter=_within((-40, 70) (-30, 60), (-35, 60))
  • Get all Concepts within box with top left corner (-40, 70) and bottom right corner (-30, 60)
    filter=_within((-40, 70) (-30, 60))