# Benutzerverwaltung

## Abrufen einer paginierten Benutzerliste

> \### Abrufen einer paginierten Benutzerliste\
> Dieser Endpunkt ermöglicht es einem Administrator, eine paginierte Liste von Benutzern unter seinem Konto abzurufen. Die Antwort enthält detaillierte Informationen für jeden Benutzer wie persönliche Attribute, Kontaktdaten und Metadaten im Zusammenhang mit ihrem Konto.\
> \*\*Anwendungsbeispiel:\*\*\
> Senden Sie eine \`GET\`-Anfrage an \`client-management/clients/\` mit dem entsprechenden API-KEY-Token im Authorization-Header.\
> \*\*Antwortstruktur:\*\*\
> \- \*\*users\*\* \*(array)\*: Eine Liste von Benutzerobjekten, wobei jedes Objekt\
> &#x20; die folgenden Felder enthält:\
> &#x20; \- \*\*created\_at\*\* \*(string, date-time)\*: Zeitstempel der Benutzererstellung.\
> &#x20; \- \*\*weight\*\* \*(number)\*: Das Gewicht des Benutzers.\
> &#x20; \- \*\*age\*\* \*(string)\*: Das Alter des Benutzers.\
> &#x20; \- \*\*ycom\*\* \*(number)\*: Der YCOM-Wert des Benutzers.\
> &#x20; \- \*\*height\*\* \*(number)\*: Die Größe des Benutzers.\
> &#x20; \- \*\*phone\*\* \*(string)\*: Die Telefonnummer des Benutzers.\
> &#x20; \- \*\*leg\_length\*\* \*(number)\*: Die Beinlänge des Benutzers.\
> &#x20; \- \*\*display\_name\*\* \*(string)\*: Der Anzeigename des Benutzers.\
> &#x20; \- \*\*shoeSize\*\* \*(string)\*: Die Schuhgröße des Benutzers.\
> &#x20; \- \*\*email\*\* \*(string)\*: Die E-Mail-Adresse des Benutzers.\
> &#x20; \- \*\*gender\*\* \*(string)\*: Das Geschlecht des Benutzers.\
> &#x20; \- \*\*brand\*\* \*(string)\*: Die mit dem Benutzer verbundene Marke.\
> &#x20; \- \*\*shoeModel\*\* \*(string)\*: Das Modell des Schuhs des Benutzers.\
> &#x20; \- \*\*user\_uid\*\* \*(string)\*: Der eindeutige Identifikator des Benutzers.\
> \
> \*\*Hinweise:\*\*\
> \- Ein gültiger API-KEY-Token ist erforderlich, um auf diesen Endpunkt zuzugreifen.\
> \- Falls keine Benutzer vorhanden sind oder ein Fehler auftritt, wird eine entsprechende Fehlermeldung\
> &#x20; zurückgegeben.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/":{"get":{"operationId":"client-management_clients_list","summary":"Abrufen einer paginierten Benutzerliste","description":"### Abrufen einer paginierten Benutzerliste\nDieser Endpunkt ermöglicht es einem Administrator, eine paginierte Liste von Benutzern unter seinem Konto abzurufen. Die Antwort enthält detaillierte Informationen für jeden Benutzer wie persönliche Attribute, Kontaktdaten und Metadaten im Zusammenhang mit ihrem Konto.\n**Anwendungsbeispiel:**\nSenden Sie eine `GET`-Anfrage an `client-management/clients/` mit dem entsprechenden API-KEY-Token im Authorization-Header.\n**Antwortstruktur:**\n- **users** *(array)*: Eine Liste von Benutzerobjekten, wobei jedes Objekt\n  die folgenden Felder enthält:\n  - **created_at** *(string, date-time)*: Zeitstempel der Benutzererstellung.\n  - **weight** *(number)*: Das Gewicht des Benutzers.\n  - **age** *(string)*: Das Alter des Benutzers.\n  - **ycom** *(number)*: Der YCOM-Wert des Benutzers.\n  - **height** *(number)*: Die Größe des Benutzers.\n  - **phone** *(string)*: Die Telefonnummer des Benutzers.\n  - **leg_length** *(number)*: Die Beinlänge des Benutzers.\n  - **display_name** *(string)*: Der Anzeigename des Benutzers.\n  - **shoeSize** *(string)*: Die Schuhgröße des Benutzers.\n  - **email** *(string)*: Die E-Mail-Adresse des Benutzers.\n  - **gender** *(string)*: Das Geschlecht des Benutzers.\n  - **brand** *(string)*: Die mit dem Benutzer verbundene Marke.\n  - **shoeModel** *(string)*: Das Modell des Schuhs des Benutzers.\n  - **user_uid** *(string)*: Der eindeutige Identifikator des Benutzers.\n\n**Hinweise:**\n- Ein gültiger API-KEY-Token ist erforderlich, um auf diesen Endpunkt zuzugreifen.\n- Falls keine Benutzer vorhanden sind oder ein Fehler auftritt, wird eine entsprechende Fehlermeldung\n  zurückgegeben.","responses":{"200":{"description":"Die Benutzerliste wurde erfolgreich abgerufen.","content":{"application/json":{"schema":{"required":["users"],"type":"object","properties":{"users":{"description":"Ein Array von Benutzerobjekten.","type":"array","items":{"required":["created_at","weight","age","ycom","height","phone","leg_length","display_name","shoeSize","email","gender","brand","shoeModel","user_uid"],"type":"object","properties":{"created_at":{"description":"Zeitstempel der Benutzererstellung.","type":"string","format":"date-time"},"weight":{"description":"Das Gewicht des Benutzers.","type":"number"},"age":{"description":"Das Alter des Benutzers.","type":"string"},"ycom":{"description":"Der YCOM-Wert des Benutzers.","type":"number"},"height":{"description":"Die Größe des Benutzers.","type":"number"},"phone":{"description":"Die Telefonnummer des Benutzers.","type":"string"},"leg_length":{"description":"Die Beinlänge des Benutzers.","type":"number"},"display_name":{"description":"Der Anzeigename des Benutzers.","type":"string"},"shoeSize":{"description":"Die Schuhgröße des Benutzers.","type":"string"},"email":{"description":"Die E-Mail-Adresse des Benutzers.","type":"string","format":"email"},"gender":{"description":"Das Geschlecht des Benutzers.","type":"string"},"brand":{"description":"Die mit dem Benutzer verbundene Marke.","type":"string"},"shoeModel":{"description":"Das Modell des Schuhs des Benutzers.","type":"string"},"profile_photo":{"description":"Öffentliche URL des Profilfotos des Benutzers.","type":"string","format":"uri"},"user_uid":{"description":"Eindeutiger Identifikator des Benutzers.","type":"string"}}}}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige Abfrageparameter oder fehlende erforderliche Daten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung bei Nichtautorisierung.","type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung bei fehlenden Berechtigungen.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Benutzer nicht gefunden oder Abruf fehlgeschlagen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, wenn keine Benutzer gefunden wurden.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"]}}}}
```

