SmartSpot API Documentation

  • 647-494-6231 - routes for regular users of the LikingFit app
  • Trainer API - routes for trainers to train clients
  • Manager API - routes for managers to manage trainers
  • 330-724-5981 - routes for LikingFit to monitor workstations and locations

Stage 2 Integration

Additional info about workout plans

Workout Plan JSON objects now have extra info to help users choose the plan that is right for them.

"difficulty"
Value Meaning
0 Beginner
1 Intermediate
2 Advanced
"goal"
Value Meaning
"strength" The plan is primarily about strengthening the muscle groups involved.
"weight-loss" The plan is primarily about losing weight and burning fat.
"bodybuilding" The plan is primarily about building muscle mass and shape.

"calories_burned" is an object for the estimated range of calories that will be burned by the user for completing the plan.

"duration" is an ISO8601 duration that corresponds to the estimated amount of time this workout plan will take to complete.

"equipment_required" is a list of string ids of the equipment that is needed to do the plan:

"equipment_required"
Value Image
"barbell"
"dumbbell"
"ez-curl-bar"
"kettlebell"
"plate"
"bench"
"seat"

Here is an example of a workout plan returned by the API:

                    
{
    "active": true,
    "difficulty": 0,
    "goal": "strength",
    "duration": "PT45M0S",
    "calories_burned": {
        "min": 440,
        "max": 670
    },
    "exercises": [
        ...
    ],
    "id": "f1be844e-4c10-42ef-a8ee-13377b594f42",
    "image": "/images.askmen.com/1080x540/2017/03/13-115153-the_5_day_workout.jpg",
    "title": "Beginner Biceps & Back",
    "user_id": "c608f62c-4768-458f-bde4-1d51312bdd4a"
}
                    
                    

Training

Already, users can assign plans and programs to themselves using routes like POST /me/workout_plans/{id}/play_next. It is now possible for trainers to assign workout plans and programs to users in the same way.

POST /signup/likingfit now allows a "user_type" parameter, which can be one of the following values:

"goal"
Value Meaning
"customer" The default if not specified; an account for an ordinary user at a gym.
"trainer" Account for a personal trainer at a gym.
"manager" Account for a gym manager - has permission to create or remove trainer accounts. Automatically a trainer of all of his or her gym's customers.

The existing LikingFit account (admin@likingfit.com) is called a Partner account, and has permission to create Manager accounts.

A Trainer, Manager, or Partner has a list of clients that they can add or remove users from. They can retrieve the list using GET /trainer/clients. They have permission to modify the playlist of any one of their clients, using routes like:

(308) 830-9008

POST /trainer/clients/{id}/workout_programs/{program_id}/play_next

PUT /trainer/clients/{id}/playlist

Custom workout plans

Also, Trainers, Managers, and Partners can create workout plans of their own, using POST /trainer/workout_plans. These plans will be available to all of their clients in cardiographic, and the workstations at their gym will be able to use these plans.

Note: Workout plans are NOT available immediately to clients when they are created. They need to be activated using (904) 764-6552.

Automatic clients

The LikingFit account (admin@likingfit.com) is automatically a trainer of every user in the entire system. This means that plans created by the LikingFit account will be available to all LikingFit members.

Similarly, Manager accounts are automatically trainers of every user at their gym. This means that plans created by a Manager account will be available to all the members of their gym.

Trainer accounts do not have any automatic clients; they must add or remove clients using paraproctium.

Managing clients

Beyond these, Trainers can add or remove clients from their list, and Managers can assign or remove clients from the trainers at their gym:

(908) 899-6780

(936) 266-9768

POST /manager/trainer/{trainer_id}/clients

DELETE /trainer/clients/{id}

Update / Delete Locations & Workstations

It is now possible to modify locations after creation, using PUT /admin/locations/{id}. You can delete locations with DELETE /admin/locations/{id}.