Client Management

Overall user management

Retrieve a Paginated List of Users

get

Retrieve a Paginated List of Users

This endpoint allows an administrator to retrieve a paginated list of users under their account. The response includes detailed information for each user such as personal attributes, contact details, and metadata related to their account.

Usage Example: Send a GET request to client-management/clients/ with the appropriate API-KEY token in the Authorization header.

Response Structure:

  • users (array): A list of user objects, where each object includes the following fields:

    • created_at (string, date-time): Timestamp when the user was created.

    • weight (number): The user’s weight.

    • age (string): The user’s age.

    • ycom (number): The user’s YCOM value.

    • height (number): The user’s height.

    • phone (string): The user’s phone number.

    • leg_length (number): The user’s leg length.

    • display_name (string): The user’s display name.

    • shoeSize (string): The user’s shoe size.

    • email (string): The user’s email address.

    • gender (string): The user’s gender.

    • brand (string): The brand associated with the user.

    • shoeModel (string): The model of the user’s shoe.

    • user_uid (string): The unique identifier for the user.

Notes:

  • A valid API-KEY token is required to access this endpoint.

  • If there are no users or an error occurs, an appropriate error message is returned.

Authorizations
Responses
200

Successfully retrieved the list of users.

application/json
get
GET /client-management/clients/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "users": [
    {
      "created_at": "2025-08-24T10:48:04.154Z",
      "weight": 1,
      "age": "text",
      "ycom": 1,
      "height": 1,
      "phone": "text",
      "leg_length": 1,
      "display_name": "text",
      "shoeSize": "text",
      "email": "[email protected]",
      "gender": "text",
      "brand": "text",
      "shoeModel": "text",
      "profile_photo": "https://example.com",
      "user_uid": "text"
    }
  ]
}

Create a New User

post

Create a New User

This endpoint allows an authenticated admin to create a new user under their account. The admin must provide the user's email and display name, and may optionally include other fields.

Usage Example: Send a POST request to /clients/ with a JSON payload containing the required fields. A valid API-KEY token must be included in the Authorization header.

Request parameters

  • display_name (string)

  • email (string, valid email)

  • age (integer)

  • gender (male | female)

  • shoeSize (float)

  • weight (float)

  • height (float)

Response Structure: Upon success (HTTP 201), the endpoint returns a JSON object with a userData field containing the following keys and data types:

  • user_uid (string): A unique identifier for the newly created user.

  • display_name (string)

  • email (string, valid email)

  • age (integer)

  • gender (male | female)

  • shoeSize (float)

  • weight (float)

  • height (float)

  • profile_photo (file, JPEG/PNG) - optional image; only available with multipart/form-data.

In case of an error (e.g., missing parameters, unauthorized access, or an internal error), a JSON object with an error field (string) is returned.

Authorizations
Body
display_namestringRequired
emailstringRequired
ageintegerRequired
genderstringRequired
shoeSizenumberRequired
weightnumberRequired
heightnumberRequired
preferable_activitiesstringOptional

Optional JSON-encoded list of preferred activity types. Allowed values: 'Running', 'Vertical Jump', 'Weightlifting', 'Mobility Assessment'.

Example: ["Running", "Weightlifting"]

profile_photostringOptional

Optional JPEG/PNG image.

Responses
201

User created successfully.

application/json
post
POST /client-management/clients/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 151

"display_name='text'&email='text'&age=1&gender='text'&shoeSize=1&weight=1&height=1&preferable_activities='text'&profile_photo='text'"
{
  "userData": {
    "user_uid": "text",
    "display_name": "text",
    "email": "text",
    "age": 1,
    "gender": "text",
    "shoeSize": 1,
    "weight": 1,
    "height": 1,
    "profile_photo": "https://example.com",
    "preferable_activities": [
      "text"
    ]
  }
}

Delete a User

delete

Delete a User