## Einen neuen Benutzer erstellen

> \### Einen neuen Benutzer erstellen\
> Dieser Endpunkt ermöglicht es einem authentifizierten Administrator, einen neuen Benutzer unter seinem Konto zu erstellen. Der Administrator muss die E-Mail-Adresse und den Anzeigenamen des Benutzers angeben und kann optional weitere Felder hinzufügen.\
> \*\*Anwendungsbeispiel:\*\*\
> Senden Sie eine \`POST\`-Anfrage an \`/clients/\` mit einer JSON-Nutzlast, die die erforderlichen Felder enthält. Ein gültiger API-KEY-Token muss im Authorization-Header enthalten sein.\
> \### Anfrageparameter\
> \- \*\*display\_name\*\* (string)\
> \- \*\*email\*\* (string, gültige E-Mail)\
> \- \*\*age\*\* (integer)\
> \- \*\*gender\*\* (male | female)\
> \- \*\*shoeSize\*\* (float)\
> \- \*\*weight\*\* (float)\
> \- \*\*height\*\* (float)\
> \*\*Antwortstruktur:\*\*\
> Bei Erfolg (HTTP 201) gibt der Endpunkt ein JSON-Objekt mit einem \`userData\`-Feld zurück, das die folgenden Schlüssel und Datentypen enthält:\
> \- \*\*user\_uid\*\* \*(string)\*: Ein eindeutiger Identifikator für den neu erstellten\
> &#x20; Benutzer.\
> \
> \- \*\*display\_name\*\* (string)\
> \- \*\*email\*\* (string, gültige E-Mail)\
> \- \*\*age\*\* (integer)\
> \- \*\*gender\*\* (male | female)\
> \- \*\*shoeSize\*\* (float)\
> \- \*\*weight\*\* (float)\
> \- \*\*height\*\* (float)\
> \- \*\*profile\_photo\*\* \*(file, JPEG/PNG)\* - optionales Bild; nur verfügbar\
> &#x20; mit \`multipart/form-data\`.\
> \
> Im Fehlerfall (z.B. fehlende Parameter, nicht autorisierter Zugriff oder ein interner Fehler) wird ein JSON-Objekt mit einem \`error\`-Feld (string) zurückgegeben.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/":{"post":{"operationId":"client-management_clients_create","summary":"Einen neuen Benutzer erstellen","description":"### Einen neuen Benutzer erstellen\nDieser Endpunkt ermöglicht es einem authentifizierten Administrator, einen neuen Benutzer unter seinem Konto zu erstellen. Der Administrator muss die E-Mail-Adresse und den Anzeigenamen des Benutzers angeben und kann optional weitere Felder hinzufügen.\n**Anwendungsbeispiel:**\nSenden Sie eine `POST`-Anfrage an `/clients/` mit einer JSON-Nutzlast, die die erforderlichen Felder enthält. Ein gültiger API-KEY-Token muss im Authorization-Header enthalten sein.\n### Anfrageparameter\n- **display_name** (string)\n- **email** (string, gültige E-Mail)\n- **age** (integer)\n- **gender** (male | female)\n- **shoeSize** (float)\n- **weight** (float)\n- **height** (float)\n**Antwortstruktur:**\nBei Erfolg (HTTP 201) gibt der Endpunkt ein JSON-Objekt mit einem `userData`-Feld zurück, das die folgenden Schlüssel und Datentypen enthält:\n- **user_uid** *(string)*: Ein eindeutiger Identifikator für den neu erstellten\n  Benutzer.\n\n- **display_name** (string)\n- **email** (string, gültige E-Mail)\n- **age** (integer)\n- **gender** (male | female)\n- **shoeSize** (float)\n- **weight** (float)\n- **height** (float)\n- **profile_photo** *(file, JPEG/PNG)* - optionales Bild; nur verfügbar\n  mit `multipart/form-data`.\n\nIm Fehlerfall (z.B. fehlende Parameter, nicht autorisierter Zugriff oder ein interner Fehler) wird ein JSON-Objekt mit einem `error`-Feld (string) zurückgegeben.","responses":{"201":{"description":"Benutzer erfolgreich erstellt.","content":{"application/json":{"schema":{"type":"object","properties":{"userData":{"required":["user_uid","email","display_name"],"type":"object","properties":{"user_uid":{"type":"string"},"display_name":{"type":"string"},"email":{"type":"string"},"age":{"type":"integer"},"gender":{"type":"string"},"shoeSize":{"type":"number","format":"float"},"weight":{"type":"number","format":"float"},"height":{"type":"number","format":"float"},"profile_photo":{"description":"Öffentliche URL des Profilfotos des Benutzers.","type":"string","format":"uri"},"preferable_activities":{"description":"Liste bevorzugter Aktivitäten.","type":"array","items":{"type":"string"}}}}}}}}},"400":{"description":"Ungültige Anfrage - Fehlende oder ungültige Parameter.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung, die das Eingabeproblem beschreibt.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass der Token fehlt oder ungültig ist.","type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer ist nicht berechtigt, Benutzer zu erstellen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Benutzererstellungslimit für Pro-Plan erreicht.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Benutzererstellungslimit für Pro-Plan erreicht","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"display_name":{"type":"string"},"email":{"type":"string"},"age":{"type":"integer"},"gender":{"type":"string"},"shoeSize":{"type":"number"},"weight":{"type":"number"},"height":{"type":"number"},"preferable_activities":{"type":"string","description":"Optionale JSON-kodierte Liste bevorzugter Aktivitätstypen. Erlaubte Werte: 'Running', 'Vertical Jump', 'Weightlifting', 'Mobility Assessment'.\nBeispiel: `[\"Running\", \"Weightlifting\"]`"},"profile_photo":{"type":"string","description":"Optionales JPEG/PNG-Bild."}},"required":["display_name","email","age","gender","shoeSize","weight","height"]}}}}}}}}
```

## Einen Benutzer löschen

> \### Einen Benutzer löschen\
> Dieser Endpunkt ermöglicht es einem authentifizierten Administrator, einen Benutzer aus seinem Konto zu löschen. Der Administrator muss den eindeutigen Identifikator des zu löschenden Benutzers im Anfragekörper angeben.\
> \*\*Anfragekörper:\*\*\
> \- \*\*user\_uid\*\* \*(string, erforderlich)\*: Der eindeutige Identifikator des zu löschenden Benutzers.\
> \*\*Antwortstruktur:\*\*\
> Bei Erfolg (HTTP 200) gibt der Endpunkt ein JSON-Objekt mit einem \*\*message\*\*-Feld vom Typ string zurück, das die Löschung bestätigt. Im Fehlerfall (z.B. wenn die Benutzer-UID fehlt, der Benutzer nicht gefunden wird oder ein interner Fehler auftritt) wird ein JSON-Objekt mit einem \*\*error\*\*-Feld (string) zurückgegeben.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/":{"delete":{"operationId":"client-management_clients_delete","summary":"Einen Benutzer löschen","description":"### Einen Benutzer löschen\nDieser Endpunkt ermöglicht es einem authentifizierten Administrator, einen Benutzer aus seinem Konto zu löschen. Der Administrator muss den eindeutigen Identifikator des zu löschenden Benutzers im Anfragekörper angeben.\n**Anfragekörper:**\n- **user_uid** *(string, erforderlich)*: Der eindeutige Identifikator des zu löschenden Benutzers.\n**Antwortstruktur:**\nBei Erfolg (HTTP 200) gibt der Endpunkt ein JSON-Objekt mit einem **message**-Feld vom Typ string zurück, das die Löschung bestätigt. Im Fehlerfall (z.B. wenn die Benutzer-UID fehlt, der Benutzer nicht gefunden wird oder ein interner Fehler auftritt) wird ein JSON-Objekt mit einem **error**-Feld (string) zurückgegeben.","parameters":[{"schema":{"type":"string"},"name":"user_uid","in":"query","description":"UID des zu löschenden Benutzers","required":true}],"responses":{"200":{"description":"Benutzer erfolgreich gelöscht.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"Bestätigungsmeldung, die anzeigt, dass der Benutzer gelöscht wurde.","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Fehlende erforderliche Benutzer-UID.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung, die anzeigt, dass die Benutzer-UID fehlt.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass der Token fehlt oder ungültig ist.","type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer ist nicht berechtigt, Benutzer zu löschen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Benutzer nicht gefunden oder nicht unter Administrator.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass der Benutzer nicht unter dem Konto des Administrators gefunden wurde.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"]}}}}
```

