This endpoint will search for all the available principals in the local PAS plugins given a query string. We call a principal to any user or group in the system (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 '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": []