Search for security profiles, optionally returning only those linked to the provided list of security roles.

searchProfiles(filters, [options], callback)

Arguments Type Description
filters JSON Object Search query
options JSON Object Optional parameters
callback function Callback handling the response


Option Type Description Default
from number Starting offset 0
queuable boolean Make this request queuable or not true
scroll string Start a scroll session, with a time to live equals to this parameter's value following the Elastisearch time format undefined
size integer Number of hits to return per page 10


Filter Type Description Default
roles array Contains an array roles with a list of role id []

Callback Response

Returns a JSON Object


Copied to clipboard!

// optional: search only for profiles referring the listed roles
JSONObject filters = new JSONObject()
  .put("roles", new JSONArray().put("myrole").put("admin"));

// optional: result pagination configuration
Options options = new Options();
options.setFrom((long) 0);
options.setSize((long) 42);

  .searchProfiles(filters, options, new ResponseListener<SecurityDocumentList>() {
    public void onSuccess(SecurityDocumentList profiles) {
      // Contains a profiles list
      for(Profile profile : profiles.getDocuments()) {


  // Total number of profiles, regardless of pagination
  long total = profiles.getTotal();

  // Available only if a "scroll" option has been provided
  String scrollId = profiles.getScroll()

  public void onError(JSONObject error) {


Callback response:

Copied to clipboard!
  "total": 124,
  "profiles": [
    // array of Profile objects
  // only if a scroll parameter has been provided
  "scrollId": "<scroll identifier>"