## Benutzerinformationen aktualisieren

> \### Benutzerinformationen aktualisieren\
> Dieser Endpunkt ermöglicht es einem authentifizierten Administrator, \*\*ausgewählte Felder\*\* eines bestehenden Benutzers mit \*\*Query-String-Parametern\*\* zu aktualisieren.\
> \*\*Erforderlicher Query-Parameter\*\*\
> \- \*\*user\_uid\*\* \*(string)\* - die UID des zu aktualisierenden Benutzers.\
> \*\*Optionale Query-Parameter\*\* - geben Sie einen oder mehrere der folgenden an:\
> \- \*\*display\_name\*\* \*(string)\* - neuer Anzeigename\
> \- \*\*email\*\* \*(string, gültige E-Mail)\* - neue E-Mail-Adresse\
> \- \*\*age\*\* \*(integer)\*\
> \- \*\*gender\*\* \*(string, einer von \`male\`, \`female\`)\*\
> \- \*\*shoeSize\*\* \*(float)\*\
> \- \*\*weight\*\* \*(float)\*\
> \- \*\*height\*\* \*(float)\*\
> \*\*Antwort (HTTP 200)\*\*\
> \`\`\`json { "message": "Benutzerinformationen erfolgreich aktualisiert." } \`\`\`\
> Wenn die Validierung fehlschlägt oder der Benutzer nicht gefunden wird, enthält die Antwort ein \*\*error\*\*-Feld mit Details.

````json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/":{"put":{"operationId":"client-management_clients_update","summary":"Benutzerinformationen aktualisieren","description":"### Benutzerinformationen aktualisieren\nDieser Endpunkt ermöglicht es einem authentifizierten Administrator, **ausgewählte Felder** eines bestehenden Benutzers mit **Query-String-Parametern** zu aktualisieren.\n**Erforderlicher Query-Parameter**\n- **user_uid** *(string)* - die UID des zu aktualisierenden Benutzers.\n**Optionale Query-Parameter** - geben Sie einen oder mehrere der folgenden an:\n- **display_name** *(string)* - neuer Anzeigename\n- **email** *(string, gültige E-Mail)* - neue E-Mail-Adresse\n- **age** *(integer)*\n- **gender** *(string, einer von `male`, `female`)*\n- **shoeSize** *(float)*\n- **weight** *(float)*\n- **height** *(float)*\n**Antwort (HTTP 200)**\n```json { \"message\": \"Benutzerinformationen erfolgreich aktualisiert.\" } ```\nWenn die Validierung fehlschlägt oder der Benutzer nicht gefunden wird, enthält die Antwort ein **error**-Feld mit Details.","responses":{"200":{"description":"Benutzerinformationen erfolgreich aktualisiert.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"Bestätigungsmeldung, die die erfolgreiche Aktualisierung anzeigt.","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Fehlende erforderliche Felder oder ungültige Daten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung, die beschreibt, was schiefgelaufen ist.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass der Token fehlt oder ungültig ist.","type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer ist nicht berechtigt, Benutzerinformationen zu aktualisieren.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"user_uid":{"type":"string"},"display_name":{"type":"string"},"email":{"type":"string"},"age":{"type":"integer"},"gender":{"type":"string"},"shoeSize":{"type":"number"},"weight":{"type":"number"},"height":{"type":"number"},"preferable_activities":{"type":"string","description":"Optionale JSON-kodierte Liste bevorzugter Aktivitätstypen. Erlaubte Werte: 'Running', 'Vertical Jump', 'Weightlifting', 'Mobility Assessment'.\nBeispiel: `[\"Running\", \"Weightlifting\"]`"},"profile_photo":{"type":"string","description":"Optionales JPEG/PNG-Bild."}},"required":["user_uid"]}}}}}}}}
````

