# Verwaltung aller Sitzungen

## Benutzersitzungen abrufen

> Ruft alle Sitzungen für den authentifizierten Benutzer ab, sortiert nach \`created\_at\` in absteigender Reihenfolge.\
> \### Antwortstruktur\
> Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit folgendem Inhalt:\
> \`\`\`json {\
> &#x20; "sessions": {\
> &#x20;   "\<session\_id>": {\
> &#x20;     "created\_at": {\
> &#x20;       "date": "DD/MM/YYYY",\
> &#x20;       "time": "HH:MM AM/PM"\
> &#x20;     },\
> &#x20;     "video\_url": "...",\
> &#x20;     "segments": \<number>,\
> &#x20;     "analyzed\_video\_url": "...",\
> &#x20;     "activity": "...",\
> &#x20;     "title": "...",\
> &#x20;     "user\_id": "...",\
> &#x20;     "user\_name": "...",\
> &#x20;     "report\_comments": {...},\
> &#x20;     "metrics": {...}\
> &#x20;     // weitere Sitzungsfelder\
> &#x20;   },\
> &#x20;   "...": {...}\
> &#x20; }\
> } \`\`\`\
> \### Fehlerbehandlung\
> \- \*\*400 Bad Request\*\*: Ungültige Parameter (z.B. fehlendes oder falsch formatiertes Token). - \*\*401 Unauthorized\*\*: Das Token fehlt oder ist ungültig. - \*\*403 Forbidden\*\*: Der Benutzer hat keine Administratorrechte. - \*\*404 Not Found\*\*: Sitzungen konnten nicht abgerufen werden (z.B. keine Sitzungen gefunden). - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist aufgetreten.\
> \### Sicherheit Ein gültiger API-KEY-Token muss im \`Authorization\`-Header bereitgestellt werden.

````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":{"/session-management/sessions/":{"get":{"operationId":"session-management_sessions_list","summary":"Benutzersitzungen abrufen","description":"Ruft alle Sitzungen für den authentifizierten Benutzer ab, sortiert nach `created_at` in absteigender Reihenfolge.\n### Antwortstruktur\nBei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit folgendem Inhalt:\n```json {\n  \"sessions\": {\n    \"<session_id>\": {\n      \"created_at\": {\n        \"date\": \"DD/MM/YYYY\",\n        \"time\": \"HH:MM AM/PM\"\n      },\n      \"video_url\": \"...\",\n      \"segments\": <number>,\n      \"analyzed_video_url\": \"...\",\n      \"activity\": \"...\",\n      \"title\": \"...\",\n      \"user_id\": \"...\",\n      \"user_name\": \"...\",\n      \"report_comments\": {...},\n      \"metrics\": {...}\n      // weitere Sitzungsfelder\n    },\n    \"...\": {...}\n  }\n} ```\n### Fehlerbehandlung\n- **400 Bad Request**: Ungültige Parameter (z.B. fehlendes oder falsch formatiertes Token). - **401 Unauthorized**: Das Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat keine Administratorrechte. - **404 Not Found**: Sitzungen konnten nicht abgerufen werden (z.B. keine Sitzungen gefunden). - **500 Internal Server Error**: Ein unerwarteter Fehler ist aufgetreten.\n### Sicherheit Ein gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.","responses":{"200":{"description":"Benutzersitzungen erfolgreich abgerufen.","content":{"application/json":{"schema":{"type":"object","properties":{"sessions":{"description":"Ein Wörterbuch von Sitzungen, geordnet nach ihren Sitzungs-IDs.","type":"object","additionalProperties":{"type":"object"}}}}}}},"400":{"description":"Bad Request - Ungültige Parameter oder fehlendes Token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Erklärung des ungültigen Requests.","type":"string"}}}}}},"401":{"description":"Unauthorized - Das Token fehlt oder ist ungültig.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung bei Authentifizierungsfehler.","type":"string"}}}}}},"403":{"description":"Forbidden - Der Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Benutzer hat keinen Zugriff auf die Sitzungen.","type":"string"}}}}}},"404":{"description":"Not Found - Sitzungen konnten nicht abgerufen werden (z.B. keine gefunden).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, wenn keine Sitzungen gefunden wurden.","type":"string"}}}}}},"500":{"description":"Internal Server Error - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung für Serverfehler.","type":"string"}}}}}}},"tags":["session-management"]}}}}
````

## Sitzungen nach IDs abrufen

