Running
This endpoint allows an admin (or sub-admin) to upload a video file for processing and create a new "session" resource on behalf of another user. The server will return a session_id
that can be used to poll or retrieve the session details/results.
Request Body (Multipart/Form-Data)
You must supply the following fields:
user_id (string, required): The ID of the user on whose behalf this session is created.
video (file, required): The raw video file to be processed.
session_name (string, optional): A human-readable name/title for the session.
incline_degree (string or number, optional): Numeric value representing the incline degree.
body_joint_angles (array[string], optional): A comma-separated list of joint names (e.g. 'elbow, knee, ankle'). Defaults to ['all'] if not provided.
Response Structure
On success (HTTP 200), the response is a JSON object with:
session_id (string): A unique identifier for the created session.
title (string): The session title (defaults to a fallback if
session_name
was not provided).
Workflow
POST a multipart/form-data request containing the required fields
user_id
andvideo
, plus any optional fields.Provide A valid API-KEY token in the
Authorization
header.The caller must have admin privileges to successfully create a session for another user.
If successful, the server responds with
session_id
andtitle
.If an error occurs (e.g., missing fields, lack of permissions), a JSON object with an
error
key is returned.
Example cURL:
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/
Required. The ID of the user for whom this session is created (form field: text).
Required. The raw video file to be processed (form field type: file).
Optional. A descriptive name for the session (form field: text).
Optional. A numeric string indicating the incline degree (form field: text).
Optional. A comma-separated list of joint names. Available values: 'ankle'
, 'knee'
, 'elbow'
, 'hip'
, 'shoulder'
. Example: ankle,knee,hip
Video processing session created successfully (HTTP 200).
Bad Request - Possibly due to missing user_id
, missing video
, or invalid form data.
Unauthorized - Missing or invalid access token.
Forbidden - The user does not have admin permission to create sessions for others.
Not Found - Indicates business logic issues or resource limitations (e.g., session limit).
Internal Server Error - Unexpected error occurred on the server.
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"
}
Retrieves detailed information for a specific running session identified by the session_id
.
Path Parameter
session_id (string, required): The unique identifier of the session to retrieve.
Query Parameter
demo (boolean, optional): Set to
true
to retrieve the demo running session data instead of a real one.
Response Structure
On success (HTTP 200), the response is a JSON object containing the following fields:
metrics (object): A dictionary of metric arrays (e.g., speed, cadence, distance). Each key maps to an array of numbers.
angles (object): A dictionary of angle arrays (e.g., lhip_angle, rsho_angle). Each key maps to an array of numbers.
all_timestamps (array[number]): A list of timestamps (in seconds) for the session data.
analyzed_video_url (string, URI): The URL for the analyzed video (with keypoints overlay).
video_url (string, URI): The URL for the original uploaded video.
segments (integer): The number of segments processed.
created_at (object): An object containing:
date (string): The creation date in DD/MM/YYYY format.
time (string): The creation time in HH:MM AM/PM format.
user_name (string): The name of the user associated with the session.
activity (string): The activity type (e.g., 'Running').
title (string): The title of the session.
calculated_metrics (object): A dictionary containing computed statistics (such as averages, minima, and maxima) for various metrics.
summary (string): An optional textual summary of the session.
Error Handling
400 Bad Request: The request parameters are invalid (e.g., invalid admin UID).
401 Unauthorized: The access token is missing or invalid.
403 Forbidden: The user does not have sufficient privileges to access the session.
404 Not Found: The session does not exist or is not valid for the specified activity.
500 Internal Server Error: An unexpected server-side error occurred.
Security
A valid API-KEY token must be provided in the Authorization
header.
Set to true
to retrieve the demo running session data instead of a real one.
Session data successfully retrieved.
Bad Request - Invalid parameters or admin UID.
Unauthorized - Missing or invalid access token.
Forbidden - The user is not authorized to access this session.
Not Found - The requested session does not exist or the activity is not 'Running'.
Internal Server Error - An unexpected error occurred on the server.
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"
}
Retrieve a detailed summary of a running session using its unique session_id
. This summary includes both quantitative performance metrics and an optional qualitative summary generated by GenAI if available.
Usage Instructions:
Send a GET request with the
session_id
in the path parameter.The endpoint will return a JSON object that includes various sections of the session summary.
Query Parameter
demo (boolean, optional): Set to
true
to retrieve a pre-generated demo summary for this running session.
Response Structure:
summary_text (object, optional): Contains GenAI-generated commentary if available. This object may include the following keys:
balance_and_posture: Comments on the athlete's balance and posture (e.g. suggestions to improve running balance).
performance_metrics: Overall performance comments such as changes in speed, cadence, and power output.
running_mechanics: Observations on running form, including contact time, flight time, stride time, and stride length.
final_summary: A final overall assessment remark summarizing the session performance.
distance_and_duration: Comments on the total distance covered and session duration.
performance_metrics (object): Contains aggregated performance metrics with their minimum, maximum, average values, and the raw data as an array, covering the following:
speed (in m/s)
pace (in min/km)
cadence (steps/min)
power (in Watts)
normalized_power (in W/kg)
running_mechanics (object): Contains the following running mechanics data:
contact_time (in seconds)
flight_time (in seconds)
stride_time (in seconds)
stride_length (in meters)
footstrike: A string describing the most common footstrike type (e.g. 'forefoot').
balance_and_posture (object): Contains metrics related to balance and posture:
balance: Includes minimum, maximum, average, and array of balance scores.
contact_angle: Includes the minimum, maximum, average, and array of contact angle values (in degrees).
distance_and_duration (object): Contains raw values for:
total_distance (in meters)
total_time (in seconds)
user_information (object): Contains detailed user data, including:
ycom: User's YCOM value
weight: User's weight in kilograms
age: User's age
height: User's height in centimeters
leg_length: User's leg length
shoeSize: User's shoe size
gender: User's gender
user: The unique user ID
brand: Shoe brand information (if any)
shoeModel: Shoe model information (if any)
email: User's email address
display_name: User's display name
session_date (string): The date of the session in a formatted string (e.g. 'DD/MM/YYYY').
Note: The summary_text
field will only be present if GenAI-generated summary comments have been saved for the session.
Set to true
to retrieve a pre-generated demo summary for this running session.
Successfully retrieved session summary
Bad Request - Invalid token or parameters.
Unauthorized - Token is invalid or expired.
Forbidden - Admin access is required.
Not Found - Session not found or user does not have a valid payment plan.
Internal Server Error - An unexpected error occurred.
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"
}
Trigger the generation of summary threads for a running session. This endpoint creates separate summary threads for each summary block based on session metrics, including performance metrics, running mechanics, balance and posture, and distance/duration, as well as a final overall summary. Returns a JSON object containing thread IDs for each summary block.
Measurement system: 'metric' or 'imperial'
Summary threads generated successfully.
Bad Request - Invalid token or parameters.
Unauthorized - Token is invalid or expired.
Forbidden - Admin access is required.
Not Found - Session not found or user does not have a valid payment plan.
Internal Server Error - An unexpected error occurred.
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"
}
Retrieves detailed session data for exporting a specific running session identified by the session_id
.
Path Parameter
session_id (string, required): The unique identifier of the session to export.
Query Parameter
demo (boolean, optional): Set to
true
to retrieve the pre-generated demo running session instead of a real one.
Response Structure (HTTP 200)
The response is a JSON object that includes:
metrics (object): A dictionary where each key represents a metric (e.g., 'speed', 'cadence') and its value is an array of numbers.
keypoints (object): A dictionary where each key represents a keypoint (e.g., 'lknev', 'ltoev') and its value is an array of numbers.
angles (object): A dictionary where each key represents an angle (e.g., 'lelb_angle', 'lhip_angle') and its value is an array of numbers.
all_timestamps (array[number]): An array of timestamps (in seconds) corresponding to the data points.
contact (array[boolean]): An array of boolean values indicating contact status.
activity (string): The activity type (e.g., 'Running').
Error Handling
400 Bad Request: The request parameters are invalid (e.g., an invalid admin UID).
401 Unauthorized: The access token is missing or invalid.
403 Forbidden: The user does not have sufficient privileges to access this session data.
404 Not Found: The requested session does not exist or is invalid for the activity.
500 Internal Server Error: An unexpected server error occurred.
Security
A valid API-KEY token must be provided in the Authorization
header.
Set to true
to retrieve the pre-generated demo running session instead of a real one.
Session data successfully exported.
Bad Request - The request parameters are invalid (e.g., invalid admin UID).
Unauthorized - Missing or invalid access token.
Forbidden - The user does not have sufficient privileges to access this session data.
Not Found - The requested session does not exist or the activity is not valid.
Internal Server Error - An unexpected error occurred on the server.
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"
}
Retrieves a detailed running-form analysis report for a given session. The endpoint requires the user to have a valid admin token and an active subscription plan (Pro, Premium, Enterprise, or Standard).
Request
Path Parameter:
session_id (string, required): The unique identifier of the session for which the running-form analysis report is requested.
Query Parameter:
demo (boolean, optional): Set to
true
to retrieve a pre-generated demo running-form analysis report instead of a real one.
Response Structure (HTTP 200)
The response is a JSON object containing:
metrics (object): Stride-averaged values such as
speed
,balance
,cadence
,contact_angle
,eversion_velocity
,knee_flexion
,posture_angle
,ankle_angle
,com_oscillation
,stride_angle
,mean_h
.images (object): Three representative snapshots keyed
contact_angle
,push_angle
,knee_ankle
; each value is a public image URL.user_info (object): Information about the user who submitted the session, including:
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 (various types)
form_comments (object, optional): GenAI recommendations for blocks
contact_angle
,hip_extension_at_foot_takeoff
,foot_contact_angle_and_torso_lean
.date (string): The date the report was generated in DD/MM/YYYY format.
Error Handling
400 Bad Request: Invalid token or parameters.
401 Unauthorized: Token is missing or invalid.
403 Forbidden: Admin access is required.
404 Not Found: The session was not found or the user does not have a valid payment plan.
500 Internal Server Error: An unexpected error occurred on the server.
Security
A valid API-KEY token must be provided in the Authorization
header.
Set to true
to retrieve a pre-generated demo running-form analysis report instead of a real one.
Running-Form Analysis Report retrieved successfully.
Bad Request - Invalid token or parameters.
Unauthorized - Token is invalid or expired.
Forbidden - Admin access is required.
Not Found - Session not found or user does not have a valid payment plan.
Internal Server Error - An unexpected error occurred.
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": "[email protected]",
"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": "Recommendation …",
"hip_extension_at_foot_takeoff": "Recommendation …",
"foot_contact_angle_and_torso_lean": "Recommendation …"
},
"date": "13/07/2025"
}
Calculates and returns the average metrics for all running sessions of the admin user, along with the detailed metrics and creation timestamp of the most recent session.
Response Structure (HTTP 200)
The response is a JSON object with the following structure:
avg_metrics (object): Contains the average values calculated across all sessions.
avg_speed (number): Average speed.
avg_power (number): Average power.
avg_cadence (number): Average cadence.
avg_flight_time (number): Average flight time.
last_session_metrics (object): Contains detailed metrics for the most recent session.
speed (object): Speed metrics with:
avg (number): Average speed.
min (number): Minimum speed.
max (number): Maximum speed.
normalized_power (object): Normalized power metrics with keys
avg
,min
,max
.cadence (object): Cadence metrics with keys
avg
,min
,max
.total_distance (number): Total distance.
power (object): Power metrics with keys
avg
,min
,max
.stride_time (object): Stride time metrics with keys
avg
,min
,max
.total_time (number): Total session time.
contact_time (object): Contact time metrics with keys
avg
,min
,max
.contact_angle (object): Contact angle metrics with keys
avg
,min
,max
.incline (object): Incline metrics with keys
avg
,min
,max
.pace (object): Pace metrics with keys
avg
,min
,max
.stride_length (object): Stride length metrics with keys
avg
,min
,max
.rbalance (object): Balance metrics with keys
avg
,min
,max
.flight_time (object): Flight time metrics with keys
avg
,min
,max
.footstrike (string): The footstrike type (e.g., 'midfoot').
last_session_created_at (object): The creation timestamp of the most recent session, containing:
date (string): Date in DD/MM/YYYY format.
time (string): Time in HH:MM AM/PM format.
Error Handling
400 Bad Request: Invalid request parameters (e.g., invalid admin UID).
401 Unauthorized: Missing or invalid access token.
403 Forbidden: Insufficient privileges to retrieve total metrics.
404 Not Found: No sessions found or metrics unavailable.
500 Internal Server Error: An unexpected error occurred on the server.
Security
A valid API-KEY token must be provided in the Authorization
header.
Total metrics successfully retrieved.
Bad Request - Invalid parameters (e.g., invalid admin UID).
Unauthorized - Missing or invalid access token.
Forbidden - The user does not have sufficient privileges to retrieve total metrics.
Not Found - No sessions found or metrics unavailable.
Internal Server Error - An unexpected error occurred on the server.
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"
}
}
Generate GenAI threads that produce personalised commentary for each running-form block (contact-angle, hip-extension at foot take-off, foot-contact angle & torso lean) plus an overall recommendation. Returns a mapping from block keys to thread IDs.
Request
session_id (path parameter, required): The ID of the running session for which to generate comment threads.
Response (201)
A JSON object mapping each form block key to its corresponding GenAI thread ID:
contact_angle: Thread ID for the contact angle block.
push_angle: Thread ID for the push angle block.
knee_ankle: Thread ID for the knee-ankle block.
general_form_recommendation: Thread ID for the overall form recommendation.
Error Handling
403 Forbidden: User lacks a valid payment plan.
404 Not Found: Session not found or retrieval error.
500 Internal Server Error: Unexpected server error.
Security
Requires A valid API-KEY token or API key in the request headers.
Threads created successfully
User lacks a valid payment plan
Session not found or other retrieval error
Unexpected server error
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"
}
Retrieves a detailed gait analysis report for a given session. The endpoint requires the user to have a valid admin token and an active subscription plan (Pro, Premium, Enterprise, or Standard).
Request
Path Parameter:
session_id (string, required): The unique identifier of the session for which the gait analysis report is requested.
Query Parameter:
demo (boolean, optional): Set to
true
to retrieve a pre-generated demo gait analysis report instead of a real one.
Response Structure (HTTP 200)
The response is a JSON object containing:
left (object) and right (object): Each side contains gait analysis data with the following fields:
peak_time (number): The peak time value identified in the gait analysis.
initiator (string): Indicates which side initiated the gait cycle.
phases (object): An object with named phases (e.g.,
flight
,takeoff
,mid_stance
,strike
,new_strike
), where each phase contains:video_frame (integer): The corresponding video frame.
graph_phase (integer): The phase value used in graphs.
video_phase (integer): The phase value in video timeline.
image_url (string, URI): Public image URL for the phase snapshot.
angles (object): Angle measurements for joints like
posture_angle
,lhip_angle
, etc. Each includes:current (array[number]): Current frame angle values.
next (array[number]): Next predicted values.
std_dev (array[number]): Standard deviation values.
graph_timestamps (array[number]): Timestamps (ms) aligned with graph data.
user_info (object): Information about the user who submitted the session, including:
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 (various types)
report_comments (object, optional): Suggestions or notes for angles such as
right_posture_angle
,left_knee_angle
, etc.date (string): The date the report was generated in DD/MM/YYYY format.
Error Handling
400 Bad Request: Invalid token or parameters.
401 Unauthorized: Token is missing or invalid.
403 Forbidden: Admin access is required.
404 Not Found: The session was not found or the user does not have a valid payment plan.
500 Internal Server Error: An unexpected error occurred on the server.
Security
A valid API-KEY token must be provided in the Authorization
header.
Set to true
to retrieve a pre-generated demo gait analysis report instead of a real one.
Gait Analysis Report retrieved successfully.
Bad Request - Invalid token or parameters.
Unauthorized - Token is invalid or expired.
Forbidden - Admin access is required.
Not Found - Session not found or user does not have a valid payment plan.
Internal Server Error - An unexpected error occurred.
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": "[email protected]",
"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"
}
Create Gait Analysis Recommendations Threads
This endpoint generates personalized recommendation threads for a specific session based on the user's running gait analysis. Each thread offers biomechanical insights, posture tips, and training guidance for different joint angles.
Usage Example: Send a POST
request to /running/sessions/{session_id}/recommendation/
where {session_id}
is the session’s unique identifier.
Parameters:
session_id
(string, required): The unique ID of the session to generate threads for.
Response Structure (HTTP 201): Returns a JSON object mapping each gait angle metric to a thread ID, including both left and right sides:
left_posture_angle, left_hip_angle, left_knee_angle, left_ankle_angle
right_posture_angle, right_hip_angle, right_knee_angle, right_ankle_angle
Notes:
The session must be valid and correspond to a gait analysis report.
Requires an active payment plan (Pro, Premium, Enterprise, or Standard).
Threads created successfully.
Bad Request - Invalid token or parameters.
Unauthorized - Token is invalid or expired.
Forbidden - Admin access is required.
Not Found - Session not found or user does not have a valid payment plan.
Internal Server Error - An unexpected error occurred.
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"
}
Last updated
Was this helpful?