EcliPanel protects every non-public endpoint with session-based or API key authentication. When you log in through the REST API, the backend issues a JWT that you pass as aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/thenoname-gurl/EcliPanel/llms.txt
Use this file to discover all available pages before exploring further.
Bearer token on subsequent requests. For automation and integrations, you can create a named API key from the dashboard and use it instead of a session token. This page covers both methods and explains the two-factor authentication (2FA) flow that may be required before a session token is issued.
Session-based authentication
Log in
Send your credentials toPOST /api/auth/login. On success, the backend sets an HTTP-only session cookie and also returns the raw token in the response body so you can store it in your client.
token value and include it in the Authorization header on all subsequent requests:
Log out
Two-factor authentication
If the account has 2FA enabled, the login response does not return a session token. Instead it returns a short-livedtempToken and signals that a second step is required:
tempToken expires in five minutes. Complete the 2FA challenge before it expires.
TOTP (authenticator app)
If you use an authenticator app, pass the current six-digit code from your app along with thetempToken:
Email code
If you prefer to receive a code by email, first request one:Backup code
If you cannot access your authenticator or email, use a one-time backup code:API key authentication
API keys are the recommended method for automation, scripts, and integrations. They do not expire unless you set an expiry date, and they carry a defined set of permissions.Create an API key from the dashboard
Log in to the EcliPanel dashboard and go to Settings. Under the API Keys section, click Create key, give it a name, choose the key type (
client or admin), and optionally set an expiry date and a list of permission scopes. Copy the key value shown — it is only displayed once.Pass the key on every request
Include your API key in the Alternatively, you can use the Both formats are accepted by the backend.
Authorization header using the ApiKey scheme:X-Api-Key header:Key types and permissions
| Type | Who can create | Access level |
|---|---|---|
client | Any authenticated user | Scoped to the permissions array you specify at creation |
admin | System administrators with * permission only | Panel-wide administrative access |
permissions field you provide at creation time is an array of permission strings (for example ["servers:read", "nodes:read"]). If you leave it empty, the key inherits no permissions beyond what the key type allows.
API keys created for another user’s account require the
users:write permission on your own account.401 vs 403 errors
Understanding the difference between these two errors helps you diagnose authentication issues quickly.| Status | Meaning | Common causes |
|---|---|---|
401 Unauthorized | The request has no valid credentials | Missing or expired token, invalid API key, malformed Authorization header |
403 Forbidden | Valid credentials, but insufficient permissions | Your key or session does not have the required permission for the endpoint, or you are trying to access another user’s resources without users:write |
Passkey authentication
EcliPanel supports passkey (WebAuthn) login as an alternative to passwords. The flow starts with a challenge, which you sign with your device, and then submit for verification:GET /api/auth/passkey/authenticate-challenge— retrieve the challengePOST /api/auth/passkey/authenticate— submit the signed response
/api/auth/passkey/register-challenge and /api/auth/passkey/register.