> Ruft detaillierte Sitzungsdaten für eine Liste von Sitzungs-IDs ab. Dieser Endpunkt wird verwendet, wenn der Client bereits spezifische Sitzungs-IDs hat (z.B. von gespeicherten Berichten oder Analysen) und deren vollständige Daten abrufen möchte.\
> \### Anfragebody - \*\*session\_ids\*\* \*(erforderlich)\*: Eine Liste von Sitzungsdokument-IDs, die abgerufen werden sollen.\
> \### Sicherheit Erfordert Bearer-Token im \`Authorization\`-Header.\
> \### Fehler - \*\*400 Bad Request\*\*: Ungültige Eingabe. - \*\*401 Unauthorized\*\*: Fehlendes oder ungültiges Token. - \*\*403 Forbidden\*\*: Der Benutzer ist nicht autorisiert. - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist aufgetreten.

```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":{"/session-management/sessions/by-ids/":{"post":{"operationId":"session-management_sessions_by-ids_create","summary":"Sitzungen nach IDs abrufen","description":"Ruft detaillierte Sitzungsdaten für eine Liste von Sitzungs-IDs ab. Dieser Endpunkt wird verwendet, wenn der Client bereits spezifische Sitzungs-IDs hat (z.B. von gespeicherten Berichten oder Analysen) und deren vollständige Daten abrufen möchte.\n### Anfragebody - **session_ids** *(erforderlich)*: Eine Liste von Sitzungsdokument-IDs, die abgerufen werden sollen.\n### Sicherheit Erfordert Bearer-Token im `Authorization`-Header.\n### Fehler - **400 Bad Request**: Ungültige Eingabe. - **401 Unauthorized**: Fehlendes oder ungültiges Token. - **403 Forbidden**: Der Benutzer ist nicht autorisiert. - **500 Internal Server Error**: Ein unerwarteter Fehler ist aufgetreten.","responses":{"200":{"description":"Sitzungen erfolgreich abgerufen.","content":{"application/json":{"schema":{"type":"object","properties":{"sessions":{"description":"Wörterbuch von Sitzungsdaten, geordnet nach Sitzungs-ID.","type":"object","additionalProperties":{"type":"object","properties":{"session_id":{"type":"string"},"activity":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"uploaded_date":{"type":"string","format":"date-time"},"video_url":{"type":"string","format":"uri"},"thumbnail_url":{"type":"string","format":"uri"},"analyzed_video_url":{"type":"string","format":"uri"},"title":{"type":"string"},"user_id":{"type":"string"},"user_name":{"type":"string"},"uploaded_name":{"type":"string"},"uploaded_uid":{"type":"string"},"user_status":{"type":"string"},"video_status":{"type":"string","enum":["Processed","Failed"]},"exercise":{"description":"Übungsname (optional, nur für bestimmte Aktivitäten).","type":"string"}}}}}}}}},"400":{"description":"Bad Request - session_ids fehlen oder sind ungültig.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"401":{"description":"Unauthorized - Kein Token bereitgestellt.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Forbidden - Benutzer ist kein Administrator.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"500":{"description":"Internal Server Error - Ein Fehler ist auf dem Server aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}},"tags":["session-management"],"requestBody":{"content":{"application/json":{"schema":{"required":["session_ids"],"type":"object","properties":{"session_ids":{"description":"Liste von Sitzungsdokument-IDs, die abgerufen werden sollen.","type":"array","items":{"type":"string"}}}}}},"required":true}}}}}
```

## Gefilterte Sitzungen abrufen

