# Springen

## Neue Video-Verarbeitungssitzung erstellen

> Dieser Endpunkt ermöglicht einem \*\*Administrator\*\* (oder Sub-Admin), eine \*\*Videodatei\*\*  zur Verarbeitung hochzuladen und eine neue "Sitzungs"-Ressource \*\*im Namen eines anderen Benutzers\*\* zu erstellen. Der Server gibt eine \`session\_id\` zurück, die zum Abfragen oder Abrufen der Sitzungsdetails/Ergebnisse verwendet werden kann.\
> \### Anfragekörper (Multipart/Form-Data)\
> Sie müssen folgende Felder angeben:\
> \- \*\*user\_id\*\* \*(string, erforderlich)\*: Die ID des Benutzers, für den diese Sitzung erstellt wird. - \*\*video\*\* \*(file, erforderlich)\*: Die zu verarbeitende Videodatei. - \*\*session\_name\*\* \*(string, optional)\*: Ein lesbarer Name/Titel für die Sitzung. - \*\*exercise\*\* \*(string, erforderlich)\*: Der Name der Übung. Wählen Sie eine der folgenden: 'Countermovement Jump' oder 'Drop Jump'. - \*\*body\_joint\_angles\*\* \*(array\[string], optional)\*: Eine kommagetrennte Liste von Gelenknamen (z.B. 'elbow, knee, ankle'). Standardmäßig \['all'], falls nicht angegeben.\
> \### Antwortstruktur\
> Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit: - \*\*session\_id\*\* \*(string)\*: Ein eindeutiger Identifikator für die erstellte Sitzung. - \*\*title\*\* \*(string)\*: Der Sitzungstitel (Standardwert, falls \`session\_name\` nicht angegeben wurde).\
> \### Ablauf 1. \*\*POST\*\*-Anfrage mit multipart/form-data, die die erforderlichen Felder \`user\_id\` und \`video\` sowie optionale Felder enthält. 2. Einen gültigen API-KEY-Token im \`Authorization\`-Header bereitstellen. 3. Der Aufrufer muss Administratorrechte haben, um erfolgreich eine Sitzung für einen anderen Benutzer zu erstellen. 4. Bei Erfolg antwortet der Server mit \`session\_id\` und \`title\`. 5. Bei einem Fehler (z.B. fehlende Felder, fehlende Berechtigungen) wird ein JSON-Objekt mit einem \`error\`-Schlüssel zurückgegeben.\
> \#### Beispiel cURL (Firebase Auth): \`\`\`bash curl -X POST \\\
> &#x20;    -H 'Content-Type: multipart/form-data' \\\
> &#x20;    -H 'Authorization: API-KEY \<YOUR\_ADMIN\_TOKEN>' \\\
> &#x20;    -F 'user\_id=someUserId123' \\\
> &#x20;    -F 'video=@/path/to/video.mp4' \\\
> &#x20;    -F 'session\_name=Custom Session' \\\
> &#x20;    -F 'exercise=Countermovement Jump' \\\
> &#x20;    -F 'body\_joint\_angles=knee, ankle' \\\
> &#x20;    https\://\<backend-link>/jumping/management/sessions/\
> \`\`\`\
> \#### Beispiel cURL (API KEY): \`\`\`bash curl -X POST \\\
> &#x20;    -H 'Content-Type: multipart/form-data' \\\
> &#x20;    -H 'API-KEY: \<YOUR\_API\_KEY>' \\\
> &#x20;    -F 'user\_id=someUserId123' \\\
> &#x20;    -F 'video=@/path/to/video.mp4' \\\
> &#x20;    -F 'session\_name=Morning Run' \\\
> &#x20;    -F 'exercise=Countermovement Jump' \\\
> &#x20;    -F 'body\_joint\_angles=knee, ankle' \\\
> &#x20;    https\://\<backend-link>/jumping/management/sessions/\
> \`\`\`<br>

````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":{"/jumping/sessions/":{"post":{"operationId":"jumping_sessions_create","summary":"Neue Video-Verarbeitungssitzung erstellen","description":"Dieser Endpunkt ermöglicht einem **Administrator** (oder Sub-Admin), eine **Videodatei**  zur Verarbeitung hochzuladen und eine neue \"Sitzungs\"-Ressource **im Namen eines anderen Benutzers** zu erstellen. Der Server gibt eine `session_id` zurück, die zum Abfragen oder Abrufen der Sitzungsdetails/Ergebnisse verwendet werden kann.\n### Anfragekörper (Multipart/Form-Data)\nSie müssen folgende Felder angeben:\n- **user_id** *(string, erforderlich)*: Die ID des Benutzers, für den diese Sitzung erstellt wird. - **video** *(file, erforderlich)*: Die zu verarbeitende Videodatei. - **session_name** *(string, optional)*: Ein lesbarer Name/Titel für die Sitzung. - **exercise** *(string, erforderlich)*: Der Name der Übung. Wählen Sie eine der folgenden: 'Countermovement Jump' oder 'Drop Jump'. - **body_joint_angles** *(array[string], optional)*: Eine kommagetrennte Liste von Gelenknamen (z.B. 'elbow, knee, ankle'). Standardmäßig ['all'], falls nicht angegeben.\n### Antwortstruktur\nBei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit: - **session_id** *(string)*: Ein eindeutiger Identifikator für die erstellte Sitzung. - **title** *(string)*: Der Sitzungstitel (Standardwert, falls `session_name` nicht angegeben wurde).\n### Ablauf 1. **POST**-Anfrage mit multipart/form-data, die die erforderlichen Felder `user_id` und `video` sowie optionale Felder enthält. 2. Einen gültigen API-KEY-Token im `Authorization`-Header bereitstellen. 3. Der Aufrufer muss Administratorrechte haben, um erfolgreich eine Sitzung für einen anderen Benutzer zu erstellen. 4. Bei Erfolg antwortet der Server mit `session_id` und `title`. 5. Bei einem Fehler (z.B. fehlende Felder, fehlende Berechtigungen) wird ein JSON-Objekt mit einem `error`-Schlüssel zurückgegeben.\n#### Beispiel cURL (Firebase Auth): ```bash curl -X POST \\\n     -H 'Content-Type: multipart/form-data' \\\n     -H 'Authorization: API-KEY <YOUR_ADMIN_TOKEN>' \\\n     -F 'user_id=someUserId123' \\\n     -F 'video=@/path/to/video.mp4' \\\n     -F 'session_name=Custom Session' \\\n     -F 'exercise=Countermovement Jump' \\\n     -F 'body_joint_angles=knee, ankle' \\\n     https://<backend-link>/jumping/management/sessions/\n```\n#### Beispiel cURL (API KEY): ```bash curl -X POST \\\n     -H 'Content-Type: multipart/form-data' \\\n     -H 'API-KEY: <YOUR_API_KEY>' \\\n     -F 'user_id=someUserId123' \\\n     -F 'video=@/path/to/video.mp4' \\\n     -F 'session_name=Morning Run' \\\n     -F 'exercise=Countermovement Jump' \\\n     -F 'body_joint_angles=knee, ankle' \\\n     https://<backend-link>/jumping/management/sessions/\n```\n","responses":{"200":{"description":"Video-Verarbeitungssitzung erfolgreich erstellt (HTTP 200).","content":{"application/json":{"schema":{"required":["session_id","title"],"type":"object","properties":{"session_id":{"description":"Der eindeutige Identifikator für die erstellte Sitzung.","type":"string"},"title":{"description":"Der Sitzungstitel (Standardwert, falls nicht angegeben).","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Möglicherweise aufgrund fehlender `user_id`, fehlender `video` oder ungültiger Formulardaten.","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":"Fehler, der auf einen fehlenden oder ungültigen Token hinweist.","type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer hat keine Administratorberechtigung, um Sitzungen für andere zu erstellen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehler, der auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Weist auf Geschäftslogikprobleme oder Ressourcenbeschränkungen hin (z.B. Sitzungslimit).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die das Problem beschreibt.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Unerwarteter Fehler auf dem Server aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung, die auf einen serverseitigen Fehler hinweist.","type":"string"}}}}}}},"tags":["jumping"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"user_id":{"type":"string","description":"**Erforderlich.** Die ID des Benutzers, für den diese Sitzung erstellt wird (Formularfeld: Text)."},"video":{"type":"string","description":"**Erforderlich.** Die zu verarbeitende Videodatei (Formularfeldtyp: Datei)."},"session_name":{"type":"string","description":"**Optional.** Ein beschreibender Name für die Sitzung (Formularfeld: Text)."},"exercise":{"type":"string","description":"**Erforderlich.** Der Name der Übung. Wählen Sie eine der folgenden: 'Countermovement Jump' oder 'Drop Jump'."},"body_joint_angles":{"type":"array","description":"**Optional.** Eine kommagetrennte Liste von Gelenknamen. Verfügbare Werte: `'ankle'`, `'knee'`, `'elbow'`, `'hip'`, `'shoulder'`. Beispiel: `ankle,knee,hip`"}},"required":["user_id","video","exercise"]}}}}}}}}
````

