API Query Syntax
Table of contents
Syntax Overview
REST collections provide filter, skip, limit and sort support.
- The field in the message is used as the query parameter
- Syntax:
field=[modifiers][operator]match-string
- Syntax:
- When multiple query parameters are supplied these are combined with AND
- When the same query parameter is supplied multiple times, these are combined with OR
Example API Call
GET /api/v1/messages?confirmed=>0&type=broadcast&topic=t1&topic=t2&context=@someprefix&sort=sequence&descending&skip=100&limit=50
This states:
- Filter on
confirmedgreater than 0 - Filter on
typeexactly equal tobroadcast - Filter on
topicexactly equal tot1ort2 - Filter on
contextcontaining the case-sensitive stringsomeprefix - Sort on
sequenceindescendingorder - Paginate with
limitof50andskipof100(e.g. get page 3, with 50/page)
Table of filter operations, which must be the first character of the query string (after the = in the above URL path example)
Operators
Operators are a type of comparison operation to perform against the match string.
| Operator | Description |
|---|---|
= |
Equal |
| (none) | Equal (shortcut) |
@ |
Containing |
^ |
Starts with |
$ |
Ends with |
<< |
Less than |
< |
Less than (shortcut) |
<= |
Less than or equal |
>> |
Greater than |
> |
Greater than (shortcut) |
>= |
Greater than or equal |
Shortcuts are only safe to use when your match string starts with
a-z,A-Z,0-9,-or_.
Modifiers
Modifiers can appear before the operator, to change its behavior.
| Modifier | Description |
|---|---|
! |
Not - negates the match |
: |
Case insensitive |
? |
Treat empty match string as null |
Detailed examples
| Example | Description |
|---|---|
cat |
Equals “cat” |
=cat |
Equals “cat” (same) |
!=cat |
Not equal to “cat” |
:=cat |
Equal to “CAT”, “cat”, “CaT etc. |
!:cat |
Not equal to “CAT”, “cat”, “CaT etc. |
=!cat |
Equal to “!cat” (! is after operator) |
^cats/ |
Starts with “cats/” |
$_cat |
Ends with with “_cat” |
!:^cats/ |
Does not start with “cats/”, “CATs/” etc. |
!$-cat |
Does not end with “-cat” |
?= |
Is null |
!?= |
Is not null |