Core
API v1.x
1

You are currently looking at the documentation of a previous version of Kuzzle. We strongly recommend that you use the latest version. You can also use the version selector in the top menu.

searchUsers #

Searches users.


Query Syntax #

HTTP #

Copied to clipboard!
URL: http://kuzzle:7512/users/_search[?from=0][&size=42][&scroll=<time to live>]
Method: POST
Body:
Copied to clipboard!
{
  "bool": {
    "must": [
      {
        "terms": {
          "profileIds": ["anonymous", "default"]
        }
      },
      {
        "geo_distance": {
          "distance": "10km",
          "pos": {
            "lat": 48.8566140,
            "lon": 2.352222
          }
        }
      }
    ]
  }
}

Other protocols #

Copied to clipboard!
{
  "controller": "security",
  "action": "searchUsers",
  "body": {
    "query": {
      "bool": {
        "must": [
          {
            "in": {
              "profileIds": ["anonymous", "default"]
            }
          },
          {
            "geo_distance": {
              "distance": "10km",
              "pos": {
                "lat": "48.8566140",
                "lon": "2.352222"
              }
            }
          }
        ]
      }
    }
  },
  // optional arguments
  "from": 0,
  "size": 10,
  "scroll": "<time to live>"
}

Arguments #

Optional: #

  • from: the offset from the first result you want to fetch. Usually used with the size argument
  • scroll: create a new forward-only result cursor. This option must be set with a time duration, at the end of which the cursor is destroyed. If set, a cursor identifier named scrollId will be returned in the results. This cursor can then be moved forward using the scrollUsers API action
  • size: the maximum number of users returned in one response page

Body properties #

Optional: #

The search query itself, using the ElasticSearch Query DSL syntax.

If the body is left empty, the result will return all available users.


Response #

Returns an object with the following properties:

  • hits: array of object. Each object describes a found user:
    • _id: user kuid
    • _source: user definition
  • total: total number of users found. Depending on pagination options, this can be greater than the actual number of users in a single result page
Copied to clipboard!
{
  "status": 200,
  "error": null,
  "action": "searchUsers",
  "controller": "security",
  "requestId": "<unique request identifier>",
  "result": {
    "total": 2,
    "hits": [
      {
        "_id": "kuid1",
        "_source": {
          // User content
        }
      },
      {
        "_id": "kuid2",
        "_source" {
          // User content
        }
      }
    ]
  }
}