> Ruft Benutzersitzungen ab, die nach optionalen Parametern wie Datumsbereich, Aktivitätstyp, Titel oder Benutzer-ID gefiltert sind. Unterstützt auch Paginierung via \`start\_after\_id\` oder \`end\_before\_id\`, wenn keine Filter gesetzt sind.\
> \### Abfrageparameter - \*\*start\_after\_id\*\* \*(string, optional)\*: Sitzungs-ID, nach der die Paginierung beginnen soll. Wird nur verwendet, wenn keine Filter gesetzt sind. - \*\*end\_before\_id\*\* \*(string, optional)\*: Sitzungs-ID, vor der die Paginierung enden soll. Wird nur verwendet, wenn keine Filter gesetzt sind. - \*\*limit\*\* \*(integer, optional)\*: Maximale Anzahl der abzurufenden Sitzungen (Standard=10). - \*\*activity\*\* \*(string, optional)\*: Filter nach Aktivitätstyp (z.B. 'Running', 'Vertical Jump'). - \*\*start\_date\*\* \*(string, optional, Format: dd/mm/yyyy)\*: Filtert Sitzungen, die an oder nach diesem Datum erstellt wurden. - \*\*end\_date\*\* \*(string, optional, Format: dd/mm/yyyy)\*: Filtert Sitzungen, die an oder vor diesem Datum erstellt wurden. - \*\*title\*\* \*(string, optional)\*: Filtert Sitzungen, deren Titel diese Teilzeichenkette enthält (Groß-/Kleinschreibung wird ignoriert). - \*\*user\_id\*\* \*(string, optional)\*: Filtert nach Benutzer-ID, die in der Sitzung gespeichert ist. | \*\*uploaded\_by\*\* | string | \*\*NEU\*\*\&nbsp;UID des Benutzers, der das Rohvideo hochgeladen hat. | | \*\*video\_status\*\* | string \`processed\\|failed\` | \*\*NEU\*\* aktueller Status. |\
> \### Antwortstruktur (HTTP 200) Bei Erfolg enthält die Antwort ein JSON-Objekt mit: - \*\*query\_count\*\* \*(integer)\*: Die Gesamtzahl der passenden Sitzungen. - \*\*sessions\*\* \*(object)\*: Ein Wörterbuch von Sitzungsdokumenten, geordnet nach ihren Sitzungs-IDs. - \*\*first\_doc\_id\*\* \*(string oder null)\*: Die ID des ersten Dokuments im zurückgegebenen Satz. - \*\*last\_doc\_id\*\* \*(string oder null)\*: Die ID des letzten Dokuments im zurückgegebenen Satz.\
> Jedes Sitzungsobjekt kann Felder wie \`video\_url\`, \`activity\`, \`created\_at\`, \`title\` usw. enthalten, plus verschachtelte Daten (z.B. \`report\_comments\`, \`metrics\`). Beachten Sie, dass \`created\_at\` als verschachteltes Objekt mit \`date\` und \`time\` zurückgegeben wird.\
> \### Fehlerbehandlung - \*\*400 Bad Request\*\*: Ungültige Parameter (z.B. falsch formatierte Datumszeichenkette) oder fehlendes Benutzertoken. - \*\*401 Unauthorized\*\*: Das Token fehlt oder ist ungültig. - \*\*403 Forbidden\*\*: Der Benutzer hat keine Administratorrechte. - \*\*404 Not Found\*\*: Keine passenden Sitzungen gefunden. - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist aufgetreten.\
> \### Sicherheit Ein gültiger API-KEY-Token muss im \`Authorization\`-Header bereitgestellt werden.

```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":{"/session-management/sessions/filter/":{"get":{"operationId":"session-management_sessions_filter_list","summary":"Gefilterte Sitzungen abrufen","description":"Ruft Benutzersitzungen ab, die nach optionalen Parametern wie Datumsbereich, Aktivitätstyp, Titel oder Benutzer-ID gefiltert sind. Unterstützt auch Paginierung via `start_after_id` oder `end_before_id`, wenn keine Filter gesetzt sind.\n### Abfrageparameter - **start_after_id** *(string, optional)*: Sitzungs-ID, nach der die Paginierung beginnen soll. Wird nur verwendet, wenn keine Filter gesetzt sind. - **end_before_id** *(string, optional)*: Sitzungs-ID, vor der die Paginierung enden soll. Wird nur verwendet, wenn keine Filter gesetzt sind. - **limit** *(integer, optional)*: Maximale Anzahl der abzurufenden Sitzungen (Standard=10). - **activity** *(string, optional)*: Filter nach Aktivitätstyp (z.B. 'Running', 'Vertical Jump'). - **start_date** *(string, optional, Format: dd/mm/yyyy)*: Filtert Sitzungen, die an oder nach diesem Datum erstellt wurden. - **end_date** *(string, optional, Format: dd/mm/yyyy)*: Filtert Sitzungen, die an oder vor diesem Datum erstellt wurden. - **title** *(string, optional)*: Filtert Sitzungen, deren Titel diese Teilzeichenkette enthält (Groß-/Kleinschreibung wird ignoriert). - **user_id** *(string, optional)*: Filtert nach Benutzer-ID, die in der Sitzung gespeichert ist. | **uploaded_by** | string | **NEU**&nbsp;UID des Benutzers, der das Rohvideo hochgeladen hat. | | **video_status** | string `processed\\|failed` | **NEU** aktueller Status. |\n### Antwortstruktur (HTTP 200) Bei Erfolg enthält die Antwort ein JSON-Objekt mit: - **query_count** *(integer)*: Die Gesamtzahl der passenden Sitzungen. - **sessions** *(object)*: Ein Wörterbuch von Sitzungsdokumenten, geordnet nach ihren Sitzungs-IDs. - **first_doc_id** *(string oder null)*: Die ID des ersten Dokuments im zurückgegebenen Satz. - **last_doc_id** *(string oder null)*: Die ID des letzten Dokuments im zurückgegebenen Satz.\nJedes Sitzungsobjekt kann Felder wie `video_url`, `activity`, `created_at`, `title` usw. enthalten, plus verschachtelte Daten (z.B. `report_comments`, `metrics`). Beachten Sie, dass `created_at` als verschachteltes Objekt mit `date` und `time` zurückgegeben wird.\n### Fehlerbehandlung - **400 Bad Request**: Ungültige Parameter (z.B. falsch formatierte Datumszeichenkette) oder fehlendes Benutzertoken. - **401 Unauthorized**: Das Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat keine Administratorrechte. - **404 Not Found**: Keine passenden Sitzungen gefunden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist aufgetreten.\n### Sicherheit Ein gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.","parameters":[{"schema":{"type":"string"},"name":"start_after_id","in":"query","description":"Sitzungs-ID, nach der die Paginierung beginnen soll (wird nur verwendet, wenn keine Filter gesetzt sind).","required":false},{"schema":{"type":"string"},"name":"end_before_id","in":"query","description":"Sitzungs-ID, vor der die Paginierung enden soll (wird nur verwendet, wenn keine Filter gesetzt sind).","required":false},{"schema":{"type":"integer"},"name":"limit","in":"query","description":"Maximale Anzahl der abzurufenden Sitzungen (Standard=10).","required":false},{"schema":{"type":"string","enum":["Running","Weightlifting","Vertical Jump","Mobility Assessment"]},"name":"activity","in":"query","description":"Aktivitätstyp-Filter (z.B. 'Running', 'Weightlifting', 'Vertical Jump' oder 'Mobility Assessment').","required":false},{"schema":{"type":"string"},"name":"start_date","in":"query","description":"Filtert Sitzungen, die an oder nach diesem Datum erstellt wurden (dd/mm/yyyy).","required":false},{"schema":{"type":"string"},"name":"end_date","in":"query","description":"Filtert Sitzungen, die an oder vor diesem Datum erstellt wurden (dd/mm/yyyy).","required":false},{"schema":{"type":"string"},"name":"title","in":"query","description":"Filtert Sitzungen, deren Titel diese Teilzeichenkette enthält (Groß-/Kleinschreibung wird ignoriert).","required":false},{"schema":{"type":"string"},"name":"user_id","in":"query","description":"Filtert nach Benutzer-ID, die in der Sitzung gespeichert ist.","required":false},{"schema":{"type":"string"},"name":"uploaded_by","in":"query","description":"ID des Benutzers (Admin / Sub-Admin), der das Video hochgeladen hat.","required":false},{"schema":{"type":"string","enum":["processed","failed"]},"name":"video_status","in":"query","description":"Verarbeitungsstatus des Sitzungsvideos.","required":false}],"responses":{"200":{"description":"Gefilterte Sitzungen erfolgreich abgerufen.","content":{"application/json":{"schema":{"type":"object","properties":{"query_count":{"description":"Gesamtzahl der passenden Sitzungen.","type":"integer"},"sessions":{"description":"Wörterbuch von Sitzungsdokumenten, geordnet nach ihren IDs.","type":"object","additionalProperties":{"type":"object"}},"first_doc_id":{"description":"ID der ersten Sitzung im Ergebnis oder null, falls keine vorhanden.","type":"string"},"last_doc_id":{"description":"ID der letzten Sitzung im Ergebnis oder null, falls keine vorhanden.","type":"string"}}}}}},"400":{"description":"Bad Request - Möglicherweise ungültige Parameter (falsch formatiertes Datum usw.) oder fehlendes Benutzertoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung, die den Grund für den ungültigen Request beschreibt.","type":"string"}}}}}},"401":{"description":"Unauthorized - Fehlendes oder ungültiges Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Authentifizierungsfehler.","type":"string"}}}}}},"403":{"description":"Forbidden - Der Benutzer hat keine Administratorrechte.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Autorisierungsfehler.","type":"string"}}}}}},"404":{"description":"Not Found - Keine passenden Sitzungen gefunden oder Ressource nicht verfügbar.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Meldung, dass die Sitzungen nicht abgerufen werden konnten.","type":"string"}}}}}},"500":{"description":"Internal Server Error - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detaillierte Fehlermeldung für Serverprobleme.","type":"string"}}}}}}},"tags":["session-management"]}}}}
```

## Sitzungsdaten aktualisieren

> Aktualisiert Sitzungsdetails (wie Titel und Erstellungszeitpunkt) für eine bestimmte Sitzung. Erfordert Administratorrechte und einen gültigen Zahlungsplan.\
> \### Pfadparameter\
> \- \*\*session\_id\*\* \*(string, erforderlich)\*: Der eindeutige Sitzungsbezeichner.\
> \### Anfragekörper (JSON)\
> \- \*\*title\*\* \*(string, optional)\*: Der aktualisierte Titel für die Sitzung.\
> \- \*\*created\_at\*\* \*(string, optional, Format: \`YYYY-MM-DD HH:MM:SS\`)\*: Der aktualisierte Zeitstempel der Sitzung.\
> \### Antwortstruktur\
> Bei Erfolg enthält die Antwort:\
> \- \*\*success\*\* \*(string)\*: Bestätigung, dass die Sitzung aktualisiert wurde.\
> \### Fehlerantworten\
> \- \*\*400 Bad Request\*\*: Ungültige Anfrageparameter oder fehlende erforderliche Daten. - \*\*401 Unauthorized\*\*: Fehlender oder ungültiger Zugriffstoken. - \*\*403 Forbidden\*\*: Unzureichende Berechtigungen oder ungültiger Zahlungsplan. - \*\*404 Not Found\*\*: Sitzung nicht gefunden. - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist aufgetreten.<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":{"/session-management/sessions/{session_id}":{"put":{"operationId":"session-management_sessions_update","summary":"Sitzungsdaten aktualisieren","description":"Aktualisiert Sitzungsdetails (wie Titel und Erstellungszeitpunkt) für eine bestimmte Sitzung. Erfordert Administratorrechte und einen gültigen Zahlungsplan.\n### Pfadparameter\n- **session_id** *(string, erforderlich)*: Der eindeutige Sitzungsbezeichner.\n### Anfragekörper (JSON)\n- **title** *(string, optional)*: Der aktualisierte Titel für die Sitzung.\n- **created_at** *(string, optional, Format: `YYYY-MM-DD HH:MM:SS`)*: Der aktualisierte Zeitstempel der Sitzung.\n### Antwortstruktur\nBei Erfolg enthält die Antwort:\n- **success** *(string)*: Bestätigung, dass die Sitzung aktualisiert wurde.\n### Fehlerantworten\n- **400 Bad Request**: Ungültige Anfrageparameter oder fehlende erforderliche Daten. - **401 Unauthorized**: Fehlender oder ungültiger Zugriffstoken. - **403 Forbidden**: Unzureichende Berechtigungen oder ungültiger Zahlungsplan. - **404 Not Found**: Sitzung nicht gefunden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist aufgetreten.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Die Sitzungs-ID, deren Details aktualisiert werden sollen.","required":true}],"responses":{"200":{"description":"Sitzung erfolgreich aktualisiert.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"description":"Bestätigungsnachricht.","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige Parameter oder fehlende Daten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die erklärt, warum die Anfrage ungültig war.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehler, der anzeigt, dass kein gültiger API-KEY-Token bereitgestellt wurde.","type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer hat nicht die erforderlichen Berechtigungen, um Gesamtmetriken abzurufen.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehler, der auf unzureichende Berechtigungen hinweist.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Die angegebene Sitzungs-ID existiert nicht.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass die Sitzung nicht gefunden wurde.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung zur Fehlerbehebung.","type":"string"}}}}}}},"tags":["session-management"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"description":"Neuer Titel für die Sitzung.","type":"string"},"created_at":{"description":"Aktualisierter Zeitstempel der Sitzung im Format `YYYY-MM-DD HH:MM:SS`.","type":"string","format":"date-time"}}}}},"required":true}}}}}
```

