If you want to manage users through the REST API, this document allows you to send API commands to manage user accounts.
This feature is available Artica v4.50 Service Pack 7 or Artica v4.50 Service Pack 6 Hotfix 20260618-00
"Status": true, "Data": { /* ... */ } }{ "Status": true, "Info": "", "Error": "", "Version": "6.4.99" }{ "Status": false, "Error": "message" }GET /openldap/install: Install the service (async)GET /openldap/uninstall: Uninstall the service (async)GET /openldap/restart: Restart slapd (async)GET /openldap/status: Service stateGET /openldap/backup/now: Trigger a backupGET /openldap/backup/instant: Last backup metadataGET /openldap/backup/import/[filename]: Restore a backup container (async)GET /openldap/set/schedule: Apply the backup scheduleExamples:
curl -s --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock http://localhost/openldap/status | jqcurl -s --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock http://localhost/openldap/restart | jqcurl -s --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock http://localhost/openldap/backup/now | jqcurl -s --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock "http://localhost/openldap/backup/import/Save-2026-06-17.gz" | jqModifiable-attribute whitelist: givenName, sn, mail, title, telephoneNumber, mobile.
POST /openldap/members: Create userGET /openldap/members/[uid]: get user dataPUT /openldap/members/[uid]: Save user dataDELETE /openldap/members/[uid]: Delete memberPOST /openldap/members/[uid]/password: change passwordGET /openldap/members/[uid]/groups: List group
Example create a member
curl -s -X POST --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock -H "Content-Type: application/json" -d '{"login":"jdupont","password":"S3cr3t!","firstname":"Jean","lastname":"Dupont", "email":"jean.dupont@example.com","ou":"example.com","gpid":0}' http://localhost/openldap/members
Example update profile
curl -s -X PUT --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock -H "Content-Type: application/json" -d '{"givenName":"Jean","sn":"Dupont","mail":"j.dupont@example.com","title":"Director","telephoneNumber":"+33123456789","mobile":""}' http://localhost/openldap/members/jdupont | jq
Example delete an user
curl -s -X DELETE --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock http://localhost/openldap/members/jdupont | jq
Example change password
curl -s -X POST --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock -H "Content-Type: application/json" -d '{"password":"N3wPass!"}' http://localhost/openldap/members/jdupont/password | jq
GET /openldap/groups?ou=[ou]: List groupsPOST /openldap/groups: Add a new groupPOST /openldap/groups/[gid]/members/[uid]: Link user to a groupDELETE /openldap/groups/[gid]/members/[uid]: Unlink an user from a groupExample: List groups
curl -s --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock "http://localhost/openldap/groups?ou=example.com" | jq
Example — create a group (+ optionally link a member)
curl -s -X POST --unix-socket $SOCK -H "Content-Type: application/json" -d '{"name":"accountants","ou":"example.com","uid":"jdupont"}' http://localhost/openldap/groups | jq
Example: Link / unlink a member from/to a group
curl -s -X POST --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock http://localhost/openldap/groups/5005/members/jdupont | jq
curl -s -X DELETE --unix-socket /usr/share/artica-postfix/bin/run/articarest.sock http://localhost/openldap/groups/5005/members/jdupont | jq
GET /openldap/ous: List organizations (single OU when Enable Multiple Organizations is disabled )