This endpoint will search for all the available principals in the local PAS plugins when given a query string. We define a principal as any user or group in the system. This endpoint requires an authenticated user.

Search Principals#

To retrieve a list of principals given a search string, call the /@principals endpoint with a GET request and a search query parameter:


GET /plone/@principals?search=ploneteam HTTP/1.1
Accept: application/json
Authorization: Basic YWRtaW46c2VjcmV0


curl -i -X GET 'http://nohost/plone/@principals?search=ploneteam' -H "Accept: application/json" --user admin:secret


http 'http://nohost/plone/@principals?search=ploneteam' Accept:application/json -a admin:secret


requests.get('http://nohost/plone/@principals?search=ploneteam', headers={'Accept': 'application/json'}, auth=('admin', 'secret'))

The server will respond with a list of the users and groups in the portal that match the query string:

HTTP/1.1 200 OK
Content-Type: application/json

    "groups": [
            "@id": "http://localhost:55001/plone/@groups/ploneteam",
            "description": "We are Plone",
            "email": "",
            "groupname": "ploneteam",
            "id": "ploneteam",
            "roles": [
            "title": "Plone Team"
    "users": []