- Listing Users
- Creating and Editing Users
- Changing Passwords
- List Users with a certain agenda
- List Users with a certain assignment
Listing Users
POST /data/system/client/query
Creating and Editing Users
Create
If available in the universe (i.e. the logged in user has permission to create users):
POST /data/system/client/transitions/create
{
"first_name":"Test First",
"last_name":"Test Last",
"login_name":"test_user_login_name",
"password":"super secret",
"language":2,
"password_validation_period":null,
"locked":false,
"number_of_unsuccessfull_login_attempts":null,
"email":"test@email.com"
}
The language ("2") in the example is german, this ID may be queried in
POST /data/system/language/query
{
"iso_code" : "de"
}
Edit
Every use may at least edit their own entry in system.client:
POST /data/system/client/5/transitions/edit
{
"email":"new@email.com"
}
Changing Passwords
List Users with a certain agenda
POST /data/system/client/query
{
"conds" : {"agenda.name" : "admin"},
"attrs" : {"join":{"system__assignment__assigned_client" : "agenda"}}
}
or
POST /data/system/assignment/query
{
"conds" : {"agenda.name" : "admin"},
"attrs" : {"join":"agenda"}
}
or
{
"conds" : {"agenda.name" : "admin"},
"attrs" : {"join":"agenda", "prefetch" : "assigned_client"}
}
List Users with a certain assignment
In this example, the assignment is bound on core.unit, the agenda is called "site_admin".
POST /data/assignment/core_unit/query
{
"conds" : {"agenda.name" : "site_admin"},
"attrs" : {"join" : "agenda"}
}