Jumping
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.
exercise (string, required): The name of the exercise. Choose one of the following: 'Countermovement Jump' or 'Drop Jump'.
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_namewas not provided).
Workflow
POST a multipart/form-data request containing the required fields
user_idandvideo, plus any optional fields.Provide A valid API-KEY token in the
Authorizationheader.The caller must have admin privileges to successfully create a session for another user.
If successful, the server responds with
session_idandtitle.If an error occurs (e.g., missing fields, lack of permissions), a JSON object with an
errorkey is returned.
Example cURL (Firebase auth):
Example cURL (API KEY):
Enter your bearer token (Firebase auth) in the format: Bearer
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).
Required. The name of the exercise. Choose one of the following: 'Countermovement Jump' or 'Drop Jump'.
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.
Retrieve detailed information about a specific processed jumping session using its unique session_id.
Optionally, set ?demo=true to retrieve the predefined demo session for the Jump activity.
Usage Example: Send a GET request with the session_id as a path parameter to obtain session details.
Parameters:
session_id(string, required): The unique identifier of the session whose data is being requested.demo(boolean, optional): Set totrueto return the predefined demo session for Jump.
Response Data Type:
200 OK: A JSON object with the following structure:
angles(object): Contains arrays of various angle measurements:hip_intersection_angle(array of numbers): Array of hip intersection angles.ank_angle(array of numbers): Array of ankle angles.rkne_angle(array of numbers): Array of right knee angles.lkne_angle(array of numbers): Array of left knee angles.kne_angle(array of numbers): Array of knee angles.rank_angle(array of numbers): Array of right ankle angles.lank_angle(array of numbers): Array of left ankle angles.
whole_report_metrics(object): Contains arrays of various metrics:hipy(array of numbers): Array of hip height values.grf(array of numbers): Array of ground reaction forces.vhipy(array of numbers): Array of hip speed values.toey(array of numbers): Array of toe Y-axis positions.ahipy(array of numbers): Array of average hip Y-axis positions.vtoey(array of numbers): Array of vertical toe velocities.
all_timestamps(array of numbers): Array of timestamps for each frame.analyzed_video_url(string, URI): URL of the analyzed video.video_url(string, URI): URL of the original video.created_at(object): Contains the date and time of session creation:date(string, format: YYYY-MM-DD): Creation date.time(string, format: HH:MM AM/PM): Creation time.
exercise(string): Type of exercise being analyzed in the session.user_name(string): Name of the user associated with the session.activity(string): Type of activity being analyzed in the session.title(string): Title of the session.end_frames(array of integers): Array of frame numbers where each segment ends.metrics(object): Contains various performance metrics as arrays of numbers.
Enter your bearer token (Firebase auth) in the format: Bearer
Set to true to retrieve the demo session instead of the real one.
Successfully retrieved session data.
Bad Request - Invalid session_id provided.
Unauthorized - Access token is missing or invalid.
Forbidden - User lacks necessary permissions.
Not Found - No session data found for the provided session_id.
Internal Server Error - An unexpected error occurred.
Retrieve detailed information about a specific jumping session using its unique session_id.
Optionally, set ?demo=true to retrieve the predefined demo session for the Jump activity.
Usage Example: Send a GET request with the session_id as a path parameter to obtain session details.
Parameters:
session_id(string, required): The unique identifier of the session whose data is being requested.demo(boolean, optional): Set totrueto retrieve the predefined demo session for Jump. Note: This endpoint includes landmark points in the response.
Response Data Type:
200 OK: A JSON object with the following structure:
keypoints(object): Contains arrays of landmark points.lknev(array of numbers): Array of left knee landmark points.ltoev(array of numbers): Array of left toe landmark points.relbv(array of numbers): Array of right elbow landmark points.rtoey(array of numbers): Array of right toe landmark points.headv(array of numbers): Array of head landmark points.rearv(array of numbers): Array of right ear landmark points.rshox(array of numbers): Array of right shoulder landmark points.etc(array of numbers): Array of all other landmark points.
angles(object): Contains arrays of various angle measurements.hip_intersection_angle(array of numbers): Hip intersection angles.ank_angle(array of numbers): Ankle angles.rkne_angle(array of numbers): Right knee angles.lkne_angle(array of numbers): Left knee angles.kne_angle(array of numbers): Knee angles.rank_angle(array of numbers): Right ankle angles.lank_angle(array of numbers): Left ankle angles.
all_timestamps(array of numbers): Timestamps for each frame.analyzed_video_url(string, URI): URL of the analyzed video.video_url(string, URI): URL of the original video.created_at(object): Contains the date and time of session creation.date(string, format: YYYY-MM-DD): Creation date.time(string, format: HH:MM AM/PM): Creation time.
user_name(string): Name of the user associated with the session.activity(string): Type of activity being analyzed.title(string): Title of the session.end_frames(array of integers): Frame numbers where each segment ends.metrics(object): Contains various performance metrics as arrays of numbers.
Enter your bearer token (Firebase auth) in the format: Bearer
Set to true to retrieve the demo session instead of the real one.
Successfully retrieved session data.
Bad Request - Invalid session_id provided.
Unauthorized - Access token is missing or invalid.
Forbidden - User lacks necessary permissions.
Not Found - No session data found for the provided session_id.
Internal Server Error - An unexpected error occurred.
Retrieve Vertical Jump Analysis Report
This endpoint allows users to retrieve a comprehensive analysis report for a specific vertical jump session. The report includes graphical data, phase details, user information, and additional comments to provide an in-depth understanding of the user's performance during the session.
Usage Example: Send a POST request to /jumping/{session_id}/jump-analysis/ where {session_id} is the unique identifier of the session.
Parameters:
session_id(string, required): The unique identifier of the session for which the report is being requested.demo(boolean, optional): Set totrueto retrieve the predefined demo report instead of the real session.
Response Structure: Upon a successful request, the endpoint returns a JSON object containing the following sections:
Exercise: The name of the exercise performed during the session.
Graph Data: Visual representations of various metrics collected during the session.
Frame Information: Details about the video frames involved in the session.
Phase Data: Information about different phases of the vertical jump activity.
User Information: Personal details of the user.
Session Date: The date when the session took place.
Comments: Feedback and comments based on the session performance.
Detailed Description of Response Fields:
exercise: The name of the exercise performed.
graph_data: Contains nested objects for each metric (e.g., hip_height, hip_speed) with data points over time.
min_frame & max_frame: Indicate the range of frames analyzed in the session video.
phase_data: Provides detailed information about each phase of the jump, including video frames, graph phases, and associated images.
user_information: Includes the user's name, age, weight, height, and gender.
session_date: The date of the session in
DD/MM/YYYYformat.comments: Contains feedback related to specific metrics like power and ground reaction force (grf).
Note: Ensure that the session_id provided is valid and corresponds to an existing session in the system.
Enter your bearer token (Firebase auth) in the format: Bearer
Set to true to retrieve the demo report.
Successfully retrieved jump analysis report.
Bad Request - Invalid session_id provided.
Unauthorized - Access token is missing or invalid.
Forbidden - User lacks necessary permissions.
Not Found - No session data found for the provided session_id.
Internal Server Error - An unexpected error occurred.
Create Recommendations Threads
This endpoint generates personalized recommendation threads based on the user's vertical jump analysis report for a specific session. These threads can be used to provide tailored advice, training suggestions, or performance insights to the user.
Usage Example: Send a POST request to /jumping/sessions/{session_id}/recommendation/ where {session_id} is the unique identifier of the session.
Parameters:
session_id(string, required): The unique identifier of the session for which recommendation threads are to be created.
Response Structure: Upon a successful request, the endpoint returns a JSON object containing thread IDs mapped to their respective metrics.
Example Response for Countermovement Jump:
{
"hip_height": "thread_ybIdbAtHLSnHM4BnH551X4fT",
"hip_speed": "thread_MLGE8nAmLYyW3adwIViKiVpL",
"grf": "thread_rBIUL25oD3VLtBaPRDLunFsu",
"power": "thread_UGCg6dZzsRI1YCpSgCf0dgT4",
"kne_angle": "thread_rEiSblZuq3bzPHRBNXd2etJ6",
"ank_angle": "thread_QLrCfbBuBBKpmPFFnBkJfcln",
"hip_angle": "thread_CMWV9HCt85XlpVSORSk4MmCG"
}Example Response for Drop Jump:
{
"hip_trajectory": "thread_ABC123",
"hip_velocity": "thread_DEF456",
"toe_trajectory": "thread_GHI789"
"grf": "thread_JKL012",
"power": "thread_MNO345",
"kne_angle": "thread_PQR678",
"ank_angle": "thread_STU901",
"hip_angle": "thread_VWX234"
}Note:
Ensure that the
session_idprovided is valid and corresponds to an existing session in the system.The user must have an active payment plan to access this feature.
Enter your bearer token (Firebase auth) in the format: Bearer
Threads created successfully.
Bad Request - Invalid session_id provided.
Unauthorized - Access token is missing or invalid.
Forbidden - User lacks necessary permissions.
Not Found - No session data found for the provided session_id.
Internal Server Error - An unexpected error occurred.
Retrieve Session Summary
This endpoint provides a summary of a specific session, including key performance metrics, user data, and session creation details.
Usage Example: Send a GET request to /jumping/{session_id}/summary/ where {session_id} is the unique session ID.
Query Parameters:
demo(boolean, optional): Set totrueto retrieve a pre-generated demo summary instead of a real session.
Response Structure:
exercise: Type of exercise being summarized.
metrics: Contains various measurements from the session.
summary: Descriptive overview of performance.
user_info: Basic info about the user.
session_date: Date when the session was recorded.
Note: Ensure the session_id exists. If demo=true is used, the system returns the pre-seeded demo session summary.
Enter your bearer token (Firebase auth) in the format: Bearer
Set to true to retrieve the demo session summary instead of a real one.
Successfully retrieved session summary.
Bad Request - Invalid session_id provided.
Unauthorized - Access token is missing or invalid.
Forbidden - User lacks necessary permissions.
Not Found - No session data found for the provided session_id.
Internal Server Error - An unexpected error occurred.
Generate Summary Threads
This endpoint generates summary threads for a given session based on predefined summary blocks and metrics.
Usage Example: Send a POST request to /jumping/sessions/{session_id}/summary/ where {session_id} is the unique identifier of the session.
Parameters:
session_id(string, required): The unique identifier of the session for which summary threads are to be generated.
Response Structure: Upon a successful request, the endpoint returns a JSON object mapping each block name to its corresponding thread ID.
Example Response for Countermovement Jump:
{
"jump_flight": "thread_thread_id",
"jump_forces": "thread_thread_id",
"control_and_stability": "thread_thread_id",
"efficiency": "thread_thread_id",
"final_summary": "thread_thread_id",
}Example Response for Drop Jump:
{
"contact_and_jump_structure": "thread_thread_id",
"performance_and_efficiency": "thread_thread_id",
"force_metrics": "thread_thread_id",
"final_summary": "thread_thread_id",
}Notes:
Ensure that the
session_idprovided is valid and corresponds to an existing session in the system.The user must have the necessary permissions to generate summary threads.
Enter your bearer token (Firebase auth) in the format: Bearer
Measurement system: 'metric' or 'imperial'
Successfully generated summary threads.
Bad Request - Invalid session_id provided.
Unauthorized - Access token is missing or invalid.
Forbidden - User lacks necessary permissions.
Not Found - No session data found for the provided session_id.
Internal Server Error - An unexpected error occurred.
Last updated
Was this helpful?