## Benutzer filtern und paginieren

> \### Benutzer filtern und paginieren\
> Dieser Endpunkt ermöglicht es einem authentifizierten Administrator, die Benutzer unter seinem Konto zu filtern und zu paginieren. Sie können optional Query-Parameter angeben, um die Paginierung zu steuern:\
> \- \*\*start\_after\_id\*\* \*(string, optional)\*: Die UID, nach der mit dem Abrufen von\
> &#x20; Benutzern begonnen werden soll (für Vorwärtspaginierung).\
> \
> \- \*\*limit\*\* \*(integer, optional)\*: Die maximale Anzahl der abzurufenden Benutzer.\
> &#x20; Standardmäßig 5, falls nicht angegeben.\
> \
> Sie können Benutzer auch nach verschiedenen Kriterien filtern, wie z.B.:\
> \- \*\*admin\_uid\*\* \*(string, optional)\*: Die UID des Administrators, nach der Benutzer\
> &#x20; gefiltert werden sollen.\
> \
> \- \*\*start\_date\*\* \*(string, optional)\*: Untere Grenze (inklusive) für die\
> &#x20; letzte Sitzung des Benutzers im Format \`YYYY-MM-DD\`.\
> \
> \- \*\*end\_date\*\* \*(string, optional)\*: Obere Grenze (inklusive) für die\
> &#x20; letzte Sitzung des Benutzers im Format \`YYYY-MM-DD\`.\
> \
> \- \*\*gender\*\* \*(string, optional)\*: Filter nach Geschlecht (\`male\` oder\
> &#x20; \`female\`).\
> \
> \- \*\*preferable\_activities\*\* \*(array, optional)\*: Filter nach bevorzugten Aktivitäten\
> &#x20; des Benutzers.\
> \
> \*\*Antwortstruktur (HTTP 200):\*\*\
> Die Antwort gibt ein JSON-Objekt mit den folgenden Feldern zurück:\
> \- \*\*query\_count\*\* \*(integer)\*: Gesamtanzahl der Benutzer unter dem Administrator.\
> \- \*\*users\*\* \*(array)\*: Ein Array von Benutzerobjekten. Jedes Benutzerobjekt\
> &#x20; enthält:\
> &#x20; \- \*\*created\_at\*\* \*(string, date-time)\*: Zeitstempel der Benutzererstellung.\
> &#x20; \- \*\*weight\*\* \*(number)\*: Das Gewicht des Benutzers.\
> &#x20; \- \*\*age\*\* \*(string)\*: Das Alter des Benutzers.\
> &#x20; \- \*\*ycom\*\* \*(number)\*: Der YCOM-Wert des Benutzers.\
> &#x20; \- \*\*height\*\* \*(number)\*: Die Größe des Benutzers.\
> &#x20; \- \*\*phone\*\* \*(string)\*: Die Telefonnummer des Benutzers.\
> &#x20; \- \*\*leg\_length\*\* \*(number)\*: Die Beinlänge des Benutzers.\
> &#x20; \- \*\*display\_name\*\* \*(string)\*: Der Anzeigename des Benutzers.\
> &#x20; \- \*\*shoeSize\*\* \*(string)\*: Die Schuhgröße des Benutzers.\
> &#x20; \- \*\*email\*\* \*(string)\*: Die E-Mail-Adresse des Benutzers.\
> &#x20; \- \*\*gender\*\* \*(string)\*: Das Geschlecht des Benutzers.\
> &#x20; \- \*\*brand\*\* \*(string)\*: Die mit dem Benutzer verbundene Marke.\
> &#x20; \- \*\*shoeModel\*\* \*(string)\*: Das Modell des Schuhs des Benutzers.\
> &#x20; \- \*\*user\_uid\*\* \*(string)\*: Der eindeutige Identifikator des Benutzers.\
> \
> \- \*\*first\_uid\*\* \*(string)\*: Die UID des ersten Benutzers auf der aktuellen Seite.\
> \- \*\*last\_uid\*\* \*(string)\*: Die UID des letzten Benutzers auf der aktuellen Seite.\
> \*\*Hinweise:\*\*\
> \- Ein gültiger API-KEY-Token ist erforderlich.\
> \- Wenn keine Benutzer gefunden werden, wird eine Fehlermeldung mit Statuscode\
> &#x20; 404 zurückgegeben.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/filter/":{"get":{"operationId":"client-management_clients_filter_list","summary":"Benutzer filtern und paginieren","description":"### Benutzer filtern und paginieren\nDieser Endpunkt ermöglicht es einem authentifizierten Administrator, die Benutzer unter seinem Konto zu filtern und zu paginieren. Sie können optional Query-Parameter angeben, um die Paginierung zu steuern:\n- **start_after_id** *(string, optional)*: Die UID, nach der mit dem Abrufen von\n  Benutzern begonnen werden soll (für Vorwärtspaginierung).\n\n- **limit** *(integer, optional)*: Die maximale Anzahl der abzurufenden Benutzer.\n  Standardmäßig 5, falls nicht angegeben.\n\nSie können Benutzer auch nach verschiedenen Kriterien filtern, wie z.B.:\n- **admin_uid** *(string, optional)*: Die UID des Administrators, nach der Benutzer\n  gefiltert werden sollen.\n\n- **start_date** *(string, optional)*: Untere Grenze (inklusive) für die\n  letzte Sitzung des Benutzers im Format `YYYY-MM-DD`.\n\n- **end_date** *(string, optional)*: Obere Grenze (inklusive) für die\n  letzte Sitzung des Benutzers im Format `YYYY-MM-DD`.\n\n- **gender** *(string, optional)*: Filter nach Geschlecht (`male` oder\n  `female`).\n\n- **preferable_activities** *(array, optional)*: Filter nach bevorzugten Aktivitäten\n  des Benutzers.\n\n**Antwortstruktur (HTTP 200):**\nDie Antwort gibt ein JSON-Objekt mit den folgenden Feldern zurück:\n- **query_count** *(integer)*: Gesamtanzahl der Benutzer unter dem Administrator.\n- **users** *(array)*: Ein Array von Benutzerobjekten. Jedes Benutzerobjekt\n  enthält:\n  - **created_at** *(string, date-time)*: Zeitstempel der Benutzererstellung.\n  - **weight** *(number)*: Das Gewicht des Benutzers.\n  - **age** *(string)*: Das Alter des Benutzers.\n  - **ycom** *(number)*: Der YCOM-Wert des Benutzers.\n  - **height** *(number)*: Die Größe des Benutzers.\n  - **phone** *(string)*: Die Telefonnummer des Benutzers.\n  - **leg_length** *(number)*: Die Beinlänge des Benutzers.\n  - **display_name** *(string)*: Der Anzeigename des Benutzers.\n  - **shoeSize** *(string)*: Die Schuhgröße des Benutzers.\n  - **email** *(string)*: Die E-Mail-Adresse des Benutzers.\n  - **gender** *(string)*: Das Geschlecht des Benutzers.\n  - **brand** *(string)*: Die mit dem Benutzer verbundene Marke.\n  - **shoeModel** *(string)*: Das Modell des Schuhs des Benutzers.\n  - **user_uid** *(string)*: Der eindeutige Identifikator des Benutzers.\n\n- **first_uid** *(string)*: Die UID des ersten Benutzers auf der aktuellen Seite.\n- **last_uid** *(string)*: Die UID des letzten Benutzers auf der aktuellen Seite.\n**Hinweise:**\n- Ein gültiger API-KEY-Token ist erforderlich.\n- Wenn keine Benutzer gefunden werden, wird eine Fehlermeldung mit Statuscode\n  404 zurückgegeben.","parameters":[{"schema":{"type":"string"},"name":"admin_uid","in":"query","description":"UID des Administrators (der den Benutzer erstellt hat), nach der Benutzer gefiltert werden sollen.","required":false},{"schema":{"type":"string"},"name":"start_date","in":"query","description":"Untere Grenze (inklusive) für *last_session* im Format `YYYY-MM-DD`.","required":false},{"schema":{"type":"string"},"name":"end_date","in":"query","description":"Obere Grenze (inklusive) für *last_session* im Format `YYYY-MM-DD`.","required":false},{"schema":{"type":"string","enum":["male","female"]},"name":"gender","in":"query","description":"Filter nach Geschlecht (`male` oder `female`).","required":false},{"schema":{"type":"string"},"name":"preferable_activities","in":"query","description":"JSON-Array bevorzugter Aktivitäten.","required":false},{"schema":{"type":"string"},"name":"start_after_id","in":"query","required":false},{"schema":{"type":"integer"},"name":"limit","in":"query","required":false}],"responses":{"200":{"description":"Die gefilterte Benutzerliste wurde erfolgreich abgerufen.","content":{"application/json":{"schema":{"required":["query_count","users","first_uid","last_uid"],"type":"object","properties":{"query_count":{"description":"Gesamtanzahl der Benutzer unter dem Administrator.","type":"integer"},"users":{"description":"Ein Array von Benutzerobjekten.","type":"array","items":{"required":["created_at","weight","age","ycom","height","phone","leg_length","display_name","shoeSize","email","gender","brand","shoeModel","user_uid"],"type":"object","properties":{"created_at":{"description":"Zeitstempel der Benutzererstellung.","type":"string","format":"date-time"},"weight":{"description":"Gewicht des Benutzers.","type":"number"},"age":{"description":"Alter des Benutzers.","type":"string"},"ycom":{"description":"YCOM-Wert des Benutzers.","type":"number"},"height":{"description":"Größe des Benutzers.","type":"number"},"phone":{"description":"Telefonnummer des Benutzers.","type":"string"},"leg_length":{"description":"Beinlänge des Benutzers.","type":"number"},"display_name":{"description":"Anzeigename des Benutzers.","type":"string"},"shoeSize":{"description":"Schuhgröße des Benutzers.","type":"string"},"email":{"description":"E-Mail-Adresse des Benutzers.","type":"string","format":"email"},"gender":{"description":"Geschlecht des Benutzers.","type":"string"},"brand":{"description":"Die mit dem Benutzer verbundene Marke.","type":"string"},"shoeModel":{"description":"Das Modell des Schuhs des Benutzers.","type":"string"},"profile_photo":{"description":"Öffentliche URL des Profilfotos des Benutzers.","type":"string","format":"uri"},"user_uid":{"description":"Eindeutiger Identifikator des Benutzers.","type":"string"}}}},"first_uid":{"description":"UID des ersten Benutzers auf der aktuellen Seite.","type":"string"},"last_uid":{"description":"UID des letzten Benutzers auf der aktuellen Seite.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Authentifizierungsfehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Der Anfragende hat keine Administratorberechtigungen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Benutzer unter dem Administrator gefunden oder ein Fehler ist während des Abrufs aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die das Problem beschreibt.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist während des Abrufs aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"]}}}}
```

## Eine Notiz für einen Client setzen/ersetzen

> Speichert \*\*eine\*\* Notiz pro Client. Falls \*note\* weggelassen oder leer ist, wird die vorherige Notiz gelöscht (als \`null\` gespeichert).\
> Dokumentenstruktur:\
> \`\`\`json "notes": {\
> &#x20; "text": "Hamstring strain - reduce speed work for 2 wks",  // oder null\
> &#x20; "updated\_at": "2025-07-14T09:32:11.123Z"\
> } \`\`\`

````json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/save-notes/{user_uid}":{"post":{"operationId":"client-management_clients_save-notes_create","summary":"Eine Notiz für einen Client setzen/ersetzen","description":"Speichert **eine** Notiz pro Client. Falls *note* weggelassen oder leer ist, wird die vorherige Notiz gelöscht (als `null` gespeichert).\nDokumentenstruktur:\n```json \"notes\": {\n  \"text\": \"Hamstring strain - reduce speed work for 2 wks\",  // oder null\n  \"updated_at\": \"2025-07-14T09:32:11.123Z\"\n} ```","parameters":[{"schema":{"type":"string"},"name":"user_uid","in":"path","description":"Der eindeutige Identifikator des Benutzers.","required":true}],"responses":{"200":{"description":"Notiz erfolgreich gespeichert/ersetzt.","content":{"application/json":{"schema":{"required":["message"],"type":"object","properties":{"message":{"type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Die Benutzer-UID fehlt oder ist ungültig.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die das Problem beschreibt.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass die Authentifizierung fehlgeschlagen ist.","type":"string"}}}}}},"403":{"description":"Verboten - Der Anfragende hat keine Administratorberechtigungen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Der Benutzer wurde nicht gefunden oder ist nicht unter dem Administrator.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass der Benutzer nicht gefunden wurde.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"],"requestBody":{"content":{"application/json":{"schema":{"required":["note"],"type":"object","properties":{"note":{"description":"Freiform-Notiztext (≤ 100 kB). Falls weggelassen oder leer, wird die Notiz gelöscht.","type":"string"}}}}},"required":true}}}}}
````