This endpoint allows an authenticated admin to delete a user from their account. The admin must supply the unique identifier of the user to be deleted in the request body.

Request Body:

  • user_uid (string, required): The unique identifier of the user to be deleted.

Response Structure: Upon success (HTTP 200), the endpoint returns a JSON object with a message field of type string confirming the deletion. In case of an error (for example, if the user UID is missing, the user is not found, or an internal error occurs), a JSON object with an error field (string) is returned.

Authorizations
Query parameters
user_uidstringRequired

UID of the user to delete

Responses
200

User deleted successfully.

application/json
delete
DELETE /client-management/clients/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "message": "text"
}

Update User Information

put

Update User Information

This endpoint lets an authenticated admin update selected fields of an existing user, using query-string parameters.

Required query parameter

  • user_uid (string) - the UID of the user being updated.

Optional query parameters - supply one or more of the following:

  • display_name (string) - new display name

  • email (string, valid email) - new email address

  • age (integer)

  • gender (string, one of male, female)

  • shoeSize (float)

  • weight (float)

  • height (float)

Response (HTTP 200)

{ "message": "User information updated successfully." }

If validation fails or the user is not found, the response contains an error field with details.

Authorizations
Body
user_uidstringRequired
display_namestringOptional
emailstringOptional
ageintegerOptional
genderstringOptional
shoeSizenumberOptional
weightnumberOptional
heightnumberOptional
preferable_activitiesstringOptional

Optional JSON-encoded list of preferred activity types. Allowed values: 'Running', 'Vertical Jump', 'Weightlifting', 'Mobility Assessment'.

Example: ["Running", "Weightlifting"]

profile_photostringOptional

Optional JPEG/PNG image.

Responses
200

User information updated successfully.

application/json
put
PUT /client-management/clients/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 169

"user_uid='text'&display_name='text'&email='text'&age=1&gender='text'&shoeSize=1&weight=1&height=1&preferable_activities='text'&profile_photo='text'"
{
  "message": "text"
}

Set / replace a note for a client

post

Stores one note per client. If note is omitted or empty, the previous note is cleared (saved as null).

Document structure:

"notes": {
  "text": "Hamstring strain - reduce speed work for 2 wks",  // or null
  "updated_at": "2025-07-14T09:32:11.123Z"
}
Authorizations
Path parameters
user_uidanyRequired
Body
notestringRequired

Free-form note text (≤ 100 kB). If omitted or empty, the note is cleared.

Responses
200

Note saved / replaced successfully.

application/json
post
POST /client-management/clients/save-notes/{user_uid} HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "note": "Hamstring strain - reduce speed work for 2 weeks"
}
{
  "message": "text"
}

Filter and Paginate Users

get

Filter and Paginate Users

This endpoint allows an authenticated admin to filter and paginate through the users under their account. You can optionally specify query parameters to control pagination:

  • start_after_id (string, optional): The UID after which to start retrieving users (for forward pagination).

  • limit (integer, optional): The maximum number of users to retrieve. Defaults to 5 if not provided.

You can also filter users based on various criteria such as:

  • admin_uid (string, optional): The UID of the admin to filter users by.

  • start_date (string, optional): Lower bound (inclusive) for the user's last session in YYYY-MM-DD format.

  • end_date (string, optional): Upper bound (inclusive) for the user's last session in YYYY-MM-DD format.

  • gender (string, optional): Filter by gender (male or female).

  • preferable_activities (array, optional): Filter by user's preferable activities. Response Structure (HTTP 200): The response returns a JSON object with the following fields:

  • query_count (integer): Total number of users under the admin.

  • users (array): An array of user objects. Each user object contains:

    • created_at (string, date-time): User creation timestamp.

    • weight (number): The user's weight.

    • age (string): The user's age.

    • ycom (number): The user's YCOM value.

    • height (number): The user's height.

    • phone (string): The user's phone number.

    • leg_length (number): The user's leg length.

    • display_name (string): The user's display name.

    • shoeSize (string): The user's shoe size.

    • email (string): The user's email address.

    • gender (string): The user's gender.

    • brand (string): The brand associated with the user.

    • shoeModel (string): The model of the user's shoe.

    • user_uid (string): The unique identifier of the user.

  • first_uid (string): The UID of the first user in the current page.

  • last_uid (string): The UID of the last user in the current page.

