Manage students, workouts, appointments and payments through your personal trainer account.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Accepts the student's request and moves the class to the time they asked.
Id from list_class_change_requests.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Accepts the student's request and moves the class to the time they asked.
| Argument | Type | Description |
|---|---|---|
| requestId* | integer | Id from list_class_change_requests. |
{
"type": "object",
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "integer",
"description": "Id from list_class_change_requests."
}
}
}Accepts a student who asked to train with the trainer; they get access to the app.
| Argument | Type | Description |
|---|---|---|
| requestId* | integer | Id from list_join_requests. |
{
"type": "object",
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "integer",
"description": "Id from list_join_requests."
}
}
}Publishes a diet plan to the student (the previous active one is archived) and pushes them.
| Argument | Type | Description |
|---|---|---|
| planId* | integer | Id from list_diet_plans. |
{
"type": "object",
"required": [
"planId"
],
"properties": {
"planId": {
"type": "integer",
"description": "Id from list_diet_plans."
}
}
}Registers a supplement (or water) the student should take, with dose, times and days; the student gets reminders.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| type* | string | |
| notes | string | |
| times* | array | HH:MM list. |
| dose_unit* | string | g, mg, ml, scoop... |
| studentId* | integer | The student_id from list_students. |
| dose_amount* | number | |
| days_of_week* | array | 1 (Monday) to 7. |
| units_per_take* | integer |
{
"type": "object",
"required": [
"studentId",
"name",
"type",
"dose_amount",
"dose_unit",
"units_per_take",
"times",
"days_of_week"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"enum": [
"powder",
"capsule",
"tablet",
"liquid",
"gummy",
"other"
],
"type": "string"
},
"notes": {
"type": "string"
},
"times": {
"type": "array",
"items": {
"type": "string"
},
"description": "HH:MM list."
},
"dose_unit": {
"type": "string",
"description": "g, mg, ml, scoop..."
},
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
},
"dose_amount": {
"type": "number"
},
"days_of_week": {
"type": "array",
"items": {
"type": "integer"
},
"description": "1 (Monday) to 7."
},
"units_per_take": {
"type": "integer"
}
}
}Runs any GET operation from list_operations as the connected trainer and returns the same JSON the app gets: a student's assessments, anamnesis, diet plan, workout history and sessions, check-ins, chat messages, contracts, financial metrics, the exercise library and more. Same permissions as the app.
| Argument | Type | Description |
|---|---|---|
| path* | string | Path with ids filled in, e.g. /v1/students/312/assessments. |
| query | object | Query string parameters, e.g. {"search": "supino"}. |
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"maxLength": 300,
"description": "Path with ids filled in, e.g. /v1/students/312/assessments."
},
"query": {
"type": "object",
"description": "Query string parameters, e.g. {\"search\": \"supino\"}."
}
}
}Runs any POST, PUT, PATCH or DELETE operation from list_operations as the connected trainer, exactly as the app would: edit or archive workouts, assign programs, log or edit a session, create assessments, diet plans and check-ins, send chat messages, cancel or move classes, create contracts and charges, update the public page, and more. Same permissions, plan limits and validation as the app; a 422 lists what is missing. It can notify students (push, e-mail) and some operations cannot be undone, so confirm with the person first. Withdrawals, bank details, password and account deletion stay in the app.
| Argument | Type | Description |
|---|---|---|
| body | object | JSON body with the fields from describe_operation. |
| path* | string | Path with ids filled in, e.g. /v1/workouts/5216. |
| method* | string | HTTP method from list_operations. |
{
"type": "object",
"required": [
"method",
"path"
],
"properties": {
"body": {
"type": "object",
"description": "JSON body with the fields from describe_operation."
},
"path": {
"type": "string",
"maxLength": 300,
"description": "Path with ids filled in, e.g. /v1/workouts/5216."
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string",
"description": "HTTP method from list_operations."
}
}
}Copies a catalog workout to one or more students; they see it in the app.
| Argument | Type | Description |
|---|---|---|
| workoutId* | integer | Id from list_catalog_workouts. |
| day_of_week | string | |
| student_ids* | array | student_id values from list_students. |
{
"type": "object",
"required": [
"workoutId",
"student_ids"
],
"properties": {
"workoutId": {
"type": "integer",
"description": "Id from list_catalog_workouts."
},
"day_of_week": {
"enum": [
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sábado",
"Domingo"
],
"type": "string"
},
"student_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "student_id values from list_students."
}
}
}Approves every pending workout suggestion of one student at once, with one push.
| Argument | Type | Description |
|---|---|---|
| student_id* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"student_id"
],
"properties": {
"student_id": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Approves a student's suggestion and applies it to the exercise.
| Argument | Type | Description |
|---|---|---|
| suggestionId* | integer | Id from list_workout_suggestions. |
{
"type": "object",
"required": [
"suggestionId"
],
"properties": {
"suggestionId": {
"type": "integer",
"description": "Id from list_workout_suggestions."
}
}
}Makes a team member responsible for a student; null removes it.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
| member_user_id | integer | user id from list_team_members, or null. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
},
"member_user_id": {
"type": "integer",
"description": "user id from list_team_members, or null."
}
}
}Cancels a class; the student gets a push, like in the app. Confirm with the person first.
| Argument | Type | Description |
|---|---|---|
| appointmentId* | integer | Appointment id from get_schedule. |
{
"type": "object",
"required": [
"appointmentId"
],
"properties": {
"appointmentId": {
"type": "integer",
"description": "Appointment id from get_schedule."
}
}
}Accepts a class a student booked that is waiting for confirmation.
| Argument | Type | Description |
|---|---|---|
| appointmentId* | integer | Appointment id from get_schedule. |
{
"type": "object",
"required": [
"appointmentId"
],
"properties": {
"appointmentId": {
"type": "integer",
"description": "Appointment id from get_schedule."
}
}
}Copies a plan or template to a student (student_id), or saves it as a template without student_id.
| Argument | Type | Description |
|---|---|---|
| title | string | |
| planId* | integer | Id from list_diet_plans or list_diet_templates. |
| student_id | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"planId"
],
"properties": {
"title": {
"type": "string"
},
"planId": {
"type": "integer",
"description": "Id from list_diet_plans or list_diet_templates."
},
"student_id": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Duplicates a program, for another student (student_id) or as a new template (without student_id).
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the copy. |
| programId* | integer | Id from list_programs. |
| student_id | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"programId"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the copy."
},
"programId": {
"type": "integer",
"description": "Id from list_programs."
},
"student_id": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Answers a student's class change request with another time.
| Argument | Type | Description |
|---|---|---|
| requestId* | integer | Id from list_class_change_requests. |
| response_note | string | Message to the student. |
| proposed_date_time* | string | ISO 8601 with the -03:00 offset (Brazil time). |
| proposed_duration_minutes | integer |
{
"type": "object",
"required": [
"requestId",
"proposed_date_time"
],
"properties": {
"requestId": {
"type": "integer",
"description": "Id from list_class_change_requests."
},
"response_note": {
"type": "string",
"description": "Message to the student."
},
"proposed_date_time": {
"type": "string",
"description": "ISO 8601 with the -03:00 offset (Brazil time)."
},
"proposed_duration_minutes": {
"type": "integer"
}
}
}Saves a new physical assessment for a student: weight, body fat, circumferences (cm), skinfolds (mm), blood pressure. Send only what was measured.
| Argument | Type | Description |
|---|---|---|
| date* | string | YYYY-MM-DD. |
| notes | string | |
| hip_cm | number | |
| chest_cm | number | |
| waist_cm | number | |
| height_cm | number | |
| weight_kg | number | |
| abdomen_cm | number | |
| student_id* | integer | The student_id from list_students. |
| left_arm_cm | number | |
| systolic_bp | integer | |
Creates a goal: workouts (number of workouts), frequency (per week), load (target kg in one exercise) or custom.
| Argument | Type | Description |
|---|---|---|
| type* | string | |
| title | string | Required for custom. |
| end_date | string | YYYY-MM-DD. |
| studentId* | integer | The student_id from list_students. |
| start_date | string | YYYY-MM-DD. |
| target_value | number | Required for workouts, frequency and load. |
| exercise_name | string | Required for load. |
{
"type": "object",
"required": [
"studentId",
"type"
],
"properties": {
"type": {
"enum": [
"workouts",
"frequency",
"load",
"custom"
],
"type": "string"
},
"title": {
"type": "string",
"description": "Required for custom."
},
"end_date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
},
"start_date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"target_value": {
"type": "number",
"description": "Required for workouts, frequency and load."
},
"exercise_name": {
"type": "string",
"description": "Required for load."
}
}
}Blocks a date in the trainer's schedule (vacation, holiday).
| Argument | Type | Description |
|---|---|---|
| date* | string | YYYY-MM-DD. |
| name* | string | E.g. "Férias". |
| is_recurring | boolean | Every year. |
{
"type": "object",
"required": [
"name",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"name": {
"type": "string",
"description": "E.g. \"Férias\"."
},
"is_recurring": {
"type": "boolean",
"description": "Every year."
}
}
}Adds a student to the trainer's account, like "Adicionar aluno" in the app: the student gets an e-mail invite to install the app and see workouts. Name and e-mail are required; goal, weight, height, birth date and sex are optional. Respects the student limit of the trainer's plan.
| Argument | Type | Description |
|---|---|---|
| sex | string | |
| goal | string | Goal, e.g. hipertrofia, emagrecimento. |
| name* | string | Student full name. |
| email* | string | Student e-mail (the invite goes there). |
| phone | string | Phone with area code. |
| height_cm | number | Height in cm. |
| weight_kg | number | Weight in kg. |
| birth_date | string | YYYY-MM-DD. |
{
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"sex": {
"enum": [
"male",
"female"
],
"type": "string"
},
"goal": {
"type": "string",
"maxLength": 255,
"description": "Goal, e.g. hipertrofia, emagrecimento."
},
"name": {
"type": "string",
"maxLength": 255,
"description": "Student full name."
},
"email": {
"type": "string",
"maxLength": 255,
"description": "Student e-mail (the invite goes there)."
},
"phone": {
"type": "string",
"maxLength": 30,
"description": "Phone with area code."
},
"height_cm": {
"type": "number",
"description": "Height in cm."
},
"weight_kg": {
"type": "number",
"description": "Weight in kg."
},
"birth_date": {
"type": "string",
"maxLength": 10,
"description": "YYYY-MM-DD."
}
}
}Creates a workout, assigned to a student (student_id) or as a template when student_id is empty, with its exercises: sets, reps (or a range with reps_max), load, rest, duration for cardio, notes. Exercises are matched to the Trainer Connect library by name so the student sees the demo video (or pass edb_exercise_id from search_exercises). For a weekly program, call it once per day with the same program name and day_of_week. The student is notified, like in the app.
| Argument | Type | Description |
|---|---|---|
| title* | string | Workout name, e.g. "Treino A - Peito e Tríceps". |
| program | string | Program/week name that groups the days, e.g. "Hipertrofia outubro". |
| exercises* | array | Exercises in order. |
| student_id | integer | student_id from list_students. Empty = template in the trainer's library. |
| day_of_week | string | monday … sunday. |
| description | string | Notes for the student. |
| estimated_minutes | integer | Expected duration. |
{
"type": "object",
"required": [
"title",
"exercises"
],
"properties": {
"title": {
"type": "string",
"maxLength": 255,
"description": "Workout name, e.g. \"Treino A - Peito e Tríceps\"."
},
"program": {
"type": "string",
"maxLength": 255,
"description": "Program/week name that groups the days, e.g. \"Hipertrofia outubro\"."
},
"exercises": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"reps": {
"type": "integer"
},
"sets": {
"type": "integer"
},
"notes": {
"type": "string"
},
"phase": {
"enum": [
"warmup",
"main",
"cooldown"
],
"type": "string"
},
"weight": {
"type": "number",
"description": "Load in kg."
},
"reps_max": {
"type": "integer",
"description": "Top of a rep range, e.g. 8-12."
},
"rest_seconds": {
"type": "integer"
},
"edb_exercise_id": {
"type": "integer",
"description": "From search_exercises."
},
"duration_seconds": {
"type": "integer",
"description": "For cardio or isometric holds."
}
}
},
"minItems": 1,
"description": "Exercises in order."
},
"student_id": {
"type": "integer",
"description": "student_id from list_students. Empty = template in the trainer's library."
},
"day_of_week": {
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"type": "string",
"description": "monday … sunday."
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Notes for the student."
},
"estimated_minutes": {
"type": "integer",
"description": "Expected duration."
}
}
}Declines a class a student booked that is waiting for confirmation; the student is told.
| Argument | Type | Description |
|---|---|---|
| appointmentId* | integer | Appointment id from get_schedule. |
{
"type": "object",
"required": [
"appointmentId"
],
"properties": {
"appointmentId": {
"type": "integer",
"description": "Appointment id from get_schedule."
}
}
}Shows what one Trainer Connect operation accepts: route parameters and the validation rules of each field (required, type, allowed values). Use it before api_write so the request is right the first time.
| Argument | Type | Description |
|---|---|---|
| path* | string | Path from list_operations, with or without ids filled in, e.g. /v1/workouts. |
| method* | string | HTTP method from list_operations. |
{
"type": "object",
"required": [
"method",
"path"
],
"properties": {
"path": {
"type": "string",
"maxLength": 200,
"description": "Path from list_operations, with or without ids filled in, e.g. /v1/workouts."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string",
"description": "HTTP method from list_operations."
}
}
}Find personal trainers listed in the public Trainer Connect directory (most are in Brazil; some are Brazilian trainers abroad), by specialty, name, city or state, and online or in-person. Specialties are written in Portuguese, e.g. "musculação", "emagrecimento", "funcional", "corrida", "hipertrofia". Returns up to 10 trainers with their public profile link. Contact details are never returned: the person talks to the trainer through the profile page.
| Argument | Type | Description |
|---|---|---|
| query | string | Specialty, goal or trainer name, in Portuguese when possible, e.g. "emagrecimento", "musculação", "gestante". |
| location | string | City and/or Brazilian state (name or two-letter code), e.g. "Campinas", "SP", "Rio de Janeiro". Leave out for online coaching, which works from anywhere. |
| modality | string | online for remote coaching, in_person for sessions at a gym or at home. |
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Specialty, goal or trainer name, in Portuguese when possible, e.g. \"emagrecimento\", \"musculação\", \"gestante\"."
},
"location": {
"type": "string",
"description": "City and/or Brazilian state (name or two-letter code), e.g. \"Campinas\", \"SP\", \"Rio de Janeiro\". Leave out for online coaching, which works from anywhere."
},
"modality": {
"enum": [
"online",
"in_person"
],
"type": "string",
"description": "online for remote coaching, in_person for sessions at a gym or at home."
}
}
}Which students have an active diet plan and since when.
No arguments.
{
"type": "object",
"properties": {}
}AI credits left for workout, diet and assessment generation in the app. Read only.
No arguments.
{
"type": "object",
"properties": {}
}The questions of one anamnesis form.
| Argument | Type | Description |
|---|---|---|
| formId* | integer | Id from list_anamnesis_forms. |
{
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "integer",
"description": "Id from list_anamnesis_forms."
}
}
}One line per student with an anamnesis pending or answered.
No arguments.
{
"type": "object",
"properties": {}
}One physical assessment with every measurement and the photos.
| Argument | Type | Description |
|---|---|---|
| assessmentId* | integer | The id from list_assessments. |
{
"type": "object",
"required": [
"assessmentId"
],
"properties": {
"assessmentId": {
"type": "integer",
"description": "The id from list_assessments."
}
}
}The latest AI analysis written for one assessment, if there is one.
| Argument | Type | Description |
|---|---|---|
| assessmentId* | integer | The id from list_assessments. |
{
"type": "object",
"required": [
"assessmentId"
],
"properties": {
"assessmentId": {
"type": "integer",
"description": "The id from list_assessments."
}
}
}What the app's autopilot did or suggests (reminders, follow-ups) for the trainer.
No arguments.
{
"type": "object",
"properties": {}
}Balance available and to receive in the trainer's wallet. Read only: withdrawals stay in the app.
No arguments.
{
"type": "object",
"properties": {}
}One catalog workout with every exercise.
| Argument | Type | Description |
|---|---|---|
| workoutId* | integer | Id from list_catalog_workouts. |
{
"type": "object",
"required": [
"workoutId"
],
"properties": {
"workoutId": {
"type": "integer",
"description": "Id from list_catalog_workouts."
}
}
}For one check-in questionnaire: which students got it, answered or are late.
| Argument | Type | Description |
|---|---|---|
| templateId* | integer | Id from list_checkin_templates. |
{
"type": "object",
"required": [
"templateId"
],
"properties": {
"templateId": {
"type": "integer",
"description": "Id from list_checkin_templates."
}
}
}Active check-ins of every student: who answered and who is late.
No arguments.
{
"type": "object",
"properties": {}
}How many people opened the plan checkout, started and finished it.
No arguments.
{
"type": "object",
"properties": {}
}One challenge with participants and ranking.
| Argument | Type | Description |
|---|---|---|
| competitionId* | integer | Id from list_competitions. |
{
"type": "object",
"required": [
"competitionId"
],
"properties": {
"competitionId": {
"type": "integer",
"description": "Id from list_competitions."
}
}
}One of the trainer's plans/contracts with its terms. Read only.
| Argument | Type | Description |
|---|---|---|
| contractId* | integer | Id from list_contracts. |
{
"type": "object",
"required": [
"contractId"
],
"properties": {
"contractId": {
"type": "integer",
"description": "Id from list_contracts."
}
}
}Totals per plan: active students, revenue per month. Read only.
No arguments.
{
"type": "object",
"properties": {}
}Percentage of meals the student checked in the last days, day by day.
| Argument | Type | Description |
|---|---|---|
| days | integer | How many days back, 7 by default, at most 30. |
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"days": {
"type": "integer",
"description": "How many days back, 7 by default, at most 30."
},
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}One diet plan with meals, foods, amounts and macros.
| Argument | Type | Description |
|---|---|---|
| planId* | integer | Id from list_diet_plans. |
{
"type": "object",
"required": [
"planId"
],
"properties": {
"planId": {
"type": "integer",
"description": "Id from list_diet_plans."
}
}
}Monthly revenue, recurring revenue, default rate, average ticket and churn. Read only.
No arguments.
{
"type": "object",
"properties": {}
}The trainer's free time slots on a date, for booking a class.
| Argument | Type | Description |
|---|---|---|
| date* | string | YYYY-MM-DD. |
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD."
}
}
}The trainer's shareable link: a student who opens it signs up already linked to this trainer.
No arguments.
{
"type": "object",
"properties": {}
}The latest assessment of every student at once. Use it to compare students or find who is due a new one.
No arguments.
{
"type": "object",
"properties": {}
}One lead: contact, origin, status, notes and the first message.
| Argument | Type | Description |
|---|---|---|
| leadId* | integer | Id from list_leads. |
{
"type": "object",
"required": [
"leadId"
],
"properties": {
"leadId": {
"type": "integer",
"description": "Id from list_leads."
}
}
}Leads by status and origin, and how many became students.
No arguments.
{
"type": "object",
"properties": {}
}Classes given, missed and make-up credits per student in a month.
| Argument | Type | Description |
|---|---|---|
| month | string | YYYY-MM, current month by default. |
{
"type": "object",
"properties": {
"month": {
"type": "string",
"description": "YYYY-MM, current month by default."
}
}
}One payment: amount, due date, status, method and receipt. Read only.
| Argument | Type | Description |
|---|---|---|
| paymentId* | integer | Id from list_payments. |
{
"type": "object",
"required": [
"paymentId"
],
"properties": {
"paymentId": {
"type": "integer",
"description": "Id from list_payments."
}
}
}One training program with its weeks, days and exercises.
| Argument | Type | Description |
|---|---|---|
| programId* | integer | Id from list_programs or list_student_programs. |
{
"type": "object",
"required": [
"programId"
],
"properties": {
"programId": {
"type": "integer",
"description": "Id from list_programs or list_student_programs."
}
}
}The trainer's public page (bio, specialties, photos, link) as students see it.
No arguments.
{
"type": "object",
"properties": {}
}Visits and contacts the public page got.
No arguments.
{
"type": "object",
"properties": {}
}Trainers and students the trainer referred, and the rewards.
No arguments.
{
"type": "object",
"properties": {}
}Lists the trainer's classes and appointments between two dates (today and the next 7 days by default): date and time, student, type, status, place and notes. Times are in Brazil time (America/Sao_Paulo).
| Argument | Type | Description |
|---|---|---|
| to | string | Last day, YYYY-MM-DD. Default: 7 days after "from". At most 62 days after "from". |
| from | string | First day, YYYY-MM-DD. Default: today. |
{
"type": "object",
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day, YYYY-MM-DD. Default: 7 days after \"from\". At most 62 days after \"from\"."
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day, YYYY-MM-DD. Default: today."
}
}
}Wallet statement: what came in and the fees. Read only.
No arguments.
{
"type": "object",
"properties": {}
}Gets one of the trainer's students: profile (goal, age, weight, height), the active workouts with their exercises, sets, reps and load, and the latest logged sessions with how many in the last 30 days.
| Argument | Type | Description |
|---|---|---|
| student_id* | integer | The student_id returned by list_students. |
{
"type": "object",
"required": [
"student_id"
],
"properties": {
"student_id": {
"type": "integer",
"description": "The student_id returned by list_students."
}
}
}Latest health summary synced from the student's watch or phone (steps, sleep, heart rate, weight).
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Which class notices the students get (new class, cancelled, status, time change).
No arguments.
{
"type": "object",
"properties": {}
}How many days or weeks in a row the student trained, and the weekly target.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Summary of one student as the app dashboard shows it: active workouts, sessions, assessments, payments and the next class.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Days each student trained in the last 30 days, by student_id. Use it to find students who stopped training.
No arguments.
{
"type": "object",
"properties": {}
}One subscription: plan, price, period, next charge, signature. Read only.
| Argument | Type | Description |
|---|---|---|
| subscriptionId* | integer | Id from list_subscriptions. |
{
"type": "object",
"required": [
"subscriptionId"
],
"properties": {
"subscriptionId": {
"type": "integer",
"description": "Id from list_subscriptions."
}
}
}Show the public profile of one personal trainer from the Trainer Connect directory: bio, specialties, where they work, online or in person, and the plans they publish with price and billing period. The person contacts the trainer or signs up for a plan on the profile_url page; this connector never books, pays or sends messages.
| Argument | Type | Description |
|---|---|---|
| trainer* | string | The trainer id ("trainer" field) returned by find_trainers. |
{
"type": "object",
"required": [
"trainer"
],
"properties": {
"trainer": {
"type": "string",
"description": "The trainer id (\"trainer\" field) returned by find_trainers."
}
}
}One workout with every exercise, sets, reps, load and rest.
| Argument | Type | Description |
|---|---|---|
| workoutId* | integer | Workout id. |
{
"type": "object",
"required": [
"workoutId"
],
"properties": {
"workoutId": {
"type": "integer",
"description": "Workout id."
}
}
}Heart rate, calories and duration of the student's recent workouts, from the watch.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Ranking of the students who did one workout (loads, time).
| Argument | Type | Description |
|---|---|---|
| workoutId* | integer | Workout id. |
{
"type": "object",
"required": [
"workoutId"
],
"properties": {
"workoutId": {
"type": "integer",
"description": "Workout id."
}
}
}One workout session in detail: exercises done, sets, loads and timing.
| Argument | Type | Description |
|---|---|---|
| sessionId* | integer | Id from list_student_sessions or list_live_sessions. |
{
"type": "object",
"required": [
"sessionId"
],
"properties": {
"sessionId": {
"type": "integer",
"description": "Id from list_student_sessions or list_live_sessions."
}
}
}Anamnesis questionnaires the student filled in, with every answer.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}The trainer's anamnesis (health questionnaire) forms; send_anamnesis needs one.
No arguments.
{
"type": "object",
"properties": {}
}Anamnesis forms sent to one student, answered or waiting.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}News and announcements from Trainer Connect to trainers.
No arguments.
{
"type": "object",
"properties": {}
}Assessments of one student that were archived.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Physical assessments of one student (weight, body fat, measurements, skinfolds), newest first.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Students asking to cancel a plan. Read only: answering stays in the app.
No arguments.
{
"type": "object",
"properties": {}
}Money the trainer recorded by hand (cash, Pix outside the app, expenses). Read only.
No arguments.
{
"type": "object",
"properties": {}
}Ready-made workouts from the Trainer Connect catalog, by search, category, muscle group, difficulty or length.
| Argument | Type | Description |
|---|---|---|
| search | string | |
| category | string | |
| difficulty | string | |
| max_minutes | integer | |
| muscle_group | string |
{
"type": "object",
"properties": {
"search": {
"type": "string"
},
"category": {
"type": "string"
},
"difficulty": {
"type": "string"
},
"max_minutes": {
"type": "integer"
},
"muscle_group": {
"type": "string"
}
}
}Charges the trainer created for students. Read only.
No arguments.
{
"type": "object",
"properties": {}
}Check-in answers of one student (weight, sleep, energy, photos...), newest first.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}The trainer's periodic check-in questionnaires; send_checkin needs one.
No arguments.
{
"type": "object",
"properties": {}
}Requests from students to move a class, waiting for the trainer.
No arguments.
{
"type": "object",
"properties": {}
}Sessions the trainer ran with the student in person, from the app's coach mode.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Challenges/competitions the trainer created among students, with ranking.
No arguments.
{
"type": "object",
"properties": {}
}Students subscribed to one plan. Read only.
| Argument | Type | Description |
|---|---|---|
| contractId* | integer | Id from list_contracts. |
{
"type": "object",
"required": [
"contractId"
],
"properties": {
"contractId": {
"type": "integer",
"description": "Id from list_contracts."
}
}
}The plans/contracts the trainer sells (price, period, classes) and how many students are on each. Read only.
No arguments.
{
"type": "object",
"properties": {}
}The trainer's chats with students, with the last message and unread count.
No arguments.
{
"type": "object",
"properties": {}
}Discount coupons for the trainer's plans. Read only.
No arguments.
{
"type": "object",
"properties": {}
}What the student said about meals of the diet (liked, swapped, skipped).
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Diet plans the trainer wrote for one student.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Diet plan templates the trainer saved to reuse.
No arguments.
{
"type": "object",
"properties": {}
}National holidays and the trainer's own days off, when classes are not booked.
No arguments.
{
"type": "object",
"properties": {}
}Students who asked to train with this trainer and are waiting for an answer.
No arguments.
{
"type": "object",
"properties": {}
}People interested in training with the trainer (site, catalog, public page). Filter by status or search.
| Argument | Type | Description |
|---|---|---|
| search | string | Name, e-mail, phone or message. |
| status | string |
{
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Name, e-mail, phone or message."
},
"status": {
"enum": [
"new",
"contacted",
"negotiating",
"won",
"lost"
],
"type": "string"
}
}
}Workout sessions in progress right now among the trainer's students.
No arguments.
{
"type": "object",
"properties": {}
}Meal templates the trainer saved (breakfast, snacks...).
No arguments.
{
"type": "object",
"properties": {}
}The trainer's app notifications, newest first.
No arguments.
{
"type": "object",
"properties": {}
}Lists the Trainer Connect app operations this connection can run (method, path, summary): students, workouts and programs, exercise library, schedule and classes, workout sessions and history, physical assessments, anamnesis, diet plans and nutrition, check-ins, chat, contracts, charges and payments, team, public page, AI generation and more. Filter with a keyword (Portuguese or English, e.g. "workout", "assessment", "diet", "appointment", "charge"). Then use describe_operation to see the fields and api_read or api_write to run it. Also returns the connected trainer_id, used in paths like /v1/trainers/{trainerId}/students.
| Argument | Type | Description |
|---|---|---|
| keyword | string | Part of the path or summary, e.g. "workout", "assessment", "diet". |
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"maxLength": 60,
"description": "Part of the path or summary, e.g. \"workout\", \"assessment\", \"diet\"."
}
}
}Reminders already sent to the student about one payment. Read only.
| Argument | Type | Description |
|---|---|---|
| paymentId* | integer | Id from list_payments. |
{
"type": "object",
"required": [
"paymentId"
],
"properties": {
"paymentId": {
"type": "integer",
"description": "Id from list_payments."
}
}
}Lists what the trainer's students paid or owe: amount, student, due date, paid date and status. Use status "overdue" for unpaid charges past their due date, "open" for everything not paid yet, "paid" for received payments. Totals are in BRL.
| Argument | Type | Description |
|---|---|---|
| to | string | Due or paid on or before, YYYY-MM-DD. |
| from | string | Due or paid on or after, YYYY-MM-DD. |
| status | string | "overdue", "open", "paid" or "all" (default). |
{
"type": "object",
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Due or paid on or before, YYYY-MM-DD."
},
"from": {
"type": "string",
"maxLength": 10,
"description": "Due or paid on or after, YYYY-MM-DD."
},
"status": {
"enum": [
"overdue",
"open",
"paid",
"all"
],
"type": "string",
"description": "\"overdue\", \"open\", \"paid\" or \"all\" (default)."
}
}
}The trainer's training programs (workout sheets with weeks).
No arguments.
{
"type": "object",
"properties": {}
}Latest workouts finished by all the trainer's students at once, newest first, with rating and notes.
No arguments.
{
"type": "object",
"properties": {}
}The trainer's recurring weekly class slots per student.
No arguments.
{
"type": "object",
"properties": {}
}All classes and appointments of one student, past and future.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Files the trainer attached to a student (exams, reports, photos).
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}The student's goals and progress (weight, body fat, workouts per week...).
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Payments of one student, paid, pending and overdue. Read only.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Training programs (sheets with weeks and days) assigned to one student.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Every workout session a student logged: date, workout, duration, rating, notes and the loads used.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Plans one student subscribed to, with status and renewal. Read only.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Supplements and water the student takes, with adherence over the last 30 days.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Every workout assigned to one student, active and past, with the exercises.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Lists the connected personal trainer's students with status, goal and start date. Optionally filter by part of the name. Use the returned student_id with get_student.
| Argument | Type | Description |
|---|---|---|
| search | string | Part of the student's name. |
| status | string | "active" (default) or "all", which includes pending and inactive students. |
{
"type": "object",
"properties": {
"search": {
"type": "string",
"maxLength": 80,
"description": "Part of the student's name."
},
"status": {
"enum": [
"active",
"all"
],
"type": "string",
"description": "\"active\" (default) or \"all\", which includes pending and inactive students."
}
}
}Every charge of one subscription. Read only.
| Argument | Type | Description |
|---|---|---|
| subscriptionId* | integer | Id from list_subscriptions. |
{
"type": "object",
"required": [
"subscriptionId"
],
"properties": {
"subscriptionId": {
"type": "integer",
"description": "Id from list_subscriptions."
}
}
}Each student's subscription to the trainer's plans, with status and next charge. Read only.
No arguments.
{
"type": "object",
"properties": {}
}Tabs (comandas) of students: products and services consumed. Read only.
No arguments.
{
"type": "object",
"properties": {}
}Team members (other trainers, interns) of the trainer's account and what they can do.
No arguments.
{
"type": "object",
"properties": {}
}Changes students suggested to their workouts (load, exercise swap), waiting for the trainer.
No arguments.
{
"type": "object",
"properties": {}
}Every workout the trainer wrote, for all students, with the exercises.
No arguments.
{
"type": "object",
"properties": {}
}Marks the chat with one student as read.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Marks every notification of the trainer as read.
No arguments.
{
"type": "object",
"properties": {}
}Brings back a student who was inactive, with the history kept.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}Messages between the trainer and one student, newest last.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}The conversation with a lead, oldest first; marks the lead's messages as read, like opening it in the app.
| Argument | Type | Description |
|---|---|---|
| leadId* | integer | Id from list_leads. |
{
"type": "object",
"required": [
"leadId"
],
"properties": {
"leadId": {
"type": "integer",
"description": "Id from list_leads."
}
}
}Declines the student's request; the class stays where it was.
| Argument | Type | Description |
|---|---|---|
| requestId* | integer | Id from list_class_change_requests. |
| response_note | string | Message to the student. |
{
"type": "object",
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "integer",
"description": "Id from list_class_change_requests."
},
"response_note": {
"type": "string",
"description": "Message to the student."
}
}
}Declines a request to train with the trainer.
| Argument | Type | Description |
|---|---|---|
| requestId* | integer | Id from list_join_requests. |
{
"type": "object",
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "integer",
"description": "Id from list_join_requests."
}
}
}Rejects a student's suggestion; the workout stays as it is.
| Argument | Type | Description |
|---|---|---|
| suggestionId* | integer | Id from list_workout_suggestions. |
{
"type": "object",
"required": [
"suggestionId"
],
"properties": {
"suggestionId": {
"type": "integer",
"description": "Id from list_workout_suggestions."
}
}
}Sends a message to a lead (in-app notification or e-mail). Show the text to the person before sending.
| Argument | Type | Description |
|---|---|---|
| leadId* | integer | Id from list_leads. |
| message* | string | The reply, up to 2000 characters. |
{
"type": "object",
"required": [
"leadId",
"message"
],
"properties": {
"leadId": {
"type": "integer",
"description": "Id from list_leads."
},
"message": {
"type": "string",
"description": "The reply, up to 2000 characters."
}
}
}Proposes a new time for a class, like in the app: the student accepts it there, or the class moves at once if the trainer turned on "my changes apply immediately". The student is notified.
| Argument | Type | Description |
|---|---|---|
| reason | string | Message to the student. |
| appointment_id* | integer | Appointment id from get_schedule. |
| proposed_date_time* | string | New start, ISO 8601 with the -03:00 offset (Brazil time). |
| proposed_duration_minutes | integer |
{
"type": "object",
"required": [
"appointment_id",
"proposed_date_time"
],
"properties": {
"reason": {
"type": "string",
"description": "Message to the student."
},
"appointment_id": {
"type": "integer",
"description": "Appointment id from get_schedule."
},
"proposed_date_time": {
"type": "string",
"description": "New start, ISO 8601 with the -03:00 offset (Brazil time)."
},
"proposed_duration_minutes": {
"type": "integer"
}
}
}Books a class or appointment on the trainer's schedule (Brazil time, America/Sao_Paulo), with a student or as a personal block when student_id is empty. The student is notified, like in the app. To move or cancel it later use reschedule_class or cancel_class.
| Argument | Type | Description |
|---|---|---|
| notes | string | |
| title | string | |
| location | string | |
| date_time* | string | Start, "YYYY-MM-DD HH:MM" in Brazil time. |
| student_id | integer | student_id from list_students; empty for a personal block. |
| duration_minutes | integer | Default 60. |
{
"type": "object",
"required": [
"date_time"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 2000
},
"title": {
"type": "string",
"maxLength": 255
},
"location": {
"type": "string",
"maxLength": 500
},
"date_time": {
"type": "string",
"maxLength": 20,
"description": "Start, \"YYYY-MM-DD HH:MM\" in Brazil time."
},
"student_id": {
"type": "integer",
"description": "student_id from list_students; empty for a personal block."
},
"duration_minutes": {
"type": "integer",
"description": "Default 60."
}
}
}Searches the Trainer Connect exercise library (with demo videos), in Portuguese or English: "supino", "agachamento", "remada", "glúteo", "esteira". Returns the exercise id to pass as edb_exercise_id in create_workout, so the student sees the video.
| Argument | Type | Description |
|---|---|---|
| search* | string | Exercise name or muscle. |
{
"type": "object",
"required": [
"search"
],
"properties": {
"search": {
"type": "string",
"maxLength": 120,
"description": "Exercise name or muscle."
}
}
}Foods from the TACO table and the trainer's own, with macros per portion. Each word must appear in the name.
| Argument | Type | Description |
|---|---|---|
| q | string | Food name, e.g. "arroz integral". |
| source | string |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Food name, e.g. \"arroz integral\"."
},
"source": {
"enum": [
"taco",
"custom",
"recipe"
],
"type": "string"
}
}
}Sends an anamnesis form for the student to fill in the app.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
| expires_at | string | Deadline, YYYY-MM-DD. |
| notify_student | boolean | Push the student now (default true). |
| anamnesis_form_id* | integer | Form id from list_anamnesis_forms. |
{
"type": "object",
"required": [
"studentId",
"anamnesis_form_id"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
},
"expires_at": {
"type": "string",
"description": "Deadline, YYYY-MM-DD."
},
"notify_student": {
"type": "boolean",
"description": "Push the student now (default true)."
},
"anamnesis_form_id": {
"type": "integer",
"description": "Form id from list_anamnesis_forms."
}
}
}Assigns a check-in questionnaire to one or more students; they answer in the app.
| Argument | Type | Description |
|---|---|---|
| templateId* | integer | Template id from list_checkin_templates. |
| student_ids* | array | student_id values from list_students. |
{
"type": "object",
"required": [
"templateId",
"student_ids"
],
"properties": {
"templateId": {
"type": "integer",
"description": "Template id from list_checkin_templates."
},
"student_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "student_id values from list_students."
}
}
}Sends a chat message to a student, who gets a push. Show the text to the person before sending.
| Argument | Type | Description |
|---|---|---|
| content* | string | The message, up to 5000 characters. |
| receiver_id* | integer | The student_id from list_students. |
{
"type": "object",
"required": [
"receiver_id",
"content"
],
"properties": {
"content": {
"type": "string",
"description": "The message, up to 5000 characters."
},
"receiver_id": {
"type": "integer",
"description": "The student_id from list_students."
}
}
}How many workouts per week the student should do (1 to 7); null goes back to automatic.
| Argument | Type | Description |
|---|---|---|
| studentId* | integer | The student_id from list_students. |
| weekly_training_target* | integer | 1 to 7, or null for automatic. |
{
"type": "object",
"required": [
"studentId",
"weekly_training_target"
],
"properties": {
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
},
"weekly_training_target": {
"type": "integer",
"description": "1 to 7, or null for automatic."
}
}
}Fixes values of an assessment already saved. Send only what changes.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD. |
| notes | string | |
| hip_cm | number | |
| waist_cm | number | |
| weight_kg | number | |
| assessmentId* | integer | The id from list_assessments. |
| muscle_mass_kg | number | |
| body_fat_percent | number |
{
"type": "object",
"required": [
"assessmentId"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"notes": {
"type": "string"
},
"hip_cm": {
"type": "number"
},
"waist_cm": {
"type": "number"
},
"weight_kg": {
"type": "number"
},
"assessmentId": {
"type": "integer",
"description": "The id from list_assessments."
},
"muscle_mass_kg": {
"type": "number"
},
"body_fat_percent": {
"type": "number"
}
}
}Marks a class as completed, no-show or confirmed, or changes its notes or place. To change the time use reschedule_class.
| Argument | Type | Description |
|---|---|---|
| notes | string | |
| status | string | |
| location | string | |
| is_online | boolean | |
| appointmentId* | integer | Appointment id from get_schedule. |
{
"type": "object",
"required": [
"appointmentId"
],
"properties": {
"notes": {
"type": "string"
},
"status": {
"enum": [
"confirmed",
"completed",
"no_show"
],
"type": "string"
},
"location": {
"type": "string"
},
"is_online": {
"type": "boolean"
},
"appointmentId": {
"type": "integer",
"description": "Appointment id from get_schedule."
}
}
}Changes a goal's target, dates or progress, or marks it done (completed_at). Send only what changes.
| Argument | Type | Description |
|---|---|---|
| title | string | |
| goalId* | integer | Id from list_student_goals. |
| end_date | string | YYYY-MM-DD. |
| completed_at | string | YYYY-MM-DD when it was reached. |
| target_value | number | |
| manual_progress | integer | 0 to 100. |
{
"type": "object",
"required": [
"goalId"
],
"properties": {
"title": {
"type": "string"
},
"goalId": {
"type": "integer",
"description": "Id from list_student_goals."
},
"end_date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"completed_at": {
"type": "string",
"description": "YYYY-MM-DD when it was reached."
},
"target_value": {
"type": "number"
},
"manual_progress": {
"type": "integer",
"description": "0 to 100."
}
}
}Moves a lead in the funnel and/or saves notes.
| Argument | Type | Description |
|---|---|---|
| notes | string | |
| leadId* | integer | Id from list_leads. |
| status | string |
{
"type": "object",
"required": [
"leadId"
],
"properties": {
"notes": {
"type": "string"
},
"leadId": {
"type": "integer",
"description": "Id from list_leads."
},
"status": {
"enum": [
"new",
"contacted",
"negotiating",
"won",
"lost"
],
"type": "string"
}
}
}Updates a student's profile. Send only what changes.
| Argument | Type | Description |
|---|---|---|
| sex | string | |
| goal | string | Training goal. |
| name | string | Full name. |
| phone | string | Phone with area code. |
| height_cm | number | |
| studentId* | integer | The student_id from list_students. |
| weight_kg | number | |
| birth_date | string | YYYY-MM-DD. |
| service_mode | string |
{
"type": "object",
"required": [
"studentId"
],
"properties": {
"sex": {
"enum": [
"male",
"female"
],
"type": "string"
},
"goal": {
"type": "string",
"description": "Training goal."
},
"name": {
"type": "string",
"description": "Full name."
},
"phone": {
"type": "string",
"description": "Phone with area code."
},
"height_cm": {
"type": "number"
},
"studentId": {
"type": "integer",
"description": "The student_id from list_students."
},
"weight_kg": {
"type": "number"
},
"birth_date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"service_mode": {
"enum": [
"online",
"in_person",
"hybrid"
],
"type": "string"
}
}
}Turns on or off the automatic class notices students get. Send only what changes.
| Argument | Type | Description |
|---|---|---|
| status | boolean | |
| cancelled | boolean | |
| new_class | boolean | |
| time_change | boolean |
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"cancelled": {
"type": "boolean"
},
"new_class": {
"type": "boolean"
},
"time_change": {
"type": "boolean"
}
}
}| diastolic_bp |
| integer |
| left_calf_cm | number |
| right_arm_cm | number |
| left_thigh_cm | number |
| right_calf_cm | number |
| muscle_mass_kg | number |
| right_thigh_cm | number |
| body_fat_percent | number |
| resting_heart_rate | integer |
{
"type": "object",
"required": [
"student_id",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD."
},
"notes": {
"type": "string"
},
"hip_cm": {
"type": "number"
},
"chest_cm": {
"type": "number"
},
"waist_cm": {
"type": "number"
},
"height_cm": {
"type": "number"
},
"weight_kg": {
"type": "number"
},
"abdomen_cm": {
"type": "number"
},
"student_id": {
"type": "integer",
"description": "The student_id from list_students."
},
"left_arm_cm": {
"type": "number"
},
"systolic_bp": {
"type": "integer"
},
"diastolic_bp": {
"type": "integer"
},
"left_calf_cm": {
"type": "number"
},
"right_arm_cm": {
"type": "number"
},
"left_thigh_cm": {
"type": "number"
},
"right_calf_cm": {
"type": "number"
},
"muscle_mass_kg": {
"type": "number"
},
"right_thigh_cm": {
"type": "number"
},
"body_fat_percent": {
"type": "number"
},
"resting_heart_rate": {
"type": "integer"
}
}
}