@JsonRequest
@ApiOperation(value = "Search users", authorizations = @Authorization(value = "read_key"))
@Path("/search")
public CompletableFuture<QueryResult> searchUsers(@Named("project") RequestContext context,
@ApiParam(value = "columns", required = false) List<String> columns,
@ApiParam(value = "filter", required = false) String filter,
@ApiParam(value = "event_filters", required = false) List<UserStorage.EventFilter> event_filter,
@ApiParam(value = "sorting", required = false) Sorting sorting,
@ApiParam(value = "offset", required = false) String offset,
@ApiParam(value = "limit", required = false) Integer limit) {
Expression expression = parseExpression(filter);
limit = limit == null ? 100 : Math.min(5000, limit);
return service.searchUsers(context, columns, expression, event_filter, sorting, limit, offset);
}