Notes:

  • A valid API-KEY token is required.

  • If no users are found, an error message is returned with status code 404.

Authorizations
Query parameters
admin_uidstringOptional

UID of the admin (who created the user) to filter users by.

start_datestringOptional

Lower bound (inclusive) for last_session in YYYY-MM-DD.

end_datestringOptional

Upper bound (inclusive) for last_session in YYYY-MM-DD.

genderstring · enumOptional

Filter by gender (male or female).

Possible values:
preferable_activitiesstringOptional

JSON array of preferred activities.

start_after_idstringOptional
limitintegerOptional
Responses
200

Successfully retrieved the filtered list of users.

application/json
get
GET /client-management/clients/filter/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "query_count": 1,
  "users": [
    {
      "created_at": "2025-08-24T10:48:04.154Z",
      "weight": 1,
      "age": "text",
      "ycom": 1,
      "height": 1,
      "phone": "text",
      "leg_length": 1,
      "display_name": "text",
      "shoeSize": "text",
      "email": "[email protected]",
      "gender": "text",
      "brand": "text",
      "shoeModel": "text",
      "profile_photo": "https://example.com",
      "user_uid": "text"
    }
  ],
  "first_uid": "text",
  "last_uid": "text"
}

Retrieve Details for a Specific User

get

Retrieve User Details

This endpoint allows an authenticated admin to retrieve detailed information for a specific user under their account. The user is identified by the unique user_uid provided in the URL.

Path Parameter:

  • user_uid (string, required): The unique identifier of the user.

Response Structure (HTTP 200): Returns a JSON object with the following fields and data types:

  • created_at (string, date-time): Timestamp when the user was created.

  • weight (number): The user's weight.

  • age (string): The user's age.

  • ycom (number): The user's YCOM value.

  • height (number): The user's height.

  • phone (string): The user's phone number.

  • leg_length (number): The user's leg length.

  • display_name (string): The user's display name.

  • shoeSize (string): The user's shoe size.

  • email (string): The user's email address.

  • gender (string): The user's gender.

  • brand (string): The brand associated with the user.

  • shoeModel (string): The model of the user's shoe.

  • user_uid (string): The unique identifier for the user.

Example Successful Response:

{
  "created_at": "2024-12-02T19:17:30.371Z",
  "weight": 79,
  "age": "30",
  "ycom": 1.1,
  "height": 177,
  "phone": "92039023232",
  "leg_length": 0.9,
  "display_name": "User1",
  "shoeSize": "8",
  "email": "[email protected]",
  "gender": "Male",
  "brand": "Nike",
  "shoeModel": "Peak-smart",
  "user_uid": "hoEwsdv2fsFs2fav"
}

Notes:

  • A valid API-KEY token with admin privileges is required.

  • If the specified user does not exist or is not under the admin, a 404 error is returned.

Authorizations
Path parameters
user_uidanyRequired
Responses
200

User details retrieved successfully.

application/json
get
GET /client-management/clients/{user_uid} HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
  "created_at": "2025-08-24T10:48:04.154Z",
  "weight": 1,
  "age": "text",
  "ycom": 1,
  "height": 1,
  "phone": "text",
  "leg_length": 1,
  "display_name": "text",
  "shoeSize": "text",
  "email": "[email protected]",
  "gender": "text",
  "brand": "text",
  "shoeModel": "text",
  "profile_photo": "https://example.com",
  "user_uid": "text"
}

Last updated

Was this helpful?