For the complete documentation index, see llms.txt. This page is also available as Markdown.

Laufen

Erstellt eine neue Video-Verarbeitungssitzung

post

Dieser Endpunkt ermöglicht es 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)

Folgende Felder müssen angegeben werden:

  • user_id (string, erforderlich): Die ID des Benutzers, für den diese Sitzung erstellt wird. - video (Datei, erforderlich): Die zu verarbeitende Videodatei. - session_name (string, optional): Ein lesbarer Name/Titel für die Sitzung. - incline_degree (string oder number, optional): Numerischer Wert für den Neigungswinkel. - body_joint_angles (array[string], optional): Eine kommagetrennte Liste von Gelenknamen (z.B. 'elbow, knee, ankle'). Standardwert ist ['all'], falls nicht angegeben.

Antwortstruktur

Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit: - session_id (string): Eine eindeutige Kennung 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. Gültiger API-KEY-Token im Authorization-Header. 3. Der Aufrufer benötigt Admin-Rechte, um 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: ```bash curl -X POST \

 -H 'Content-Type: multipart/form-data' \
 -H 'Authorization: API-KEY <YOUR_ADMIN_TOKEN>' \
 -F 'user_id=someUserId123' \
 -F 'video=@/path/to/video.mp4' \
 -F 'session_name=Custom Session' \
 -F 'incline_degree=5' \
 -F 'body_joint_angles=elbow, knee, ankle' \
 https://<backend-link>/running/management/sessions/
Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Body
user_idstringErforderlich

Erforderlich. Die ID des Benutzers, für den diese Sitzung erstellt wird (Formularfeld: Text).

videostringErforderlich

Erforderlich. Die zu verarbeitende Videodatei (Formularfeldtyp: Datei).

session_namestringOptional

Optional. Ein beschreibender Name für die Sitzung (Formularfeld: Text).

incline_degreestringOptional

Optional. Ein numerischer String, der den Neigungswinkel angibt (Formularfeld: Text).

body_joint_anglesarrayOptional

Optional. Eine kommagetrennte Liste von Gelenknamen. Verfügbare Werte: ankle, knee, elbow, hip, shoulder. Beispiel: ankle,knee,hip

Antworten
200

Video-Verarbeitungssitzung erfolgreich erstellt (HTTP 200).

application/json
session_idstringErforderlich

Die eindeutige Kennung für die erstellte Sitzung.

titlestringErforderlich

Der Sitzungstitel (Standardwert, falls nicht angegeben).

post/running/sessions/
POST /running/sessions/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 102

"user_id='text'&video='text'&session_name='text'&incline_degree='text'&body_joint_angles=[]"
{
  "session_id": "text",
  "title": "text"
}

Ruft Details einer Laufsitzung ab

get

Ruft detaillierte Informationen für eine spezifische Laufsitzung ab, die durch die session_id identifiziert wird.

Pfadparameter - session_id (string, erforderlich): Die eindeutige Kennung der abzurufenden Sitzung.

Abfrageparameter - demo (boolean, optional): Auf true setzen, um Demo-Laufsitzungsdaten anstelle echter Daten abzurufen.

Antwortstruktur Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit folgenden Feldern: - metrics (object): Ein Wörterbuch mit Metriken-Arrays (z.B. Geschwindigkeit, Kadenz, Distanz). - angles (object): Ein Wörterbuch mit Winkel-Arrays (z.B. lhip_angle, rsho_angle). - all_timestamps (array[number]): Eine Liste von Zeitstempeln (in Sekunden) für die Sitzungsdaten. - analyzed_video_url (string, URI): Die URL des analysierten Videos (mit Keypoint-Overlay). - video_url (string, URI): Die URL des hochgeladenen Originalvideos. - segments (integer): Die Anzahl der verarbeiteten Segmente. - created_at (object): Enthält das Erstellungsdatum und -zeit. - user_name (string): Der Name des mit der Sitzung verknüpften Benutzers. - activity (string): Die Aktivitätsart (z.B. 'Running'). - title (string): Der Titel der Sitzung. - calculated_metrics (object): Ein Wörterbuch mit berechneten Statistiken. - summary (string): Eine optionale textuelle Zusammenfassung der Sitzung.

Fehlerbehandlung - 400 Ungültige Anfrage: Ungültige Parameter (z.B. ungültige Admin-UID). - 401 Nicht autorisiert: Fehlender oder ungültiger Zugriffstoken. - 403 Verboten: Unzureichende Berechtigungen zum Zugriff auf die Sitzung. - 404 Nicht gefunden: Die Sitzung existiert nicht oder ist für die angegebene Aktivität ungültig. - 500 Interner Serverfehler: Ein unerwarteter serverseitiger Fehler.

Sicherheit Ein gültiger API-KEY-Token muss im Authorization-Header angegeben werden.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
demobooleanOptional

Auf true setzen, um Demo-Laufsitzungsdaten anstelle echter Daten abzurufen.

Antworten
200

Sitzungsdaten erfolgreich abgerufen.

application/json
all_timestampsnumber[]Erforderlich

Liste von Zeitstempeln, die mit der Sitzung verknüpft sind.

analyzed_video_urlstring · uriOptional

Die öffentliche URL des analysierten Videos.

video_urlstring · uriOptional

Die öffentliche URL des Originalvideos.

segmentsintegerOptional

Die Anzahl der verarbeiteten Segmente.

user_namestringOptional

Der Name des mit dieser Sitzung verknüpften Benutzers.

activitystringErforderlich

Die Art der Aktivität (z.B. "Running").

titlestringOptional

Der Sitzungstitel.

summarystringOptional

Eine optionale Zusammenfassung der Sitzung.

get/running/sessions/{session_id}/
GET /running/sessions/{session_id}/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "metrics": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "angles": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "all_timestamps": [
    1
  ],
  "analyzed_video_url": "https://example.com",
  "video_url": "https://example.com",
  "segments": 1,
  "created_at": {
    "date": "text",
    "time": "text"
  },
  "user_name": "text",
  "activity": "text",
  "title": "text",
  "calculated_metrics": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "summary": "text"
}

Lauf-Sitzungsdaten exportieren

get

Ruft detaillierte Sitzungsdaten für den Export einer bestimmten Lauf-Sitzung ab, die durch die session_id identifiziert wird.

Pfadparameter

  • session_id (string, erforderlich): Der eindeutige Identifikator der zu exportierenden Sitzung.

Abfrageparameter

  • demo (boolean, optional): Auf true setzen, um die vorgefertigte Demo-Laufsitzung anstelle einer echten abzurufen.

Antwortstruktur (HTTP 200)

Die Antwort ist ein JSON-Objekt, das Folgendes enthält:

  • metrics (object): Ein Wörterbuch, in dem jeder Schlüssel eine Metrik (z.B. 'speed', 'cadence') darstellt und sein Wert ein Zahlenarray ist.

  • keypoints (object): Ein Wörterbuch, in dem jeder Schlüssel einen Keypoint (z.B. 'lknev', 'ltoev') darstellt und sein Wert ein Zahlenarray ist.

  • angles (object): Ein Wörterbuch, in dem jeder Schlüssel einen Winkel (z.B. 'lelb_angle', 'lhip_angle') darstellt und sein Wert ein Zahlenarray ist.

  • all_timestamps (array[number]): Ein Array von Zeitstempeln (in Sekunden), die den Datenpunkten entsprechen.

  • contact (array[boolean]): Ein Array von booleschen Werten, die den Kontaktstatus anzeigen.

  • activity (string): Der Aktivitätstyp (z.B. 'Running').

Fehlerbehandlung

  • 400 Bad Request: Die Anfrageparameter sind ungültig (z.B. eine ungültige Admin-UID).

  • 401 Unauthorized: Der Zugriffstoken fehlt oder ist ungültig.

  • 403 Forbidden: Der Benutzer hat nicht ausreichende Berechtigungen, um auf diese Sitzungsdaten zuzugreifen.

  • 404 Not Found: Die angeforderte Sitzung existiert nicht oder ist für die Aktivität ungültig.

  • 500 Internal Server Error: Ein unerwarteter Serverfehler ist aufgetreten.

Sicherheit

Ein gültiger API-KEY-Token muss im Authorization-Header bereitgestellt werden.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
demobooleanOptional

Auf true setzen, um die vorgefertigte Demo-Laufsitzung anstelle einer echten abzurufen.

Antworten
200

Sitzungsdaten erfolgreich exportiert.

application/json
all_timestampsnumber[]Erforderlich

Liste von Zeitstempeln (in Sekunden).

contactboolean[]Erforderlich

Array, das den Kontaktstatus anzeigt (true/false).

activitystringErforderlich

Der Aktivitätstyp (z.B. 'Running').

get/running/sessions/{session_id}/export/
GET /running/sessions/{session_id}/export/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "metrics": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "keypoints": {
    "ANY_ADDITIONAL_PROPERTY": [
      1
    ]
  },
  "angles": {
    "ANY_ADDITIONAL_PROPERTY": [
      1
    ]
  },
  "all_timestamps": [
    1
  ],
  "contact": [
    true
  ],
  "activity": "text"
}

Ruft Gesamtmetriken ab

get

Berechnet und gibt die Durchschnittsmetriken für alle Laufsitzungen des Admin-Benutzers zurück, zusammen mit den detaillierten Metriken und dem Erstellungszeitstempel der letzten Sitzung.

Antwortstruktur (HTTP 200)

Die Antwort ist ein JSON-Objekt mit folgender Struktur: - avg_metrics (object): Enthält die Durchschnittswerte aller Sitzungen. - last_session_metrics (object): Enthält detaillierte Metriken der letzten Sitzung. - last_session_created_at (object): Der Erstellungszeitstempel der letzten Sitzung.

Fehlerbehandlung - 400 Ungültige Anfrage: Ungültige Parameter (z.B. ungültige Admin-UID). - 401 Nicht autorisiert: Fehlender oder ungültiger Zugriffstoken. - 403 Verboten: Unzureichende Berechtigungen zum Abrufen der Gesamtmetriken. - 404 Nicht gefunden: Keine Sitzungen gefunden oder Metriken nicht verfügbar. - 500 Interner Serverfehler: Unerwarteter Fehler auf dem Server.

Sicherheit Ein gültiger API-KEY-Token muss im Authorization-Header angegeben werden.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Antworten
200

Gesamtmetriken erfolgreich abgerufen.

application/json
get/running/sessions/metrics/total/
GET /running/sessions/metrics/total/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "avg_metrics": {
    "avg_speed": 1,
    "avg_power": 1,
    "avg_cadence": 1,
    "avg_flight_time": 1
  },
  "last_session_metrics": {
    "speed": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "normalized_power": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "cadence": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "total_distance": 1,
    "power": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "stride_time": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "total_time": 1,
    "contact_time": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "contact_angle": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "incline": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "pace": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "stride_length": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "rbalance": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "flight_time": {
      "avg": 1,
      "min": 1,
      "max": 1
    },
    "footstrike": "text"
  },
  "last_session_created_at": {
    "date": "text",
    "time": "text"
  }
}

Laufform-Analysebericht

post

Ruft einen detaillierten Laufform-Analysebericht für eine bestimmte Sitzung ab. Der Endpunkt erfordert, dass der Benutzer einen gültigen Admin-Token und einen aktiven Abonnementplan (Pro, Premium, Enterprise oder Standard) hat.

Anfrage

  • Pfadparameter:

    • session_id (string, erforderlich): Der eindeutige Identifikator der Sitzung, für die der Laufform-Analysebericht angefordert wird.

  • Abfrageparameter:

    • demo (boolean, optional): Auf true setzen, um einen vorgefertigten Demo-Laufform-Analysebericht anstelle eines echten abzurufen.

Antwortstruktur (HTTP 200)

Die Antwort ist ein JSON-Objekt, das Folgendes enthält:

  • metrics (object): Schrittdurchschnittswerte wie speed, balance, cadence, contact_angle, eversion_velocity, knee_flexion, posture_angle, ankle_angle, com_oscillation, stride_angle, mean_h.

  • images (object): Drei repräsentative Momentaufnahmen mit den Schlüsseln contact_angle, push_angle, knee_ankle; jeder Wert ist eine öffentliche Bild-URL.

  • user_info (object): Informationen über den Benutzer, der die Sitzung eingereicht hat, einschließlich:

    • age (integer)

    • gender (string)

    • height (number, cm)

    • weight (number, kg)

    • email (string, email)

    • uid, display_name, admin_name, last_session, phone, brand, shoeModel, shoeSize, leg_length, ycom (verschiedene Typen)

  • form_comments (object, optional): GenAI-Empfehlungen für die Blöcke contact_angle, hip_extension_at_foot_takeoff, foot_contact_angle_and_torso_lean.

  • date (string): Das Datum, an dem der Bericht im Format TT/MM/JJJJ generiert wurde.

Fehlerbehandlung

  • 400 Bad Request: Ungültiger Token oder Parameter.

  • 401 Unauthorized: Token fehlt oder ist ungültig.

  • 403 Forbidden: Admin-Zugriff ist erforderlich.

  • 404 Not Found: Die Sitzung wurde nicht gefunden oder der Benutzer hat keinen gültigen Zahlungsplan.

  • 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.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
demobooleanOptional

Auf true setzen, um einen vorgefertigten Demo-Laufform-Analysebericht anstelle eines echten abzurufen.

Antworten
200

Laufform-Analysebericht erfolgreich abgerufen.

application/json
datestringErforderlich

Berichtsdatum im Format TT/MM/JJJJ.

Example: 13/07/2025
post/running/sessions/{session_id}/form-analysis/
POST /running/sessions/{session_id}/form-analysis/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "metrics": {
    "speed": 1,
    "balance": 1,
    "cadence": 1,
    "contact_angle": 1,
    "eversion_velocity": 1,
    "knee_flexion": 1,
    "posture_angle": 1,
    "ankle_angle": 1,
    "com_oscillation": 1,
    "stride_angle": 1,
    "mean_h": 1
  },
  "images": {
    "contact_angle": "https://storage.googleapis.com/.../contact_angle.png",
    "push_angle": "https://storage.googleapis.com/.../push_angle.png",
    "knee_ankle": "https://storage.googleapis.com/.../knee_ankle.png"
  },
  "user_info": {
    "age": 1,
    "gender": "text",
    "height": 1,
    "weight": 1,
    "email": "name@gmail.com",
    "uid": "text",
    "display_name": "text",
    "admin_name": "text",
    "last_session": "text",
    "phone": "text",
    "brand": "text",
    "shoeModel": "text",
    "shoeSize": 1,
    "leg_length": 1,
    "ycom": 1
  },
  "form_comments": {
    "contact_angle": "Empfehlung …",
    "hip_extension_at_foot_takeoff": "Empfehlung …",
    "foot_contact_angle_and_torso_lean": "Empfehlung …"
  },
  "date": "13/07/2025"
}

Form-Analyse-Kommentar-Threads erstellen

post

Generiert GenAI-Threads, die personalisierte Kommentare für jeden Laufform-Block (Kontaktwinkel, Hüftstreckung beim Fußabstoß, Fußkontaktwinkel & Oberkörperneigung) plus eine allgemeine Empfehlung erstellen. Gibt eine Zuordnung von Block-Schlüsseln zu Thread-IDs zurück.

Anfrage

  • session_id (Pfadparameter, erforderlich): Die ID der Laufsitzung, für die Kommentar-Threads generiert werden sollen.

Antwort (201)

Ein JSON-Objekt, das jeden Formblock-Schlüssel der entsprechenden GenAI-Thread-ID zuordnet:

  • contact_angle: Thread-ID für den Kontaktwinkel-Block.

  • push_angle: Thread-ID für den Schubwinkel-Block.

  • knee_ankle: Thread-ID für den Knie-Knöchel-Block.

  • general_form_recommendation: Thread-ID für die allgemeine Formempfehlung.

Fehlerbehandlung

  • 403 Forbidden: Benutzer hat keinen gültigen Zahlungsplan.

  • 404 Not Found: Sitzung nicht gefunden oder Abruf fehlgeschlagen.

  • 500 Internal Server Error: Unerwarteter Serverfehler.

Sicherheit

Erfordert einen gültigen API-KEY-Token oder API-Schlüssel in den Anfrage-Headern.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Antworten
201

Threads erfolgreich erstellt

application/json

Zuordnung von Formblock-Schlüsseln zu GenAI-Thread-IDs.

contact_anglestringErforderlich

Thread-ID für Kontaktwinkel-Block.

push_anglestringErforderlich

Thread-ID für Schubwinkel-Block.

knee_anklestringErforderlich

Thread-ID für Knie-Knöchel-Block.

general_form_recommendationstringErforderlich

Thread-ID für allgemeine Formempfehlung.

post/running/sessions/{session_id}/form-recommendations/
POST /running/sessions/{session_id}/form-recommendations/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "contact_angle": "thread_abc123",
  "push_angle": "thread_def456",
  "knee_ankle": "thread_ghi789",
  "general_form_recommendation": "thread_jkl012"
}

Ganganalyse-Bericht

post

Ruft einen detaillierten Ganganalyse-Bericht für eine bestimmte Sitzung ab. Der Endpunkt erfordert, dass der Benutzer über ein gültiges Admin-Token und einen aktiven Abonnementplan (Pro, Premium, Enterprise oder Standard) verfügt.

Anfrage

  • Pfadparameter:

    • session_id (string, erforderlich): Die eindeutige Kennung der Sitzung, für die der Ganganalyse-Bericht angefordert wird.

  • Abfrageparameter:

    • demo (boolean, optional): Auf true setzen, um einen vorgefertigten Demo-Ganganalyse-Bericht anstelle eines echten abzurufen.

Antwortstruktur (HTTP 200)

Die Antwort ist ein JSON-Objekt mit folgenden Inhalten:

  • left (object) und right (object): Jede Seite enthält Gang- analysedaten mit folgenden Feldern:

    • peak_time (number): Der ermittelte Spitzenzeitwert in der Ganganalyse.

    • initiator (string): Gibt an, welche Seite den Gangzyklus initiiert hat.

    • phases (object): Ein Objekt mit benannten Phasen (z.B. flight, takeoff, mid_stance, strike, new_strike), wobei jede Phase enthält:

      • video_frame (integer): Der entsprechende Videobild.

      • graph_phase (integer): Der Phasenwert für Diagramme.

      • video_phase (integer): Der Phasenwert in der Videotimeline.

      • image_url (string, URI): Öffentliche Bild-URL für den Phasen-Snapshot.

    • angles (object): Winkelmessungen für Gelenke wie posture_angle, lhip_angle usw. Jede enthält:

      • current (array[number]): Aktuelle Winkelwerte des Frames.

      • next (array[number]): Nächste vorhergesagte Werte.

      • std_dev (array[number]): Standardabweichungswerte.

    • graph_timestamps (array[number]): Zeitstempel (ms), die mit den Diagrammdaten abgestimmt sind.

  • user_info (object): Informationen über den Benutzer, der die Sitzung übermittelt hat, einschließlich:

    • age (integer)

    • gender (string)

    • height (number, cm)

    • weight (number, kg)

    • email (string, email)

    • uid, display_name, admin_name, last_session, session_count, phone, brand, shoeModel, shoeSize, leg_length, ycom (verschiedene Typen)

  • report_comments (object, optional): Vorschläge oder Hinweise für Winkel wie right_posture_angle, left_knee_angle usw.

  • date (string): Das Datum der Berichterstellung im Format TT/MM/JJJJ.

Fehlerbehandlung

  • 400 Bad Request: Ungültiges Token oder ungültige Parameter.

  • 401 Unauthorized: Token fehlt oder ist ungültig.

  • 403 Forbidden: Admin-Zugriff erforderlich.

  • 404 Not Found: Die Sitzung wurde nicht gefunden oder der Benutzer hat keinen gültigen Zahlungsplan.

  • 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.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
demobooleanOptional

Auf true setzen, um einen vorgefertigten Demo-Ganganalyse-Bericht anstelle eines echten abzurufen.

Antworten
200

Ganganalyse-Bericht erfolgreich abgerufen.

application/json
report_commentsobjectOptional

(Optional) Empfehlungen für Gelenkwinkel.

datestringErforderlich

Das Datum des Ganganalyse-Berichts im Format TT/MM/JJJJ.

post/running/sessions/{session_id}/gait-analysis/
POST /running/sessions/{session_id}/gait-analysis/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "left": {
    "peak_time": 1,
    "phases": {
      "flight": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "takeoff": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "mid_stance": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "new_strike": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "strike": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      }
    },
    "initiator": "text",
    "angles": {},
    "graph_timestamps": [
      1
    ]
  },
  "right": {
    "peak_time": 1,
    "phases": {
      "flight": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "takeoff": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "mid_stance": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "new_strike": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      },
      "strike": {
        "video_frame": 1,
        "graph_phase": 1,
        "video_phase": 1,
        "image_url": "https://example.com"
      }
    },
    "initiator": "text",
    "angles": {},
    "graph_timestamps": [
      1
    ]
  },
  "user_info": {
    "age": 1,
    "gender": "text",
    "height": 1,
    "weight": 1,
    "email": "name@gmail.com",
    "uid": "text",
    "display_name": "text",
    "admin_name": "text",
    "last_session": "text",
    "session_count": 1,
    "phone": "text",
    "brand": "text",
    "shoeModel": "text",
    "shoeSize": 1,
    "leg_length": 1,
    "ycom": 1
  },
  "report_comments": {},
  "date": "text"
}

Erstellt Empfehlungs-Threads für Ganganalyse

post

Erstellt Empfehlungs-Threads für Ganganalyse

Dieser Endpunkt generiert personalisierte Empfehlungs-Threads für eine bestimmte Sitzung basierend auf der Laufganganalyse des Benutzers. Jeder Thread bietet biomechanische Einblicke, Haltungstipps und Trainingsanleitungen für verschiedene Gelenkwinkel. Verwendungsbeispiel: Senden Sie eine POST-Anfrage an /running/sessions/{session_id}/recommendation/, wobei {session_id} die eindeutige Kennung der Sitzung ist. Parameter:

  • session_id (string, erforderlich): Die eindeutige ID der Sitzung, für die Threads generiert werden sollen. Antwortstruktur (HTTP 201): Gibt ein JSON-Objekt zurück, das jede Gangwinkelmetrik einer Thread-ID zuordnet, einschließlich linker und rechter Seite:

  • left_posture_angle, left_hip_angle, left_knee_angle, left_ankle_angle

  • right_posture_angle, right_hip_angle, right_knee_angle, right_ankle_angle Hinweise:

  • Die Sitzung muss gültig sein und einem Ganganalyse-Bericht entsprechen.

  • Erfordert einen aktiven Zahlungsplan (Pro, Premium, Enterprise oder Standard).

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Antworten
201

Threads erfolgreich erstellt.

application/json

Ein Wörterbuch, das Ganganalysemetriken Thread-IDs zuordnet.

left_hip_anglestringErforderlich

Thread-ID für die Empfehlungen zum linken Hüftwinkel.

left_posture_anglestringErforderlich

Thread-ID für die Empfehlungen zum linken Körperhaltungswinkel.

left_ankle_anglestringErforderlich

Thread-ID für die Empfehlungen zum linken Knöchelwinkel.

left_knee_anglestringErforderlich

Thread-ID für die Empfehlungen zum linken Kniewinkel.

right_posture_anglestringErforderlich

Thread-ID für die Empfehlungen zum rechten Körperhaltungswinkel.

right_knee_anglestringErforderlich

Thread-ID für die Empfehlungen zum rechten Kniewinkel.

right_hip_anglestringErforderlich

Thread-ID für die Empfehlungen zum rechten Hüftwinkel.

right_ankle_anglestringErforderlich

Thread-ID für die Empfehlungen zum rechten Knöchelwinkel.

post/running/sessions/{session_id}/recommendation/
POST /running/sessions/{session_id}/recommendation/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "left_hip_angle": "text",
  "left_posture_angle": "text",
  "left_ankle_angle": "text",
  "left_knee_angle": "text",
  "right_posture_angle": "text",
  "right_knee_angle": "text",
  "right_hip_angle": "text",
  "right_ankle_angle": "text"
}

Ruft Zusammenfassung einer Lauf-Sitzung ab

get

Ruft eine detaillierte Zusammenfassung einer Lauf-Sitzung anhand ihrer eindeutigen session_id ab. Diese Zusammenfassung enthält sowohl quantitative Leistungs- metrik als auch eine optionale qualitative Zusammenfassung, die von GenAI generiert wurde, falls verfügbar. Verwendungsanweisungen:

  1. Senden Sie eine GET-Anfrage mit der session_id im Pfadparameter.

  2. Der Endpunkt gibt ein JSON-Objekt zurück, das verschiedene Abschnitte der Sitzungszusammenfassung enthält.

Abfrageparameter

  • demo (boolean, optional): Auf true setzen, um eine vorgefertigte Demo-Zusammenfassung für diese Lauf-Sitzung abzurufen. Antwortstruktur:

  • summary_text (object, optional): Enthält GenAI-generierte Kommentare, falls verfügbar. Dieses Objekt kann folgende Schlüssel enthalten:

    • balance_and_posture: Kommentare zum Gleichgewicht und zur Körperhaltung des Athleten (z.B. Vorschläge zur Verbesserung des Laufgleichgewichts).

    • performance_metrics: Allgemeine Leistungskommentare wie Änderungen in Geschwindigkeit, Kadenz und Kraftabgabe.

    • running_mechanics: Beobachtungen zur Laufform, einschließlich Kontaktzeit, Flugzeit, Schrittzeit und Schrittlänge.

    • final_summary: Eine abschließende Gesamtbewertung der Sitzungsleistung.

    • distance_and_duration: Kommentare zur zurückgelegten Gesamtstrecke und Sitzungsdauer.

  • performance_metrics (object): Enthält aggregierte Leistungs- metrik mit ihren Minimal-, Maximal- und Durchschnittswerten sowie die Rohdaten als Array, die Folgendes abdecken:

    • speed (in m/s)

    • pace (in min/km)

    • cadence (Schritte/min)

    • power (in Watt)

    • normalized_power (in W/kg)

  • running_mechanics (object): Enthält folgende Laufmechanik-Daten:

    • contact_time (in Sekunden)

    • flight_time (in Sekunden)

    • stride_time (in Sekunden)

    • stride_length (in Metern)

    • footstrike: Eine Zeichenkette, die den häufigsten Fußaufsatztyp beschreibt (z.B. 'Vorfuß').

  • balance_and_posture (object): Enthält Metriken zu Gleichgewicht und Körperhaltung:

    • balance: Enthält Minimal-, Maximal-, Durchschnittswerte und ein Array von Gleichgewichtswerten.

    • contact_angle: Enthält Minimal-, Maximal-, Durchschnittswerte und ein Array von Kontaktwinkelwerten (in Grad).

  • distance_and_duration (object): Enthält Rohwerte für:

    • total_distance (in Metern)

    • total_time (in Sekunden)

  • user_information (object): Enthält detaillierte Benutzerdaten, einschließlich:

    • ycom: YCOM-Wert des Benutzers

    • weight: Gewicht des Benutzers in Kilogramm

    • age: Alter des Benutzers

    • height: Größe des Benutzers in Zentimetern

    • leg_length: Beinlänge des Benutzers

    • shoeSize: Schuhgröße des Benutzers

    • gender: Geschlecht des Benutzers

    • user: Die eindeutige Benutzer-ID

    • brand: Schuhmarkeninformationen (falls vorhanden)

    • shoeModel: Schuhmodellinformationen (falls vorhanden)

    • email: E-Mail-Adresse des Benutzers

    • display_name: Anzeigename des Benutzers

  • session_date (string): Das Datum der Sitzung in einem formatierten String (z.B. 'TT/MM/JJJJ'). Hinweis: Das Feld summary_text ist nur vorhanden, wenn GenAI-generierte Zusammenfassungskommentare für die Sitzung gespeichert wurden.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
demobooleanOptional

Auf true setzen, um eine vorgefertigte Demo-Zusammenfassung für diese Lauf-Sitzung abzurufen.

Antworten
200

Sitzungszusammenfassung erfolgreich abgerufen

application/json
session_datestringErforderlich

Formatiertes Datum der Sitzung (z.B., '07/04/2025')

get/running/sessions/{session_id}/summary/
GET /running/sessions/{session_id}/summary/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "summary_text": {
    "balance_and_posture": "text",
    "performance_metrics": "text",
    "running_mechanics": "text",
    "final_summary": "text",
    "distance_and_duration": "text"
  },
  "performance_metrics": {
    "speed": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "pace": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "cadence": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "power": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "normalized_power": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    }
  },
  "running_mechanics": {
    "contact_time": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "flight_time": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "stride_time": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "stride_length": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "footstrike": "text"
  },
  "balance_and_posture": {
    "balance": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    },
    "contact_angle": {
      "min": 1,
      "max": 1,
      "avg": 1,
      "values": [
        1
      ]
    }
  },
  "distance_and_duration": {
    "total_distance": 1,
    "total_time": 1
  },
  "user_information": {
    "ycom": 1,
    "weight": 1,
    "age": "text",
    "height": 1,
    "leg_length": 1,
    "shoeSize": 1,
    "gender": "text",
    "user": "text",
    "brand": "text",
    "shoeModel": "text",
    "email": "text",
    "display_name": "text"
  },
  "session_date": "text"
}

Generiert Zusammenfassung für eine Lauf-Sitzung

post

Löst die Generierung von Zusammenfassungs-Threads für eine Lauf-Sitzung aus. Dieser Endpunkt erstellt separate Zusammenfassungs-Threads für jeden Zusammenfassungsblock basierend auf Sitzungsmetriken, einschließlich Leistungsmetriken, Laufmechanik, Gleichgewicht und Körperhaltung sowie Strecke/Dauer, sowie einer abschließenden Gesamt- zusammenfassung. Gibt ein JSON-Objekt mit Thread-IDs für jeden Zusammenfassungsblock zurück.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
measurement_systemstring · enumOptional

Maßsystem: 'metric' oder 'imperial'

Mögliche Werte:
Antworten
201

Zusammenfassungs-Threads erfolgreich generiert.

application/json
Other propertiesstringOptional

Thread-ID entsprechend einem Zusammenfassungsblock

post/running/sessions/{session_id}/summary/
POST /running/sessions/{session_id}/summary/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "performance_metrics": "thread_id_1",
  "running_mechanics": "thread_id_2",
  "balance_and_posture": "thread_id_3",
  "final_summary": "thread_id_5"
}

Zuletzt aktualisiert

War das hilfreich?