Die Methodengruppe Users ist für die Verwaltung der Benutzerauthentifizierung und -sicherheit vorgesehen.
Sie ermöglicht es dem Client, sich mit lokalen Zugangsdaten anzumelden, den Prozess zur Passwortwiederherstellung zu starten oder abzuschließen sowie ein Access Token mithilfe eines Refresh Tokens zu erneuern.
Diese Methoden bilden die grundlegende Ebene der Benutzerinteraktion mit der API und werden verwendet, um eine autorisierte Sitzung zu erhalten und aufrechtzuerhalten.
Documentation
/api/v1/users/local/authenticate
POST
Authentifiziert einen Benutzer mit lokalen Zugangsdaten (E-Mail + Passwort) und erstellt eine Serversitzung.
Bei erfolgreicher Anmeldung gibt der Server den Text OK zurück und setzt Cookies (session_id, access_token, refresh_token),
die für weitere autorisierte Anfragen verwendet werden.
URL
https://quickex.io/api/v1/users/local/authenticate
Authorization Required
Nein (öffentliche Anmeldung mit lokalen Zugangsdaten).
Headers
Accept: application/jsonContent-Type: application/json
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | yes | E-Mail-Adresse des Benutzers. |
password |
string | yes | Passwort des Benutzers. |
browserFingerprint |
string | yes | Ein eindeutiger Browser-Fingerabdruck zum Schutz der Sitzung. |
{
"browserFingerprint": "1231231231231231212312312",
"email": "test@test.com",
"password": "testtest"
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/local/authenticate' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"browserFingerprint": "1231231231231231212312312",
"email": "test@test.com",
"password": "testtest"
}'
Responses
| Code | Body | Description |
|---|---|---|
201 Created |
OK |
Erfolgreiche Authentifizierung. Der Server setzt Cookies mit Sitzungskennungen und Tokens (session_id, access_token, refresh_token). |
400 |
JSON error | Ungültiges Anforderungsformat oder fehlende Pflichtfelder. |
401 |
JSON error | Ungültige Zugangsdaten. |
5xx |
— | Serverfehler. Bitte später erneut versuchen. |
Eine erfolgreiche Antwort enthält die Header Set-Cookie und session-id, die die Benutzersitzung etablieren.
Notes
- Speichern Sie Tokens und Cookies nur an sicheren Orten (HttpOnly/Secure-Cookies, Umgebungsvariablen, geheime Tresore).
browserFingerprintmuss für ein bestimmtes Gerät/einen bestimmten Browser konsistent bleiben.- Nach der Anmeldung verwenden Sie die ausgegebenen Cookies, um geschützte API-v1-Methoden aufzurufen.
Code Sample
curl -X POST \
'https://quickex.io/api/v1/users/local/authenticate' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"browserFingerprint": "1231231231231231212312312",
"email": "test@test.com",
"password": "testtest"
}'Response Example
OkTry it out
Leave empty to use default
Request Body
Headers
Documentation
Leitet den Prozess zum Zurücksetzen des Passworts ein. Ein Wiederherstellungscode wird an die angegebene E-Mail-Adresse gesendet.
Dieser Code muss für die weitere Verwendung mit der Methode /api/v1/users/local/reset-password gespeichert werden.
URL
https://quickex.io/api/v1/users/local/request-password-reset
Authorization Required
Nein (öffentliche Anfrage zum Zurücksetzen des Passworts).
Headers
Accept: application/jsonContent-Type: application/json
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | yes | E-Mail-Adresse des Benutzers, für die das Zurücksetzen angefordert wird. |
{
"email": "user@example.com"
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/local/request-password-reset' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"email": "user@example.com"
}'
Responses
| Status | Body | Description |
|---|---|---|
200 OK |
{"status": "OK"} |
Die Anfrage war erfolgreich. Ein Wiederherstellungscode wurde an die E-Mail-Adresse gesendet. |
400 |
JSON error | Validierungsfehler (z. B. wurde eine ungültige email angegeben). |
5xx |
— | Serverfehler. Bitte später erneut versuchen. |
{
"status": "ERR_VALIDATION",
"message": "Validation Exception",
"data": {
"email": {
"isEmail": "email must be an email"
}
}
}
Notes
- Nach dem Aufruf dieser Methode erhält die angegebene E-Mail-Adresse einen Wiederherstellungscode.
- Speichern Sie diesen Code — er wird für den nächsten Schritt mit der Methode
/api/v1/users/local/reset-passwordbenötigt.- Falls die E-Mail nicht existiert oder ungültig ist, gibt der Server einen Validierungsfehler (400) zurück.
Code Sample
curl -X POST \
'https://quickex.io/api/v1/users/local/request-password-reset' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"email": "user@example.com"
}'Response Example
OkTry it out
Leave empty to use default
Request Body
Headers
Documentation
Vollendet den Prozess zum Zurücksetzen des Passworts. Der Benutzer muss den Wiederherstellungscode angeben,
der per E-Mail als Ergebnis des Aufrufs von /api/v1/users/local/request-password-reset erhalten wurde,
zusammen mit dem neuen Passwort. Bei Erfolg wird das Passwort aktualisiert, und der Benutzer kann sich mit
den neuen Zugangsdaten anmelden.
URL
https://quickex.io/api/v1/users/local/reset-password
Authorization Required
Nein (Wiederherstellungscode wird verwendet).
Headers
Accept: application/jsonContent-Type: application/json
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | yes | E-Mail-Adresse, für die das Zurücksetzen des Passworts durchgeführt wird. |
resetCode |
string | yes | Wiederherstellungscode, der nach dem Aufruf der Methode request-password-reset per E-Mail empfangen wurde. |
password |
string | yes | Neues Passwort. |
{
"resetCode": "1231231231231231212312312",
"password": "testtest",
"email": "test@example.com"
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/local/reset-password' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"resetCode": "1231231231231231212312312",
"password": "testtest",
"email": "test@example.com"
}'
Responses
| Status | Body | Description |
|---|---|---|
200 OK |
{"status":"OK","message":"Password has been reset"} |
Passwort erfolgreich zurückgesetzt. |
401 |
{"status":"ERR_INVALID_PASSWORD_RESET_CODE","message":"Unauthorized"} |
Der angegebene Wiederherstellungscode ist ungültig oder abgelaufen. |
400 |
{"statusCode":400,"error":"Bad Request","message":["email must be an email"]} |
Validierungsfehler (z. B. ungültiges E-Mail-Format). |
5xx |
— | Serverfehler. Bitte später erneut versuchen. |
Notes
- Diese Methode wird nur nach dem Aufruf von
/api/v1/users/local/request-password-resetverwendet.- Der Wiederherstellungscode hat eine begrenzte Gültigkeitsdauer.
- Nach erfolgreichem Zurücksetzen des Passworts melden Sie sich mit den neuen Zugangsdaten über
/api/v1/users/local/authenticatean.
Code Sample
curl -X POST \
'https://quickex.io/api/v1/users/local/reset-password' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"resetCode": "1231231231231231212312312",
"password": "testtest",
"email": "test@example.com"
}'Response Example
OkTry it out
Leave empty to use default
Request Body
Headers
Documentation
Aktualisiert das access_token mithilfe eines refresh_token.
Diese Methode wird verwendet, wenn das aktuelle access_token abgelaufen ist.
Sie gibt ein neues access_token zurück, das für nachfolgende Anfragen an geschützte Endpunkte verwendet werden muss.
URL
https://quickex.io/api/v1/users/authentication/refresh
Authorization Required
Ja (ein gültiges refresh_token im Cookie ist erforderlich).
Headers
Accept: application/jsonContent-Type: application/jsonCookie: refresh_token={REFRESH_TOKEN}
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
browserFingerprint |
string | yes | Eindeitger Browser-Fingerabdruck, derselbe wie bei der Authentifizierung angegeben. |
{
"browserFingerprint": "1231231231231231212312312"
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/authentication/refresh' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--cookie "refresh_token=YOUR_REFRESH_TOKEN" \
-d '{
"browserFingerprint": "1231231231231231212312312"
}'
Responses
| Status | Body | Description |
|---|---|---|
200 OK |
{"access_token":"<NEW_JWT>"} |
Ein neues access_token wurde erfolgreich ausgestellt. |
401 Unauthorized |
{"status":"ERR_INVALID_REFRESH_TOKEN","message":"Unauthorized"} |
Das bereitgestellte refresh_token ist ungültig oder abgelaufen. |
400 Bad Request |
{"statusCode":400,"error":"Bad Request","message":["browserFingerprint must be a string"]} |
Validierungsfehler (z. B. falscher browserFingerprint). |
5xx |
— | Serverfehler. Bitte später erneut versuchen. |
Notes
- Diese Methode dient ausschließlich zur Aktualisierung des
access_token. Ein neuesrefresh_tokenwird nicht ausgegeben.browserFingerprintmuss mit dem übereinstimmen, der beim Login über/api/v1/users/local/authenticateangegeben wurde.- Speichern und übertragen Sie das
refresh_tokenimmer nur in sicheren Cookies (HttpOnly,Secure).
Code Sample
curl -X POST \
'https://quickex.io/api/v1/users/authentication/refresh' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--cookie "refresh_token=YOUR_REFRESH_TOKEN" \
-d '{
"browserFingerprint": "1231231231231231212312312"
}'Try it out
Leave empty to use default
Request Body
Headers
Documentation
Gibt die Kontodaten eines authentifizierten Benutzers zurück: ID, E-Mail und eine Reihe von Berechtigungen.
Wird vom Client nach dem Login verwendet, um verfügbare Bereiche/Aktionen in der Benutzeroberfläche zu bestimmen.
URL
https://quickex.io/api/v1/users/account-data
Authorization Required
Ja — ein gültiges Sitzungscookie, das durch die Methode /api/v1/users/local/authenticate ausgestellt wurde, ist erforderlich.
Headers
Accept: application/json- Cookie (z. B.
session_id=...)
Parameters
Keine
Request Example (cURL)
curl -X GET \
'https://quickex.io/api/v1/users/account-data' \
-H 'Accept: application/json' \
--cookie "session_id=YOUR_SESSION_ID"
Response Example (200)
{
"userId": 42,
"email": "user@example.com",
"permissions": "USER",
"adminPermissionsScope": {
"ORDERS": { "READ": true, "CONFIGURE": false, "PROCESS": true, "CREATE_LARGE_ADDITIONAL_WITHDRAWALS": false, "ENABLE_MANUAL_PROCESSING": false },
"INSTRUMENTS": { "READ": true, "UPDATE": false },
"PAIRS": { "READ": true, "UPDATE": false },
"BESTCHANGE": { "READ": true, "UPDATE": false },
"USERS": { "READ": true, "UPDATE": false },
"API_KEYS": { "READ": true, "UPDATE": false },
"STATS": { "READ": true },
"AFFILIATES": { "READ": true, "UPDATE": false },
"PLATFORM_FEE_COLLECTION": { "READ": true, "UPDATE": false },
"TRANSLATION": { "READ": true, "UPDATE": false }
}
}
Responses
| Code | Body | Description |
|---|---|---|
200 OK |
JSON (siehe Beispiel) | Kontodaten erfolgreich zurückgegeben. |
401 Unauthorized |
{"status":"ERR_UNAUTHORIZED","message":"Unauthorized"} |
Sitzung fehlt oder ist abgelaufen; erneute Authentifizierung erforderlich. |
5xx |
— | Interner Serverfehler. |
Notes
adminPermissionsScopebeschreibt die Rechte der Subsysteme (lesen/aktualisieren/verarbeiten usw.).- Wenn das Frontend keine administrativen Rechte benötigt, können nur die Felder
userId,permissionsgenutzt werden.- Um die Sitzung zu erneuern, verwenden Sie die Methode
/api/v1/users/authentication/refresh(falls in Ihrem Flow vorgesehen).
Code Sample
curl -X 'GET' \
'https://quickex.io/api/v1/users/account-data' \
-H 'accept: application/json'
--cookie "access_token=YOUR_TOKEN"Response Example
{
"userId": 0,
"email": "string",
"permissions": "string",
"adminPermissionsScope": {
"ORDERS": {
"READ": true,
"CONFIGURE": false,
"PROCESS": true,
"CREATE_LARGE_ADDITIONAL_WITHDRAWALS": false,
"ENABLE_MANUAL_PROCESSING": false
},
"INSTRUMENTS": {
"READ": true,
"UPDATE": false
},
"PAIRS": {
"READ": true,
"UPDATE": false
},
"BESTCHANGE": {
"READ": true,
"UPDATE": false
},
"USERS": {
"READ": true,
"UPDATE": false
},
"API_KEYS": {
"READ": true,
"UPDATE": false
},
"STATS": {
"READ": true
},
"AFFILIATES": {
"READ": true,
"UPDATE": false
},
"PLATFORM_FEE_COLLECTION": {
"READ": true,
"UPDATE": false
},
"TRANSLATION": {
"READ": true,
"UPDATE": false
}
}
}Try it out
Leave empty to use default
Headers
Documentation
Beendet die aktuelle Benutzersitzung.
Wird verwendet, um sich abzumelden und aktive Authentifizierungstokens (oder Cookies) ungültig zu machen.
URL
https://quickex.io/api/v1/users/authentication/logout
Authorization Required
Ja — der Benutzer muss authentifiziert sein.
Headers
Accept: application/json
Request Body
Nicht erforderlich (es wird ein leerer Body gesendet).
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/authentication/logout' \
-H 'Accept: application/json' \
--cookie "session_id=YOUR_SESSION_ID" \
-d ''
Response Example (201)
OK
Responses
| Code | Description |
|---|---|
201 Created |
Abmeldung erfolgreich abgeschlossen, die aktuelle Sitzung wurde beendet. |
200 OK |
Der Server kann auch eine erfolgreiche 200-Antwort (im JSON-Format) zurückgeben. |
401 Unauthorized |
Versuch, sich ohne aktive Sitzung oder mit ungültigen Tokens abzumelden. |
Notes
- Diese Methode beendet nur die aktuelle Sitzung. Wenn der Benutzer auf mehreren Geräten eingeloggt ist, bleiben die Sitzungen auf anderen Geräten aktiv.
- Nach dem Aufruf dieser Methode muss sich der Benutzer erneut authentifizieren, um auf private Methoden zuzugreifen.
- Wenn das Cookie oder Token vor dem Aufruf dieser Methode abgelaufen ist, gibt der Server einen
401 Unauthorized-Fehler zurück.
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v1/users/authentication/logout' \
-H 'accept: application/json' \
--cookie "access_token=YOUR_TOKEN" \
-d ''Response Example
OKTry it out
Leave empty to use default
Request Body
Headers
Documentation
Erzeugt einen neuen API-Schlüssel für den authentifizierten Benutzer.
Der Schlüssel besteht aus einem Paar: publicKey und secretKey, die bei der Arbeit mit API v2-Methoden verwendet werden.
Zusätzlich können eine Liste vertrauenswürdiger IP-Adressen (Whitelist) und der Aktivstatus des Schlüssels angegeben werden.
URL
https://quickex.io/api/v1/users/generate-api-key
Authorization Required
Ja — die Methode ist nur für eingeloggte Benutzer verfügbar.
Headers
Accept: application/jsonContent-Type: application/json- Session Cookie (
session_id=...)
Request Body (JSON)
{
"name": "Api name / App name",
"whiteListIp": [
"127.0.0.1",
"127.0.0.2"
],
"isActive": true
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/generate-api-key' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--cookie "session_id=YOUR_SESSION_ID" \
-d '{
"name": "Api name / App name",
"whiteListIp": ["127.0.0.1", "127.0.0.2"],
"isActive": true
}'
Response Example (200)
{
"apiId": 1,
"name": "Api name / App name",
"publicKey": "pk_123456789",
"secretKey": "sk_987654321",
"whiteListIp": ["127.0.0.1","127.0.0.2"],
"isActive": true,
"createdAt": "2025-08-26 12:16:20"
}
Responses
| Code | Description |
|---|---|
200 OK |
Schlüssel erfolgreich erstellt. Die Antwort enthält ein Objekt mit publicKey und secretKey. |
401 Unauthorized |
Benutzer ist nicht authentifiziert oder die Sitzung ist abgelaufen. |
400 Bad Request |
Eingabevalidierungsfehler. |
Notes
- Public Key wird verwendet, um den Client zu identifizieren.
- Secret Key wird ausschließlich vom Benutzer gespeichert und dient zur Signierung von Anfragen in API v2.
- Es wird empfohlen, die Nutzung des API-Schlüssels über IP-Beschränkungen (
whiteListIp) zusätzlich abzusichern.- Wenn der
secretKeyverloren geht, kann er nicht wiederhergestellt werden — es muss ein neuer Schlüssel erstellt werden.
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v1/users/generate-api-key' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
--cookie "access_token=YOUR_TOKEN" \
-d '{
"name": "Api name / App name",
"whiteListIp": [
"127.0.0.1",
"127.0.0.2"
],
"isActive": false
}'Try it out
Leave empty to use default
Request Body
Headers
Documentation
Gibt eine Liste aller vom Benutzer erstellten API-Schlüssel zurück.
Die Methode ermöglicht das Anzeigen aktiver und inaktiver Schlüssel, ihrer Parameter (Name, IP-Whitelist, Status)
sowie des Erstellungsdatums. Wird zur Verwaltung der Schlüssel im Benutzerkonto verwendet.
URL
https://quickex.io/api/v1/users/list-api-key
Authorization Required
Ja — der Benutzer muss authentifiziert sein (Sitzungscookie oder Access Token).
Parameters
Keine
Request Example (cURL)
curl -X GET \
'https://quickex.io/api/v1/users/list-api-key' \
-H 'Accept: application/json' \
--cookie "session_id=YOUR_SESSION_ID"
Response Example (200)
[
{
"apiId": 1,
"name": "Api name / App name",
"publicKey": "pk_123456789",
"whiteListIp": [
"127.0.0.1",
"127.0.0.2"
],
"isActive": true,
"createdAt": "2025-08-26 12:16:20"
}
]
Responses
| Code | Description |
|---|---|
200 OK |
Liste der Schlüssel erfolgreich abgerufen. |
401 Unauthorized |
Benutzer ist nicht authentifiziert oder die Sitzung ist abgelaufen. |
400 Bad Request |
Eingabevalidierungsfehler (bei dieser Anfrage selten). |
Notes
publicKeywird in den Headern der API-v2-Anfragen verwendet.secretKeywird nur bei der Erstellung über/generate-api-keyzurückgegeben und erscheint nicht in der Liste.whiteListIpbeschränkt die Nutzung des Schlüssels ausschließlich auf die angegebenen IP-Adressen.- Zum Deaktivieren oder Löschen eines Schlüssels müssen separate Verwaltungsmethoden verwendet werden (falls verfügbar).
Code Sample
curl -X 'GET' \
'https://quickex.io/api/v1/users/list-api-key' \
-H 'accept: application/json'
--cookie "access_token=YOUR_TOKEN"Response Example
[
{
"apiId": 1,
"name": "Api name / App name",
"publicKey": "gdsfdgdsdsgds",
"whiteListIp": [
"127.0.0.1",
"127.0.0.2"
],
"isActive": false,
"createdAt": "2022-12-14 12:16:20"
}
]Try it out
Leave empty to use default
Headers
Documentation
Löscht einen zuvor generierten API-Schlüssel.
Nach der Löschung wird der Schlüssel ungültig und kann nicht mehr zur Authentifizierung von API-v2-Anfragen verwendet werden.
URL
https://quickex.io/api/v1/users/delete-api-key
Authorization Required
Ja — die Methode ist nur für authentifizierte Benutzer verfügbar.
Headers
Accept: application/jsonContent-Type: application/json- Session-Cookie (
session_id=...)
Request Body (JSON)
{
"apiId": 1
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/users/delete-api-key' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--cookie "session_id=YOUR_SESSION_ID" \
-d '{
"apiId": 1
}'
Response Example (200)
true
Responses
| Code | Description |
|---|---|
200 OK |
Schlüssel erfolgreich gelöscht, true wird zurückgegeben. |
401 Unauthorized |
Der Benutzer ist nicht authentifiziert oder die Sitzung ist abgelaufen. |
400 Bad Request |
Eingabevalidierungsfehler (z. B. ungültige apiId). |
Notes
- Nach der Löschung kann der Schlüssel nicht wiederhergestellt werden. Um API v2 zu nutzen, muss ein neuer Schlüssel generiert werden.
- Die Methode akzeptiert nur den Schlüsselbezeichner (
apiId), der aus der Schlüsselliste (/api/v1/users/list-api-key) stammt.- Das Löschen wird empfohlen, wenn der Schlüssel kompromittiert wurde oder die Integration nicht mehr benötigt wird.
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v1/users/delete-api-key' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
--cookie "access_token=YOUR_TOKEN" \
-d '{
"apiId": 1
}'Try it out
Leave empty to use default
Request Body
Headers
Documentation
Gibt den aktuellen KYC-Status (Know Your Customer) des authentifizierten Benutzers zurück.
Diese Methode wird verwendet, um zu prüfen, ob der Benutzer die Identitätsverifizierung bestanden hat,
sowie um den Ablehnungsgrund zu erhalten, falls die Verifizierung nicht erfolgreich war.
URL
https://quickex.io/api/v1/users/kyc/status
Authorization Required
Ja — eine gültige Benutzersitzung ist erforderlich.
Headers
Accept: application/json- Session-Cookie (
access_token=...)
Parameters
Keine
Request Example (cURL)
curl -X GET \
'https://quickex.io/api/v1/users/kyc/status' \
-H 'Accept: application/json' \
--cookie "access_token=YOUR_TOKEN"
Example Response (200)
{
"status": "PASS",
"rejectReason": "ID_INFO_INVALID"
}
Possible status values
PENDING— Dokumentenprüfung läuft.PASS— Verifizierung erfolgreich abgeschlossen.REJECTED— Verifizierung abgelehnt.
Responses
| Status | Description |
|---|---|
200 OK |
Gibt den KYC-Status und den Ablehnungsgrund zurück (falls zutreffend). |
401 Unauthorized |
Der Benutzer ist nicht autorisiert oder die Sitzung ist abgelaufen. |
400 Bad Request |
Validierungsfehler (z. B. ungültige Sitzungsdaten). |
Notes
- Diese Methode gibt nur den Status zurück — das Hochladen von Dokumenten für KYC erfolgt über andere Methoden.
- Das Feld
rejectReasonerscheint nur, wenn der StatusREJECTEDist oder die Verifizierung abgelehnt wurde.- Statuswerte können zur Anzeige des Fortschritts im Benutzer-Dashboard verwendet werden.
Code Sample
curl -X GET \
'https://quickex.io/api/v1/users/kyc/status' \
-H 'Accept: application/json' \
--cookie "access_token=YOUR_TOKEN"Try it out
Leave empty to use default