This version of the API docs is depreciated and will be taken offline soon.
Please migrate to the new version as soon as possible to avoid service disruption.
New version can be found at https://docs.wceaapi.org/
WCEA API supports advanced querying on endpoints, as well as parameterization and partial fields.
However, this is not available on all endpoints.
- On endpoints that support these advanced features, searches can be performed using a
?q=
parameter on theGET
endpoint. - Results can be parameterized using
?limit=
and?offset=
parameters on theGET
endpoint. - Partial data can be obtained using a
?fields=
parameter on theGET
endpoint.
All of the above options can be combined to make even more complex queries.
More Advanced Queries
Within the q
parameter, more fine-grained queries can be issued.
For example: ?q=(name[lk]:Bob)
In this example, [lk]
means find results where name
is LIKE Bob
Below is a list of all possible types of operators:
[eq] | Equality operator, e.g: ?q=(name[eq]:Bob) , equality operator is the default operator, so ?q=(name:Bob) will produce the same results. |
---|---|
[xeq] | Inequality operator, e.g: ?q=(name[xeq]:Bob) , analogous to name <> Bob |
[gt] | Greater-than operator, e.g: ?q=(number[gt]:10) , analogous to number > 10 |
[gte] | Greater-than-or-equal-to operator, e.g: ?q=(number[gte]:10) , analogous to number >= 10 |
[lt] | Less-than operator, e.g: ?q=(number[lt]:10) , analogous to number < 10 |
[lte] | Less-than-or-equal-to operator, e.g: ?q=(number[lte]:10) , analogous to number <= 10 |
[lk] | Like or Contains operator, e.g: ?q=(name[lk]:Bob) , analogous to name LIKE %Bob% |
[xlk] | Not-Like or Not-Contains operator, e.g: ?q=(name[xlk]:Bob) , analogous to name NOT LIKE %Bob% |
[bw] | Begins-With operator, e.g: ?q=(name[bw]:Bob) , analogous to name LIKE Bob% |
[xbw] | Not-Begins-With operator, e.g: ?q=(name[xbw]:Bob) , analogous to name NOT LIKE Bob% |
[ew] | Ends-With operator, e.g: ?q=(name[ew]:Bob) , analogous to name LIKE %Bob |
[xew] | Not-Ends-With operator, e.g: ?q=(name[xew]:Bob) , analogous to name NOT LIKE %Bob |
[null] | Null operator, e.g: ?q=(name[null]:true) , analogous to name IS NULL .The same operator can be used for checking NOT NULL values, e.g: ?q=(name[null]:false) , analogous to name IS NOT NULL |
Searching example
This query will return all users whose first and last names are Bob and Smith.
curl http://wceaapi.org/v1/user/?q=(name:Bob, surname:Smith)
Parameterization example
This query will return 20 users starting from the 10th user.
curl http://wceaapi.org/v1/user/?limit=20&offset=10
Partial Fields example
This query will return only the id
and name
fields for all users.
curl http://wceaapi.org/v1/user/?fields=(id, name)
Combined example
This query will return only the id
and name
of 20 users, whose first and last names are Bob and Smith, starting from the 10th user.
curl http://wceaapi.org/v1/user/?fields=(id, name)\ &q=(name:Bob, surname:Smith) &limit=20&offset=10