# API — LDAP Service > **Base URL:** `https://console.gisportal.id/api/v1` > **Auth:** `Authorization: Bearer ` + scope `ldap:read` / `ldap:write` --- ## LDAP Users ### GET /ldap/users List semua user Active Directory. **Response 200:** ```json { "data": [ { "username": "rbsetiawan", "display_name": "R B Setiawan", "email": "rbsetiawan@gisportal.id", "department": "IT", "groups": ["Domain Admins"], "enabled": true } ] } ``` --- ### GET /ldap/users/{username} Detail user LDAP. --- ### PUT /ldap/users/{username} Update user LDAP (scope: `ldap:write`). **Request:** ```json {"display_name": "Nama Baru", "department": "IT Infra"} ``` --- ### POST /ldap/users/{username}/groups Tambah user ke group AD (scope: `ldap:write`). **Request:** ```json {"group": "IT-Admin"} ``` --- ### DELETE /ldap/users/{username}/groups/{group} Hapus user dari group AD (scope: `ldap:write`). --- ## LDAP Groups ### GET /ldap/groups List semua group AD. **Response 200:** ```json { "data": [ {"name": "Domain Admins", "member_count": 3}, {"name": "IT-Admin", "member_count": 5} ] } ``` --- ### GET /ldap/groups/{group} Detail group termasuk daftar member. --- ### POST /ldap/groups Buat group baru di AD (scope: `ldap:write`, admin only). **Request:** ```json {"name": "IT-GIS", "description": "GIS Team"} ``` --- ### POST /ldap/groups/{group}/members Tambah member ke group. **Request:** ```json {"username": "rbsetiawan"} ``` --- ### DELETE /ldap/groups/{group}/members/{username} Hapus member dari group.