## Sitzung löschen

> Löscht eine bestimmte Sitzung und alle zugehörigen Ressourcen, einschließlich Sitzungsdaten, Videodateien, Unterkollektionen und Berichten.\
> \### Pfadparameter\
> \- \*\*session\_id\*\* \*(string, erforderlich)\*: Der eindeutige Sitzungsbezeichner.\
> \### Antwortstruktur\
> Bei Erfolg enthält die Antwort:\
> \- \*\*success\*\* \*(string)\*: Bestätigung, dass die Sitzung gelöscht wurde.\
> \### Fehlerantworten\
> \- \*\*400 Bad Request\*\*: Ungültige Anfrageparameter. - \*\*401 Unauthorized\*\*: Token ist ungültig oder fehlt. - \*\*403 Forbidden\*\*: Benutzer hat keine Administratorrechte. - \*\*404 Not Found\*\*: Sitzung nicht gefunden. - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist aufgetreten.<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":{"/session-management/sessions/{session_id}":{"delete":{"operationId":"session-management_sessions_delete","summary":"Sitzung löschen","description":"Löscht eine bestimmte Sitzung und alle zugehörigen Ressourcen, einschließlich Sitzungsdaten, Videodateien, Unterkollektionen und Berichten.\n### Pfadparameter\n- **session_id** *(string, erforderlich)*: Der eindeutige Sitzungsbezeichner.\n### Antwortstruktur\nBei Erfolg enthält die Antwort:\n- **success** *(string)*: Bestätigung, dass die Sitzung gelöscht wurde.\n### Fehlerantworten\n- **400 Bad Request**: Ungültige Anfrageparameter. - **401 Unauthorized**: Token ist ungültig oder fehlt. - **403 Forbidden**: Benutzer hat keine Administratorrechte. - **404 Not Found**: Sitzung nicht gefunden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist aufgetreten.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Die zu löschende Sitzungs-ID.","required":true}],"responses":{"200":{"description":"Sitzung erfolgreich gelöscht.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"description":"Bestätigungsnachricht.","type":"string"}}}}}},"400":{"description":"Ungültige Anfrage - Ungültige Parameter oder fehlende Daten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die erklärt, warum die Anfrage ungültig war.","type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Token ist ungültig oder abgelaufen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Authentifizierungsfehler.","type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Berechtigungen.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Autorisierungsfehler.","type":"string"}}}}}},"404":{"description":"Nicht gefunden - Die angegebene Sitzungs-ID existiert nicht.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung, die anzeigt, dass die Sitzung nicht gefunden wurde.","type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Fehlermeldung zur Fehlerbehebung.","type":"string"}}}}}}},"tags":["session-management"]}}}}
```

## Analysierte Video-URL abrufen

> Ruft die analysierte Video-URL für eine bestimmte Sitzung ab oder versucht, sie zu erstellen, falls sie nicht existiert.\
> \### Pfadparameter\
> \- \*\*session\_id\*\* \*(string, erforderlich)\*: Der eindeutige Bezeichner der Sitzung.\
> \### Abfrageparameter\
> Diese optionalen Flags bestimmen, welche Art von Analyse durchgeführt werden soll, falls das Video nicht existiert:\
> \- \*\*is\_jump\*\* \*(boolean, optional)\*: Gibt an, ob diese Sitzung für Sprunganalyse ist. - \*\*is\_weight\*\* \*(boolean, optional)\*: Gibt an, ob diese Sitzung für Gewichtheben-Analyse ist. - \*\*download\*\* \*(boolean, optional)\*: Wenn \`true\`, gibt eine signierte URL zurück,\
> &#x20; die den Browser zwingt, das Video herunterzuladen, anstatt es anzuzeigen.\
> \
> \### Antwort (HTTP 200)\
> Gibt bei Erfolg ein JSON-Objekt mit einem \`analyzed\_video\_url\`-Schlüssel zurück:\
> \`\`\`json {\
> &#x20; "analyzed\_video\_url": "<https://storage.googleapis.com/.../analyzed\\_video.mp4"\\>
> } \`\`\`\
> \### Fehlerbehandlung\
> \- \*\*400 Bad Request\*\*: Ungültige Parameter (z.B. fehlende oder ungültige Admin-UID). - \*\*401 Unauthorized\*\*: Token fehlt oder ist ungültig. - \*\*403 Forbidden\*\*: Der Benutzer hat nicht die erforderlichen Rechte oder Plan. - \*\*404 Not Found\*\*: Die Sitzungsdaten oder Ressourcen konnten nicht gefunden werden. - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist auf dem Server aufgetreten.\
> \### Sicherheit\
> Ein gültiger API-KEY-Token muss im \`Authorization\`-Header bereitgestellt werden.<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":{"/session-management/sessions/{session_id}/analyzed-video/":{"get":{"operationId":"session-management_sessions_analyzed-video_list","summary":"Analysierte Video-URL abrufen","description":"Ruft die analysierte Video-URL für eine bestimmte Sitzung ab oder versucht, sie zu erstellen, falls sie nicht existiert.\n### Pfadparameter\n- **session_id** *(string, erforderlich)*: Der eindeutige Bezeichner der Sitzung.\n### Abfrageparameter\nDiese optionalen Flags bestimmen, welche Art von Analyse durchgeführt werden soll, falls das Video nicht existiert:\n- **is_jump** *(boolean, optional)*: Gibt an, ob diese Sitzung für Sprunganalyse ist. - **is_weight** *(boolean, optional)*: Gibt an, ob diese Sitzung für Gewichtheben-Analyse ist. - **download** *(boolean, optional)*: Wenn `true`, gibt eine signierte URL zurück,\n  die den Browser zwingt, das Video herunterzuladen, anstatt es anzuzeigen.\n\n### Antwort (HTTP 200)\nGibt bei Erfolg ein JSON-Objekt mit einem `analyzed_video_url`-Schlüssel zurück:\n```json {\n  \"analyzed_video_url\": \"https://storage.googleapis.com/.../analyzed_video.mp4\"\n} ```\n### Fehlerbehandlung\n- **400 Bad Request**: Ungültige Parameter (z.B. fehlende oder ungültige Admin-UID). - **401 Unauthorized**: Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat nicht die erforderlichen Rechte oder Plan. - **404 Not Found**: Die Sitzungsdaten oder Ressourcen konnten nicht gefunden werden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist auf dem Server aufgetreten.\n### Sicherheit\nEin gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Die Sitzungs-ID, für die das analysierte Video abgerufen oder erstellt werden soll.","required":true},{"schema":{"type":"boolean"},"name":"is_jump","in":"query","description":"Gibt an, ob diese Sitzung für Sprunganalyse ist.","required":false},{"schema":{"type":"boolean"},"name":"is_weight","in":"query","description":"Gibt an, ob diese Sitzung für Gewichtheben-Analyse ist.","required":false},{"schema":{"type":"boolean"},"name":"download","in":"query","description":"Wenn true, gibt eine signierte URL zurück, die den Download des Videos erzwingt.","required":false}],"responses":{"200":{"description":"Analysierte Video-URL erfolgreich abgerufen.","content":{"application/json":{"schema":{"type":"object","properties":{"analyzed_video_url":{"description":"URL des analysierten Videos.","type":"string","format":"uri"}}}}}},"400":{"description":"Ungültige Anfrage - Möglicherweise ungültige Parameter.","content":{"application/json":{"schema":{"description":"Fehlerschema für ungültige Anfragen (z.B. falsch formatierte UID)","type":"object","properties":{"error":{"type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Token ist ungültig oder fehlt.","content":{"application/json":{"schema":{"description":"Fehlerschema für fehlenden oder ungültigen Token","type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Verboten - Benutzer hat nicht die erforderlichen Rechte oder Plan.","content":{"application/json":{"schema":{"description":"Fehlerschema für verbotenen Zugriff","type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Nicht gefunden - Sitzungsdaten oder Ressource nicht gefunden.","content":{"application/json":{"schema":{"description":"Fehlerschema für fehlende Sitzung oder Ressource","type":"object","properties":{"error":{"type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein serverseitiger Fehler ist aufgetreten.","content":{"application/json":{"schema":{"description":"Fehlerschema für unerwartete Serverfehler","type":"object","properties":{"error":{"type":"string"}}}}}}},"tags":["session-management"]}}}}
````

## Analysiertes Video hochladen/erstellen

> Lädt ein analysiertes Video für eine bestimmte Sitzung hoch oder erstellt es und gibt dessen URL zurück.\
> \### Pfadparameter\
> \- \*\*session\_id\*\* \*(string, erforderlich)\*: Der eindeutige Bezeichner der Sitzung.\
> \### Anfragekörper (JSON)\
> \`\`\`json {\
> &#x20; "is\_jump": true,\
> &#x20; "is\_weight": false\
> } \`\`\`\
> \- \*\*is\_jump\*\* \*(boolean, optional)\*: Wenn true, behandelt dies als Sprung-Sitzung. - \*\*is\_weight\*\* \*(boolean, optional)\*: Wenn true, behandelt dies als Gewichtheben-Sitzung.\
> \### Antwortstruktur (HTTP 200)\
> Bei Erfolg gibt ein JSON-Objekt mit der \`analyzed\_video\_url\` zurück:\
> \`\`\`json {\
> &#x20; "analyzed\_video\_url": "<https://storage.googleapis.com/.../analyzed\\_video.mp4"\\>
> } \`\`\`\
> \### Fehlerbehandlung\
> \- \*\*400 Bad Request\*\*: Ungültige Parameter oder Sitzung bereits analysiert. - \*\*401 Unauthorized\*\*: Token fehlt oder ist ungültig. - \*\*403 Forbidden\*\*: Der Benutzer hat keinen gültigen Plan. - \*\*404 Not Found\*\*: Sitzungsdaten nicht gefunden. - \*\*500 Internal Server Error\*\*: Ein unerwarteter Fehler ist auf dem Server aufgetreten.\
> \### Sicherheit\
> Ein gültiger API-KEY-Token muss im \`Authorization\`-Header bereitgestellt werden.<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":{"/session-management/sessions/{session_id}/analyzed-video/":{"post":{"operationId":"session-management_sessions_analyzed-video_create","summary":"Analysiertes Video hochladen/erstellen","description":"Lädt ein analysiertes Video für eine bestimmte Sitzung hoch oder erstellt es und gibt dessen URL zurück.\n### Pfadparameter\n- **session_id** *(string, erforderlich)*: Der eindeutige Bezeichner der Sitzung.\n### Anfragekörper (JSON)\n```json {\n  \"is_jump\": true,\n  \"is_weight\": false\n} ```\n- **is_jump** *(boolean, optional)*: Wenn true, behandelt dies als Sprung-Sitzung. - **is_weight** *(boolean, optional)*: Wenn true, behandelt dies als Gewichtheben-Sitzung.\n### Antwortstruktur (HTTP 200)\nBei Erfolg gibt ein JSON-Objekt mit der `analyzed_video_url` zurück:\n```json {\n  \"analyzed_video_url\": \"https://storage.googleapis.com/.../analyzed_video.mp4\"\n} ```\n### Fehlerbehandlung\n- **400 Bad Request**: Ungültige Parameter oder Sitzung bereits analysiert. - **401 Unauthorized**: Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat keinen gültigen Plan. - **404 Not Found**: Sitzungsdaten nicht gefunden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist auf dem Server aufgetreten.\n### Sicherheit\nEin gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.\n","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"Die Sitzungs-ID, für die das analysierte Video hochgeladen/erstellt werden soll.","required":true}],"responses":{"200":{"description":"Analysierte Video-URL erfolgreich generiert oder aktualisiert.","content":{"application/json":{"schema":{"type":"object","properties":{"analyzed_video_url":{"description":"URL des neu generierten oder aktualisierten analysierten Videos.","type":"string","format":"uri"}}}}}},"400":{"description":"Ungültige Anfrage - Möglicherweise ungültige Sitzungsdaten oder Video bereits analysiert.\n","content":{"application/json":{"schema":{"description":"Fehlerschema für ungültige Anfragen oder bereits analysiertes Video","type":"object","properties":{"error":{"type":"string"}}}}}},"401":{"description":"Nicht autorisiert - Der Token fehlt oder ist ungültig.","content":{"application/json":{"schema":{"description":"Fehlerschema für fehlenden oder ungültigen Token","type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Verboten - Der Benutzer hat keinen gültigen Zahlungsplan.","content":{"application/json":{"schema":{"description":"Fehlerschema für unzureichende Planberechtigungen","type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Nicht gefunden - Sitzung nicht gefunden oder Erstellung fehlgeschlagen.","content":{"application/json":{"schema":{"description":"Fehlerschema für fehlende Sitzungsdaten oder Ressource","type":"object","properties":{"error":{"type":"string"}}}}}},"500":{"description":"Interner Serverfehler - Ein serverseitiger Fehler ist aufgetreten.","content":{"application/json":{"schema":{"description":"Fehlerschema für unerwartete Serverfehler","type":"object","properties":{"error":{"type":"string"}}}}}}},"tags":["session-management"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"is_jump":{"description":"Ob diese Sitzung sprungbezogen ist.","type":"boolean"},"is_weight":{"description":"Ob diese Sitzung gewichthebenbezogen ist.","type":"boolean"}}}}},"required":true}}}}}
````


---

# 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/managing-all-sessions.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.