## Sprung-Sitzungsdaten abrufen

> Ruft detaillierte Informationen über eine bestimmte verarbeitete Sprung-Sitzung  anhand ihrer eindeutigen \`session\_id\` ab.\
> Optional kann \`?demo=true\` gesetzt werden, um die vordefinierte Demo-Sitzung  für die Sprungaktivität abzurufen.\
> \*\*Verwendungsbeispiel:\*\* Senden Sie eine GET-Anfrage mit der \`session\_id\` als Pfadparameter, um Sitzungsdetails zu erhalten.\
> \*\*Parameter:\*\* - \`session\_id\` \*(string, erforderlich)\*: Der eindeutige Identifikator der abgefragten Sitzung. - \`demo\` \*(boolean, optional)\*: Auf \`true\` setzen, um die Demo-Sitzung für Sprung zurückzugeben.\
> \*\*Antwortdatentyp:\*\* - \*\*200 OK:\*\* Ein JSON-Objekt mit folgender Struktur:\
> &#x20; \- \`angles\` \*(object)\*: Enthalten Arrays verschiedener Winkelmessungen.\
> &#x20; \- \`whole\_report\_metrics\` \*(object)\*: Enthalten Arrays verschiedener Metriken.\
> &#x20; \- \`all\_timestamps\` \*(array of numbers)\*: Zeitstempel für jeden Frame.\
> &#x20; \- \`analyzed\_video\_url\` \*(string, URI)\*: URL des analysierten Videos.\
> &#x20; \- \`video\_url\` \*(string, URI)\*: URL des Originalvideos.\
> &#x20; \- \`created\_at\` \*(object)\*: Enthält Datum und Uhrzeit der Sitzungserstellung.\
> &#x20; \- \`exercise\` \*(string)\*: Art der in der Sitzung analysierten Übung.\
> &#x20; \- \`user\_name\` \*(string)\*: Name des mit der Sitzung verknüpften Benutzers.\
> &#x20; \- \`activity\` \*(string)\*: Art der in der Sitzung analysierten Aktivität.\
> &#x20; \- \`title\` \*(string)\*: Titel der Sitzung.\
> &#x20; \- \`end\_frames\` \*(array of integers)\*: Frame-Nummern, bei denen jedes Segment endet.\
> &#x20; \- \`metrics\` \*(object)\*: Enthält verschiedene Leistungsmetriken als Zahlenarrays.<br>

```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":{"/jumping/sessions/{session_id}/":{"get":{"operationId":"jumping_sessions_read","summary":"Sprung-Sitzungsdaten abrufen","description":"Ruft detaillierte Informationen über eine bestimmte verarbeitete Sprung-Sitzung  anhand ihrer eindeutigen `session_id` ab.\nOptional kann `?demo=true` gesetzt werden, um die vordefinierte Demo-Sitzung  für die Sprungaktivität abzurufen.\n**Verwendungsbeispiel:** Senden Sie eine GET-Anfrage mit der `session_id` als Pfadparameter, um Sitzungsdetails zu erhalten.\n**Parameter:** - `session_id` *(string, erforderlich)*: Der eindeutige Identifikator der abgefragten Sitzung. - `demo` *(boolean, optional)*: Auf `true` setzen, um die Demo-Sitzung für Sprung zurückzugeben.\n**Antwortdatentyp:** - **200 OK:** Ein JSON-Objekt mit folgender Struktur:\n  - `angles` *(object)*: Enthalten Arrays verschiedener Winkelmessungen.\n  - `whole_report_metrics` *(object)*: Enthalten Arrays verschiedener Metriken.\n  - `all_timestamps` *(array of numbers)*: Zeitstempel für jeden Frame.\n  - `analyzed_video_url` *(string, URI)*: URL des analysierten Videos.\n  - `video_url` *(string, URI)*: URL des Originalvideos.\n  - `created_at` *(object)*: Enthält Datum und Uhrzeit der Sitzungserstellung.\n  - `exercise` *(string)*: Art der in der Sitzung analysierten Übung.\n  - `user_name` *(string)*: Name des mit der Sitzung verknüpften Benutzers.\n  - `activity` *(string)*: Art der in der Sitzung analysierten Aktivität.\n  - `title` *(string)*: Titel der Sitzung.\n  - `end_frames` *(array of integers)*: Frame-Nummern, bei denen jedes Segment endet.\n  - `metrics` *(object)*: Enthält verschiedene Leistungsmetriken als Zahlenarrays.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Eindeutiger Identifikator der Sitzung.","required":true},{"schema":{"type":"boolean"},"name":"demo","in":"query","description":"Auf `true` setzen, um die Demo-Sitzung anstelle der echten abzurufen.","required":false}],"responses":{"200":{"description":"Sitzungsdaten erfolgreich abgerufen.","content":{"application/json":{"schema":{"required":["angles","whole_report_metrics","all_timestamps","analyzed_video_url","video_url","created_at","user_name","exercise","activity","title","end_frames","all_end_frames","metrics","all_metrics"],"type":"object","properties":{"angles":{"required":["hip_intersection_angle","ank_angle","rkne_angle","lkne_angle","kne_angle","rank_angle","lank_angle"],"type":"object","properties":{"hip_intersection_angle":{"description":"Array von Hüft-Schnittwinkeln.","type":"array","items":{"type":"number"}},"ank_angle":{"description":"Array von Knöchelwinkeln.","type":"array","items":{"type":"number"}},"rkne_angle":{"description":"Array von rechten Kniewinkeln.","type":"array","items":{"type":"number"}},"lkne_angle":{"description":"Array von linken Kniewinkeln.","type":"array","items":{"type":"number"}},"kne_angle":{"description":"Array von Kniewinkeln.","type":"array","items":{"type":"number"}},"rank_angle":{"description":"Array von rechten Knöchelwinkeln.","type":"array","items":{"type":"number"}},"lank_angle":{"description":"Array von linken Knöchelwinkeln.","type":"array","items":{"type":"number"}}}},"whole_report_metrics":{"required":["hipy","grf","vhipy","toey","ahipy","vtoey"],"type":"object","properties":{"hipy":{"description":"Array von Hüfthöhenwerten.","type":"array","items":{"type":"number"}},"grf":{"description":"Array von Bodenreaktionskräften.","type":"array","items":{"type":"number"}},"vhipy":{"description":"Array von Hüftgeschwindigkeitswerten.","type":"array","items":{"type":"number"}},"toey":{"description":"Array von Zehen-Y-Achsen-Positionen.","type":"array","items":{"type":"number"}},"ahipy":{"description":"Array von durchschnittlichen Hüft-Y-Achsen-Positionen.","type":"array","items":{"type":"number"}},"vtoey":{"description":"Array von vertikalen Zehengeschwindigkeiten.","type":"array","items":{"type":"number"}}}},"all_timestamps":{"description":"Array von Zeitstempeln für jeden Frame.","type":"array","items":{"type":"number"}},"analyzed_video_url":{"description":"URL des analysierten Videos.","type":"string","format":"uri"},"video_url":{"description":"URL des Originalvideos.","type":"string","format":"uri"},"created_at":{"description":"Objekt mit Datum und Uhrzeit der Sitzungserstellung.","required":["date","time"],"type":"object","properties":{"date":{"description":"Datum der Sitzungserstellung im Format 'YYYY-MM-DD'.","type":"string","format":"date"},"time":{"description":"Uhrzeit der Sitzungserstellung im Format 'HH:MM AM/PM'.","type":"string","format":"time"}}},"exercise":{"description":"Art der in der Sitzung analysierten Übung.","type":"string"},"user_name":{"description":"Name des mit der Sitzung verknüpften Benutzers.","type":"string"},"activity":{"description":"Art der in der Sitzung analysierten Aktivität.","type":"string"},"title":{"description":"Titel der Sitzung.","type":"string"},"end_frames":{"description":"Array von Frame-Nummern, bei denen jedes Segment endet.","type":"array","items":{"type":"integer"}},"all_end_frames":{"description":"Array aller Frame-Nummern, bei denen Segmente enden.","type":"array","items":{"type":"integer"}},"metrics":{"description":"Objekt mit verschiedenen Leistungsmetriken.","type":"object","additionalProperties":{"description":"Array von numerischen Werten für jede Metrik.","type":"array","items":{"type":"number"}}},"all_metrics":{"description":"Objekt mit allen Leistungsmetriken.","type":"object","additionalProperties":{"description":"Array von numerischen Werten für jede Metrik.","type":"array","items":{"type":"number"}}}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige `session_id` angegeben.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Sitzungsdaten für die angegebene `session_id` gefunden.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}}},"tags":["jumping"]}}}}
```

## Sprung-Sitzungsdaten exportieren

> Ruft detaillierte Informationen über eine bestimmte Sprung-Sitzung anhand ihrer eindeutigen \`session\_id\` ab.\
> Optional kann \`?demo=true\` gesetzt werden, um die vordefinierte Demo-Sitzung für die Sprungaktivität abzurufen.\
> \*\*Hinweis:\*\* Dieser Endpunkt enthält Landmark-Punkte in der Antwort.\
> \*\*Antwortdatentyp:\*\* - \*\*200 OK:\*\* Ein JSON-Objekt mit folgender Struktur:\
> &#x20; \- \`keypoints\` \*(object)\*: Enthält Arrays von Landmark-Punkten.\
> &#x20; \- \`angles\` \*(object)\*: Enthält Arrays verschiedener Winkelmessungen.\
> &#x20; \- \`all\_timestamps\` \*(array of numbers)\*: Zeitstempel für jeden Frame.\
> &#x20; \- \`analyzed\_video\_url\` \*(string, URI)\*: URL des analysierten Videos.\
> &#x20; \- \`video\_url\` \*(string, URI)\*: URL des Originalvideos.\
> &#x20; \- \`created\_at\` \*(object)\*: Enthält Datum und Uhrzeit der Sitzungserstellung.\
> &#x20; \- \`user\_name\` \*(string)\*: Name des mit der Sitzung verknüpften Benutzers.\
> &#x20; \- \`activity\` \*(string)\*: Art der analysierten Aktivität.\
> &#x20; \- \`title\` \*(string)\*: Titel der Sitzung.\
> &#x20; \- \`end\_frames\` \*(array of integers)\*: Frame-Nummern, bei denen jedes Segment endet.\
> &#x20; \- \`metrics\` \*(object)\*: Enthält verschiedene Leistungsmetriken als Zahlenarrays.<br>

```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":{"/jumping/sessions/{session_id}/export/":{"get":{"operationId":"jumping_sessions_export_list","summary":"Sprung-Sitzungsdaten exportieren","description":"Ruft detaillierte Informationen über eine bestimmte Sprung-Sitzung anhand ihrer eindeutigen `session_id` ab.\nOptional kann `?demo=true` gesetzt werden, um die vordefinierte Demo-Sitzung für die Sprungaktivität abzurufen.\n**Hinweis:** Dieser Endpunkt enthält Landmark-Punkte in der Antwort.\n**Antwortdatentyp:** - **200 OK:** Ein JSON-Objekt mit folgender Struktur:\n  - `keypoints` *(object)*: Enthält Arrays von Landmark-Punkten.\n  - `angles` *(object)*: Enthält Arrays verschiedener Winkelmessungen.\n  - `all_timestamps` *(array of numbers)*: Zeitstempel für jeden Frame.\n  - `analyzed_video_url` *(string, URI)*: URL des analysierten Videos.\n  - `video_url` *(string, URI)*: URL des Originalvideos.\n  - `created_at` *(object)*: Enthält Datum und Uhrzeit der Sitzungserstellung.\n  - `user_name` *(string)*: Name des mit der Sitzung verknüpften Benutzers.\n  - `activity` *(string)*: Art der analysierten Aktivität.\n  - `title` *(string)*: Titel der Sitzung.\n  - `end_frames` *(array of integers)*: Frame-Nummern, bei denen jedes Segment endet.\n  - `metrics` *(object)*: Enthält verschiedene Leistungsmetriken als Zahlenarrays.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Eindeutiger Identifikator der Sitzung.","required":true},{"schema":{"type":"boolean"},"name":"demo","in":"query","description":"Auf `true` setzen, um die Demo-Sitzung anstelle der echten abzurufen.","required":false}],"responses":{"200":{"description":"Sitzungsdaten erfolgreich abgerufen.","content":{"application/json":{"schema":{"required":["keypoints","angles","all_timestamps","analyzed_video_url","video_url","created_at","user_name","activity","title","end_frames","metrics"],"type":"object","properties":{"keypoints":{"required":["lknev","ltoev","relbv","rtoey","headv","rearv","rshox","etc"],"type":"object","properties":{"lknev":{"description":"Array von linken Knie-Landmark-Punkten.","type":"array","items":{"type":"number"}},"ltoev":{"description":"Array von linken Zehen-Landmark-Punkten.","type":"array","items":{"type":"number"}},"relbv":{"description":"Array von rechten Ellenbogen-Landmark-Punkten.","type":"array","items":{"type":"number"}},"rtoey":{"description":"Array von rechten Zehen-Landmark-Punkten.","type":"array","items":{"type":"number"}},"headv":{"description":"Array von Kopf-Landmark-Punkten.","type":"array","items":{"type":"number"}},"rearv":{"description":"Array von rechten Ohr-Landmark-Punkten.","type":"array","items":{"type":"number"}},"rshox":{"description":"Array von rechten Schulter-Landmark-Punkten.","type":"array","items":{"type":"number"}},"etc":{"description":"Alle anderen Landmark-Punkte.","type":"array","items":{"type":"number"}}}},"angles":{"required":["hip_intersection_angle","ank_angle","rkne_angle","lkne_angle","kne_angle","rank_angle","lank_angle"],"type":"object","properties":{"hip_intersection_angle":{"description":"Array von Hüft-Schnittwinkeln.","type":"array","items":{"type":"number"}},"ank_angle":{"description":"Array von Knöchelwinkeln.","type":"array","items":{"type":"number"}},"rkne_angle":{"description":"Array von rechten Kniewinkeln.","type":"array","items":{"type":"number"}},"lkne_angle":{"description":"Array von linken Kniewinkeln.","type":"array","items":{"type":"number"}},"kne_angle":{"description":"Array von Kniewinkeln.","type":"array","items":{"type":"number"}},"rank_angle":{"description":"Array von rechten Knöchelwinkeln.","type":"array","items":{"type":"number"}},"lank_angle":{"description":"Array von linken Knöchelwinkeln.","type":"array","items":{"type":"number"}}}},"all_timestamps":{"description":"Array von Zeitstempeln für jeden Frame.","type":"array","items":{"type":"number"}},"analyzed_video_url":{"description":"URL des analysierten Videos.","type":"string","format":"uri"},"video_url":{"description":"URL des Originalvideos.","type":"string","format":"uri"},"created_at":{"description":"Objekt mit Datum und Uhrzeit der Sitzungserstellung.","required":["date","time"],"type":"object","properties":{"date":{"description":"Datum der Sitzungserstellung im Format 'YYYY-MM-DD'.","type":"string","format":"date"},"time":{"description":"Uhrzeit der Sitzungserstellung im Format 'HH:MM AM/PM'.","type":"string","format":"time"}}},"user_name":{"description":"Name des mit der Sitzung verknüpften Benutzers.","type":"string"},"activity":{"description":"Art der in der Sitzung analysierten Aktivität.","type":"string"},"title":{"description":"Titel der Sitzung.","type":"string"},"end_frames":{"description":"Array von Frame-Nummern, bei denen jedes Segment endet.","type":"array","items":{"type":"integer"}},"metrics":{"description":"Objekt mit verschiedenen Leistungsmetriken.","type":"object","additionalProperties":{"description":"Array von numerischen Werten für jede Metrik.","type":"array","items":{"type":"number"}}}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige `session_id` angegeben.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Sitzungsdaten für die angegebene `session_id` gefunden.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}}},"tags":["jumping"]}}}}
```

## Sprunganalysebericht abrufen

> \### Vertikalen Sprunganalysebericht abrufen\
> Dieser Endpunkt ermöglicht Benutzern, einen umfassenden Analysebericht für eine bestimmte vertikale Sprung-Sitzung abzurufen. Der Bericht enthält grafische Daten, Phasendetails, Benutzerinformationen und zusätzliche Kommentare, um ein tiefgreifendes Verständnis der Benutzerleistung während der Sitzung zu ermöglichen.\
> \*\*Verwendungsbeispiel:\*\* Senden Sie eine \`POST\`-Anfrage an \`/jumping/{session\_id}/jump-analysis/\`, wobei \`{session\_id}\` der eindeutige Identifikator der Sitzung ist.\
> \*\*Parameter:\*\* - \`session\_id\` \*(string, erforderlich)\*: Der eindeutige Identifikator der Sitzung, für die der Bericht angefordert wird. - \`demo\` \*(boolean, optional)\*: Auf \`true\` setzen, um den vordefinierten Demo-Bericht anstelle der echten Sitzung abzurufen.\
> \*\*Antwortstruktur:\*\* Bei erfolgreicher Anfrage gibt der Endpunkt ein JSON-Objekt mit folgenden Abschnitten zurück: 1. \*\*Exercise\*\*: Der Name der während der Sitzung durchgeführten Übung. 2. \*\*Graph Data\*\*: Visuelle Darstellungen verschiedener während der Sitzung erfasster Metriken. 3. \*\*Frame Information\*\*: Details zu den Videoframes der Sitzung. 4. \*\*Phase Data\*\*: Informationen zu verschiedenen Phasen der vertikalen Sprungaktivität. 5. \*\*User Information\*\*: Persönliche Details des Benutzers. 6. \*\*Session Date\*\*: Das Datum der Sitzung. 7. \*\*Comments\*\*: Feedback und Kommentare basierend auf der Sitzungsleistung.<br>

```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":{"/jumping/sessions/{session_id}/jump-analysis/":{"post":{"operationId":"jumping_sessions_jump-analysis_create","summary":"Sprunganalysebericht abrufen","description":"### Vertikalen Sprunganalysebericht abrufen\nDieser Endpunkt ermöglicht Benutzern, einen umfassenden Analysebericht für eine bestimmte vertikale Sprung-Sitzung abzurufen. Der Bericht enthält grafische Daten, Phasendetails, Benutzerinformationen und zusätzliche Kommentare, um ein tiefgreifendes Verständnis der Benutzerleistung während der Sitzung zu ermöglichen.\n**Verwendungsbeispiel:** Senden Sie eine `POST`-Anfrage an `/jumping/{session_id}/jump-analysis/`, wobei `{session_id}` der eindeutige Identifikator der Sitzung ist.\n**Parameter:** - `session_id` *(string, erforderlich)*: Der eindeutige Identifikator der Sitzung, für die der Bericht angefordert wird. - `demo` *(boolean, optional)*: Auf `true` setzen, um den vordefinierten Demo-Bericht anstelle der echten Sitzung abzurufen.\n**Antwortstruktur:** Bei erfolgreicher Anfrage gibt der Endpunkt ein JSON-Objekt mit folgenden Abschnitten zurück: 1. **Exercise**: Der Name der während der Sitzung durchgeführten Übung. 2. **Graph Data**: Visuelle Darstellungen verschiedener während der Sitzung erfasster Metriken. 3. **Frame Information**: Details zu den Videoframes der Sitzung. 4. **Phase Data**: Informationen zu verschiedenen Phasen der vertikalen Sprungaktivität. 5. **User Information**: Persönliche Details des Benutzers. 6. **Session Date**: Das Datum der Sitzung. 7. **Comments**: Feedback und Kommentare basierend auf der Sitzungsleistung.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Eindeutiger Identifikator der Sitzung.","required":true},{"schema":{"type":"boolean"},"name":"demo","in":"query","description":"Auf `true` setzen, um den Demo-Bericht abzurufen.","required":false}],"responses":{"200":{"description":"Sprunganalysebericht erfolgreich abgerufen.","content":{"application/json":{"schema":{"required":["exercise","graph_data","min_frame","max_frame","phase_data","user_information","session_date","comments"],"type":"object","properties":{"exercise":{"description":"Für welche Übung dieser Bericht ist.","type":"string","enum":["Countermovement Jump","Drop Jump"]},"graph_data":{"description":"Metrik-Zeitreihen für jeden Sprung.","type":"object","properties":{"hip_height":{"description":"Vertikale Hüftverlagerung über die Zeit.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"hip_speed":{"description":"Vertikale Hüftgeschwindigkeit über die Zeit.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"hip_trajectory":{"description":"Hüfttrajektorie über mehrere Drop-Jumps.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"hip_velocity":{"description":"Hüftgeschwindigkeit über mehrere Drop-Jumps.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"toe_trajectory":{"description":"Zehentrajektorie über mehrere Drop-Jumps.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"grf":{"description":"Daten der Bodenreaktionskraft.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"power":{"description":"Leistungsausgabedaten.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"kne_angle":{"description":"Kniewinkel über die Zeit.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"ank_angle":{"description":"Knöchelwinkel über die Zeit.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}},"hip_angle":{"description":"Hüftwinkel über die Zeit.","type":"object","additionalProperties":{"required":["times","data"],"type":"object","properties":{"times":{"description":"Zeitstempel für Datenpunkte.","type":"array","items":{"type":"number"}},"data":{"description":"Metrikwerte zu diesen Zeiten.","type":"array","items":{"type":"number"}}}}}},"additionalProperties":false},"min_frame":{"description":"Minimale Frame-Nummer im Video.","type":"integer"},"max_frame":{"description":"Maximale Frame-Nummer im Video.","type":"integer"},"phase_data":{"description":"Detaillierte Informationen zu jeder Sprungphase.","required":["start_of_preparation","braking","zero_velocity","takeoff","peak","landing","damping","recuperation"],"type":"object","properties":{"start_of_preparation":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"braking":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"zero_velocity":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"takeoff":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"peak":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"landing":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"damping":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}},"recuperation":{"required":["video_frame","graph_phase","image_url"],"type":"object","properties":{"video_frame":{"type":"integer"},"graph_phase":{"type":"integer"},"image_url":{"type":"string","format":"uri"}}}}},"user_information":{"description":"Persönliche Details des Benutzers.","required":["name","age","weight","height","gender"],"type":"object","properties":{"name":{"type":"string"},"age":{"type":"integer"},"weight":{"type":"number"},"height":{"type":"number"},"gender":{"type":"string"}}},"session_date":{"description":"Datum der Sitzung (DD/MM/YYYY).","type":"string","format":"date"},"comments":{"description":"Feedback-Kommentare basierend auf Sitzungsmetriken.","type":"object","properties":{"power":{"type":"string"},"grf":{"type":"string"}}}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige `session_id` angegeben.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Sitzungsdaten für die angegebene `session_id` gefunden.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}}},"tags":["jumping"]}}}}
```

## Empfehlungs-Threads erstellen

> \### Empfehlungs-Threads erstellen\
> Dieser Endpunkt generiert personalisierte Empfehlungs-Threads basierend auf dem vertikalen Sprunganalysebericht eines Benutzers für eine bestimmte Sitzung. Diese Threads können verwendet werden, um dem Benutzer maßgeschneiderte Ratschläge, Trainingsvorschläge oder Leistungseinblicke zu bieten.\
> \*\*Verwendungsbeispiel:\*\* Senden Sie eine \`POST\`-Anfrage an \`/jumping/sessions/{session\_id}/recommendation/\`, wobei \`{session\_id}\` der eindeutige Identifikator der Sitzung ist.\
> \*\*Parameter:\*\* - \`session\_id\` \*(string, erforderlich)\*: Der eindeutige Identifikator der Sitzung, für die Empfehlungs-Threads erstellt werden sollen.\
> \*\*Antwortstruktur:\*\* Bei erfolgreicher Anfrage gibt der Endpunkt ein JSON-Objekt zurück, das Thread-IDs ihren jeweiligen Metriken zuordnet.\
> \*\*Hinweis:\*\* - Stellen Sie sicher, dass die angegebene \`session\_id\` gültig ist und einer vorhandenen Sitzung im System entspricht. - Der Benutzer muss einen aktiven Zahlungsplan haben, um auf diese Funktion zugreifen zu können.<br>

```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":{"/jumping/sessions/{session_id}/recommendation/":{"post":{"operationId":"jumping_sessions_recommendation_create","summary":"Empfehlungs-Threads erstellen","description":"### Empfehlungs-Threads erstellen\nDieser Endpunkt generiert personalisierte Empfehlungs-Threads basierend auf dem vertikalen Sprunganalysebericht eines Benutzers für eine bestimmte Sitzung. Diese Threads können verwendet werden, um dem Benutzer maßgeschneiderte Ratschläge, Trainingsvorschläge oder Leistungseinblicke zu bieten.\n**Verwendungsbeispiel:** Senden Sie eine `POST`-Anfrage an `/jumping/sessions/{session_id}/recommendation/`, wobei `{session_id}` der eindeutige Identifikator der Sitzung ist.\n**Parameter:** - `session_id` *(string, erforderlich)*: Der eindeutige Identifikator der Sitzung, für die Empfehlungs-Threads erstellt werden sollen.\n**Antwortstruktur:** Bei erfolgreicher Anfrage gibt der Endpunkt ein JSON-Objekt zurück, das Thread-IDs ihren jeweiligen Metriken zuordnet.\n**Hinweis:** - Stellen Sie sicher, dass die angegebene `session_id` gültig ist und einer vorhandenen Sitzung im System entspricht. - Der Benutzer muss einen aktiven Zahlungsplan haben, um auf diese Funktion zugreifen zu können.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Eindeutiger Identifikator der Sitzung.","required":true}],"responses":{"200":{"description":"Threads erfolgreich erstellt.","content":{"application/json":{"schema":{"description":"Zuordnung von Metriknamen zu Empfehlungs-Thread-IDs.","required":["grf","power","kne_angle","ank_angle","hip_angle"],"type":"object","properties":{"hip_height":{"description":"Thread-ID für Hüfthöhen-Empfehlungen.","type":"string"},"hip_speed":{"description":"Thread-ID für Hüftgeschwindigkeits-Empfehlungen.","type":"string"},"hip_trajectory":{"description":"Thread-ID für Hüfttrajektorie-Empfehlungen.","type":"string"},"hip_velocity":{"description":"Thread-ID für Hüftgeschwindigkeits-Empfehlungen.","type":"string"},"toe_trajectory":{"description":"Thread-ID für Zehentrajektorie-Empfehlungen.","type":"string"},"grf":{"description":"Thread-ID für Bodenreaktionskraft (GRF)-Empfehlungen.","type":"string"},"power":{"description":"Thread-ID für Leistungs-Empfehlungen.","type":"string"},"kne_angle":{"description":"Thread-ID für Kniewinkel-Empfehlungen.","type":"string"},"ank_angle":{"description":"Thread-ID für Knöchelwinkel-Empfehlungen.","type":"string"},"hip_angle":{"description":"Thread-ID für Hüftwinkel-Empfehlungen.","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige `session_id` angegeben.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Sitzungsdaten für die angegebene `session_id` gefunden.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}}},"tags":["jumping"]}}}}
```

## Zusammenfassung einer Sitzung abrufen

> \### Sitzungszusammenfassung abrufen\
> Dieser Endpunkt liefert eine Zusammenfassung einer bestimmten Sitzung, einschließlich wichtiger Leistungsmetriken, Benutzerdaten und Sitzungserstellungsdetails.\
> \*\*Verwendungsbeispiel:\*\* Senden Sie eine GET-Anfrage an \`/jumping/{session\_id}/summary/\`, wobei \`{session\_id}\` die eindeutige Sitzungs-ID ist.\
> \*\*Abfrageparameter:\*\* - \`demo\` \*(boolean, optional)\*: Auf \`true\` setzen, um eine vorgefertigte Demo-Zusammenfassung anstelle einer echten Sitzung abzurufen.\
> \*\*Antwortstruktur:\*\* - \*\*exercise\*\*: Art der zusammengefassten Übung. - \*\*metrics\*\*: Enthält verschiedene Messungen der Sitzung. - \*\*summary\*\*: Beschreibende Übersicht der Leistung. - \*\*user\_info\*\*: Grundlegende Informationen über den Benutzer. - \*\*session\_date\*\*: Datum der Sitzungsaufzeichnung.\
> \*\*Hinweis:\*\* Stellen Sie sicher, dass die \`session\_id\` existiert. Wenn \`demo=true\` verwendet wird, gibt das System die vordefinierte Demo-Sitzungszusammenfassung zurück.<br>

```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":{"/jumping/sessions/{session_id}/summary/":{"get":{"operationId":"jumping_sessions_summary_list","summary":"Zusammenfassung einer Sitzung abrufen","description":"### Sitzungszusammenfassung abrufen\nDieser Endpunkt liefert eine Zusammenfassung einer bestimmten Sitzung, einschließlich wichtiger Leistungsmetriken, Benutzerdaten und Sitzungserstellungsdetails.\n**Verwendungsbeispiel:** Senden Sie eine GET-Anfrage an `/jumping/{session_id}/summary/`, wobei `{session_id}` die eindeutige Sitzungs-ID ist.\n**Abfrageparameter:** - `demo` *(boolean, optional)*: Auf `true` setzen, um eine vorgefertigte Demo-Zusammenfassung anstelle einer echten Sitzung abzurufen.\n**Antwortstruktur:** - **exercise**: Art der zusammengefassten Übung. - **metrics**: Enthält verschiedene Messungen der Sitzung. - **summary**: Beschreibende Übersicht der Leistung. - **user_info**: Grundlegende Informationen über den Benutzer. - **session_date**: Datum der Sitzungsaufzeichnung.\n**Hinweis:** Stellen Sie sicher, dass die `session_id` existiert. Wenn `demo=true` verwendet wird, gibt das System die vordefinierte Demo-Sitzungszusammenfassung zurück.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Eindeutiger Identifikator der Sitzung.","required":true},{"schema":{"type":"boolean"},"name":"demo","in":"query","description":"Auf `true` setzen, um die Demo-Sitzungszusammenfassung anstelle einer echten abzurufen.","required":false}],"responses":{"200":{"description":"Sitzungszusammenfassung erfolgreich abgerufen.","content":{"application/json":{"schema":{"description":"Objekt mit Sitzungszusammenfassungsdetails.","required":["metrics","summary","user_info","created_at"],"type":"object","properties":{"exercise":{"description":"Art der zusammengefassten Übung.","type":"string"},"metrics":{"description":"Objekt mit verschiedenen Leistungsmetriken.","type":"object","additionalProperties":{"description":"Array von numerischen Werten für jede Metrik.","type":"array","items":{"type":"number"}}},"summary":{"description":"Objekt mit Zusammenfassungsdetails der Sitzung.","type":"object","additionalProperties":{"description":"Zusammenfassungsinformation für jeden Schlüssel.","type":"string"}},"user_info":{"description":"Objekt mit Benutzerinformationen.","required":["name","age","weight","height","gender"],"type":"object","properties":{"name":{"description":"Vollständiger Name des Benutzers.","type":"string"},"age":{"description":"Alter des Benutzers.","type":"integer"},"weight":{"description":"Gewicht des Benutzers in Kilogramm.","type":"number"},"height":{"description":"Größe des Benutzers in Zentimetern.","type":"number"},"gender":{"description":"Geschlecht des Benutzers.","type":"string"}}},"created_at":{"description":"Objekt mit Datum und Uhrzeit der Sitzungserstellung.","required":["date","time"],"type":"object","properties":{"date":{"description":"Datum der Sitzungserstellung im Format 'YYYY-MM-DD'.","type":"string","format":"date"},"time":{"description":"Uhrzeit der Sitzungserstellung im Format 'HH:MM AM/PM'.","type":"string","format":"time"}}}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige `session_id` angegeben.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Sitzungsdaten für die angegebene `session_id` gefunden.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}}},"tags":["jumping"]}}}}
```

## Zusammenfassungs-Threads für eine Sitzung generieren

> \### Zusammenfassungs-Threads generieren\
> Dieser Endpunkt generiert Zusammenfassungs-Threads für eine gegebene Sitzung basierend auf vordefinierten Zusammenfassungsblöcken und Metriken.\
> \*\*Verwendungsbeispiel:\*\* Senden Sie eine \`POST\`-Anfrage an \`/jumping/sessions/{session\_id}/summary/\`, wobei \`{session\_id}\` der eindeutige Identifikator der Sitzung ist.\
> \*\*Parameter:\*\* - \`session\_id\` \*(string, erforderlich)\*: Der eindeutige Identifikator der Sitzung, für die Zusammenfassungs-Threads generiert werden sollen. - \`measurement\_system\` \*(string, optional)\*: Messsystem: 'metric' oder 'imperial'. Standard: 'metric'.\
> \*\*Antwortstruktur:\*\* Bei erfolgreicher Anfrage gibt der Endpunkt ein JSON-Objekt zurück, das jeden Blocknamen seiner entsprechenden Thread-ID zuordnet.\
> \*\*Hinweis:\*\* - Stellen Sie sicher, dass die angegebene \`session\_id\` gültig ist und einer vorhandenen Sitzung im System entspricht. - Der Benutzer muss die erforderlichen Berechtigungen haben, um Zusammenfassungs-Threads zu generieren.<br>

```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":{"/jumping/sessions/{session_id}/summary/":{"post":{"operationId":"jumping_sessions_summary_create","summary":"Zusammenfassungs-Threads für eine Sitzung generieren","description":"### Zusammenfassungs-Threads generieren\nDieser Endpunkt generiert Zusammenfassungs-Threads für eine gegebene Sitzung basierend auf vordefinierten Zusammenfassungsblöcken und Metriken.\n**Verwendungsbeispiel:** Senden Sie eine `POST`-Anfrage an `/jumping/sessions/{session_id}/summary/`, wobei `{session_id}` der eindeutige Identifikator der Sitzung ist.\n**Parameter:** - `session_id` *(string, erforderlich)*: Der eindeutige Identifikator der Sitzung, für die Zusammenfassungs-Threads generiert werden sollen. - `measurement_system` *(string, optional)*: Messsystem: 'metric' oder 'imperial'. Standard: 'metric'.\n**Antwortstruktur:** Bei erfolgreicher Anfrage gibt der Endpunkt ein JSON-Objekt zurück, das jeden Blocknamen seiner entsprechenden Thread-ID zuordnet.\n**Hinweis:** - Stellen Sie sicher, dass die angegebene `session_id` gültig ist und einer vorhandenen Sitzung im System entspricht. - Der Benutzer muss die erforderlichen Berechtigungen haben, um Zusammenfassungs-Threads zu generieren.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Eindeutiger Identifikator der Sitzung.","required":true},{"schema":{"type":"string","enum":["metric","imperial"]},"name":"measurement_system","in":"query","description":"Messsystem: 'metric' oder 'imperial'","required":false}],"responses":{"201":{"description":"Zusammenfassungs-Threads erfolgreich generiert.","content":{"application/json":{"schema":{"description":"Wörterbuch, das Blocknamen ihren entsprechenden Thread-IDs zuordnet, einschließlich eines abschließenden Zusammenfassungs-Threads.","type":"object","additionalProperties":{"description":"Thread-ID entsprechend dem Blocknamen.","type":"string"}}}}},"400":{"description":"Ungültige Anfrage - Ungültige `session_id` angegeben.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Keine Sitzungsdaten für die angegebene `session_id` gefunden.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"required":["error"],"type":"object","properties":{"error":{"description":"Fehlermeldung.","type":"string"}}}}}}},"tags":["jumping"]}}}}
```


---

# 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/jumping.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.
