View .md

LDAP endpoints (Client API: account)

3 FeatherPanel Client API: account endpoints from user/ldap.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Last synced from FeatherPanel 15b94e9 on .

On this page

Defined in backend/app/routes/user/ldap.php. Authentication used here: Public, Signed-in user. Read Authentication for how to send credentials and Rate limits and errors for the response envelope.

Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.

Endpoints

PUT/api/user/auth/ldap/login

Auth: PublicDefault rate limit: 10 / minute (user-auth)Route name: user-ldap-loginController: LdapController::loginroute source

Login via LDAP Authenticate user against LDAP directory. Supports auto-provisioning if enabled.

Request body: LdapLoginRequest (application/json) · Response data: LoginResponse

Body fieldTypeRequiredDescription
provider_uuidstringyesLDAP provider UUID
usernamestringyesLDAP username
passwordstringyesLDAP password
turnstile_tokenstringnoCloudFlare Turnstile token (required if Turnstile is enabled)
Response data fieldTypeDescription
userobjectUser information
preferencesobjectUser preferences
messagestringSuccess message
curl -X PUT "$PANEL_URL/api/user/auth/ldap/login" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"provider_uuid":"","username":"","password":"","turnstile_token":""}'

Plugin events: featherpanel:auth:login:failed

Responses: 200 User logged in successfully · 400 Bad request - Missing required fields or invalid data · 401 Unauthorized - Invalid credentials or LDAP authentication failed · 403 Forbidden - Provider disabled or auto-provisioning disabled · 404 Not found - Provider not found · 500 Internal server error