## Details für einen bestimmten Benutzer abrufen

> \### Benutzerdetails abrufen\
> Dieser Endpunkt ermöglicht es einem authentifizierten Administrator, detaillierte Informationen für einen bestimmten Benutzer unter seinem Konto abzurufen. Der Benutzer wird durch den eindeutigen \`user\_uid\`-Parameter in der URL identifiziert.\
> \*\*Pfadparameter:\*\*\
> \- \*\*user\_uid\*\* \*(string, erforderlich)\*: Der eindeutige Identifikator des Benutzers.\
> \*\*Antwortstruktur (HTTP 200):\*\*\
> Gibt ein JSON-Objekt mit den folgenden Feldern und Datentypen zurück:\
> \- \*\*created\_at\*\* \*(string, date-time)\*: Zeitstempel der Benutzererstellung.\
> \- \*\*weight\*\* \*(number)\*: Das Gewicht des Benutzers.\
> \- \*\*age\*\* \*(string)\*: Das Alter des Benutzers.\
> \- \*\*ycom\*\* \*(number)\*: Der YCOM-Wert des Benutzers.\
> \- \*\*height\*\* \*(number)\*: Die Größe des Benutzers.\
> \- \*\*phone\*\* \*(string)\*: Die Telefonnummer des Benutzers.\
> \- \*\*leg\_length\*\* \*(number)\*: Die Beinlänge des Benutzers.\
> \- \*\*display\_name\*\* \*(string)\*: Der Anzeigename des Benutzers.\
> \- \*\*shoeSize\*\* \*(string)\*: Die Schuhgröße des Benutzers.\
> \- \*\*email\*\* \*(string)\*: Die E-Mail-Adresse des Benutzers.\
> \- \*\*gender\*\* \*(string)\*: Das Geschlecht des Benutzers.\
> \- \*\*brand\*\* \*(string)\*: Die mit dem Benutzer verbundene Marke.\
> \- \*\*shoeModel\*\* \*(string)\*: Das Modell des Schuhs des Benutzers.\
> \- \*\*user\_uid\*\* \*(string)\*: Der eindeutige Identifikator des Benutzers.\
> \*\*Beispiel für eine erfolgreiche Antwort:\*\*\
> \`\`\`json {\
> &#x20; "created\_at": "2024-12-02T19:17:30.371Z",\
> &#x20; "weight": 79,\
> &#x20; "age": "30",\
> &#x20; "ycom": 1.1,\
> &#x20; "height": 177,\
> &#x20; "phone": "92039023232",\
> &#x20; "leg\_length": 0.9,\
> &#x20; "display\_name": "User1",\
> &#x20; "shoeSize": "8",\
> &#x20; "email": "<user1@gmail.com>",\
> &#x20; "gender": "Male",\
> &#x20; "brand": "Nike",\
> &#x20; "shoeModel": "Peak-smart",\
> &#x20; "user\_uid": "hoEwsdv2fsFs2fav"\
> } \`\`\`\
> \*\*Hinweise:\*\*\
> \- Ein gültiger API-KEY-Token mit Administratorberechtigungen ist erforderlich.\
> \- Falls der angegebene Benutzer nicht existiert oder nicht unter dem Administrator ist, wird ein 404-Fehler zurückgegeben.

````json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Geben Sie Ihren API-Schlüssel im Header ein: API-KEY: <api_key>"}}},"paths":{"/client-management/clients/{user_uid}":{"get":{"operationId":"client-management_clients_read","summary":"Details für einen bestimmten Benutzer abrufen","description":"### Benutzerdetails abrufen\nDieser Endpunkt ermöglicht es einem authentifizierten Administrator, detaillierte Informationen für einen bestimmten Benutzer unter seinem Konto abzurufen. Der Benutzer wird durch den eindeutigen `user_uid`-Parameter in der URL identifiziert.\n**Pfadparameter:**\n- **user_uid** *(string, erforderlich)*: Der eindeutige Identifikator des Benutzers.\n**Antwortstruktur (HTTP 200):**\nGibt ein JSON-Objekt mit den folgenden Feldern und Datentypen zurück:\n- **created_at** *(string, date-time)*: Zeitstempel der Benutzererstellung.\n- **weight** *(number)*: Das Gewicht des Benutzers.\n- **age** *(string)*: Das Alter des Benutzers.\n- **ycom** *(number)*: Der YCOM-Wert des Benutzers.\n- **height** *(number)*: Die Größe des Benutzers.\n- **phone** *(string)*: Die Telefonnummer des Benutzers.\n- **leg_length** *(number)*: Die Beinlänge des Benutzers.\n- **display_name** *(string)*: Der Anzeigename des Benutzers.\n- **shoeSize** *(string)*: Die Schuhgröße des Benutzers.\n- **email** *(string)*: Die E-Mail-Adresse des Benutzers.\n- **gender** *(string)*: Das Geschlecht des Benutzers.\n- **brand** *(string)*: Die mit dem Benutzer verbundene Marke.\n- **shoeModel** *(string)*: Das Modell des Schuhs des Benutzers.\n- **user_uid** *(string)*: Der eindeutige Identifikator des Benutzers.\n**Beispiel für eine erfolgreiche Antwort:**\n```json {\n  \"created_at\": \"2024-12-02T19:17:30.371Z\",\n  \"weight\": 79,\n  \"age\": \"30\",\n  \"ycom\": 1.1,\n  \"height\": 177,\n  \"phone\": \"92039023232\",\n  \"leg_length\": 0.9,\n  \"display_name\": \"User1\",\n  \"shoeSize\": \"8\",\n  \"email\": \"user1@gmail.com\",\n  \"gender\": \"Male\",\n  \"brand\": \"Nike\",\n  \"shoeModel\": \"Peak-smart\",\n  \"user_uid\": \"hoEwsdv2fsFs2fav\"\n} ```\n**Hinweise:**\n- Ein gültiger API-KEY-Token mit Administratorberechtigungen ist erforderlich.\n- Falls der angegebene Benutzer nicht existiert oder nicht unter dem Administrator ist, wird ein 404-Fehler zurückgegeben.","parameters":[{"schema":{"type":"string"},"name":"user_uid","in":"path","description":"Der eindeutige Identifikator des Benutzers.","required":true}],"responses":{"200":{"description":"Benutzerdetails erfolgreich abgerufen.","content":{"application/json":{"schema":{"required":["created_at","weight","age","ycom","height","phone","leg_length","display_name","shoeSize","email","gender","brand","shoeModel","user_uid"],"type":"object","properties":{"created_at":{"description":"Zeitstempel der Benutzererstellung.","type":"string","format":"date-time"},"weight":{"description":"Das Gewicht des Benutzers.","type":"number"},"age":{"description":"Das Alter des Benutzers.","type":"string"},"ycom":{"description":"Der YCOM-Wert des Benutzers.","type":"number"},"height":{"description":"Die Größe des Benutzers.","type":"number"},"phone":{"description":"Die Telefonnummer des Benutzers.","type":"string"},"leg_length":{"description":"Die Beinlänge des Benutzers.","type":"number"},"display_name":{"description":"Der Anzeigename des Benutzers.","type":"string"},"shoeSize":{"description":"Die Schuhgröße des Benutzers.","type":"string"},"email":{"description":"Die E-Mail-Adresse des Benutzers.","type":"string","format":"email"},"gender":{"description":"Das Geschlecht des Benutzers.","type":"string"},"brand":{"description":"Die mit dem Benutzer verbundene Marke.","type":"string"},"shoeModel":{"description":"Das Modell des Schuhs des Benutzers.","type":"string"},"profile_photo":{"description":"Öffentliche URL des Profilfotos.","type":"string","format":"uri"},"user_uid":{"description":"Der eindeutige Identifikator des Benutzers.","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Die Benutzer-UID fehlt oder ist ungültig.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die das Problem beschreibt.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass die Authentifizierung fehlgeschlagen ist.","type":"string"}}}}}},"403":{"description":"Verboten - Der Anfragende hat keine Administratorberechtigungen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Der Benutzer wurde nicht gefunden oder ist nicht unter dem Administrator.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass der Benutzer nicht gefunden wurde.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung.","type":"string"}}}}}}},"tags":["client-management"]}}}}
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aikynetix.app/de/api-documentation/developer-resources-and-api-reference/api-reference/client-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
