# Trainer Connect (remote · api.trainerconnect.com.br)

Manage students, workouts, appointments and payments through your personal trainer account.

- Trust score: 88/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `api.trainerconnect.com.br`: 88/100 (this document), [markdown](https://verifymcp.io/servers/br-com-trainerconnect-personal-trainer/api.md), [page](https://verifymcp.io/servers/br-com-trainerconnect-personal-trainer/api)

## Channel facts

- Endpoint: `https://api.trainerconnect.com.br/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 94/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 16095 tokens (~56/item across 283 items; 283 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 80/100
  - Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 86/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 58% of tool parameters carry a description.
- **Tool Safety**: 95/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 8 of 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "list_charges" implies "charge" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 284 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Trainer Connect MCP server?

Trainer Connect is a hosted endpoint at https://api.trainerconnect.com.br/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http br-com-trainerconnect-personal-trainer 'https://api.trainerconnect.com.br/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "br-com-trainerconnect-personal-trainer": {
      "url": "https://api.trainerconnect.com.br/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "br-com-trainerconnect-personal-trainer": {
      "type": "http",
      "url": "https://api.trainerconnect.com.br/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.br-com-trainerconnect-personal-trainer]
url = "https://api.trainerconnect.com.br/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "br-com-trainerconnect-personal-trainer": {
      "type": "remote",
      "url": "https://api.trainerconnect.com.br/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add br-com-trainerconnect-personal-trainer --url 'https://api.trainerconnect.com.br/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  br-com-trainerconnect-personal-trainer:
    url: "https://api.trainerconnect.com.br/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "br-com-trainerconnect-personal-trainer": {
      "Transport": "http",
      "Url": "https://api.trainerconnect.com.br/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add br-com-trainerconnect-personal-trainer -t streamable-http -u 'https://api.trainerconnect.com.br/mcp'
```

### Other

```json
{
  "mcpServers": {
    "br-com-trainerconnect-personal-trainer": {
      "type": "http",
      "url": "https://api.trainerconnect.com.br/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 88, +1)

- [security] Tool “get_anamnesis_overview” rewrote its description, which is the text the model reads
- [functional] New tool “list_workouts_to_renew”
- [functional] New tool “update_program_exercise”
- [cosmetic] “get_anamnesis_overview” added an optional parameter “status”

### 2026-11-04 (score 87, 0)

- [security] Tool “get_active_diets” rewrote its description, which is the text the model reads
- [security] Tool “get_latest_assessments” rewrote its description, which is the text the model reads
- [security] Tool “list_inactive_students” rewrote its description, which is the text the model reads
- [security] Tool “list_leads” rewrote its description, which is the text the model reads
- [security] Tool “list_payments” rewrote its description, which is the text the model reads
- [security] Tool “list_workout_suggestions” rewrote its description, which is the text the model reads
- [security] Tool “read_lead_chat” rewrote its description, which is the text the model reads
- [cosmetic] “get_latest_assessments” added an optional parameter “days”
- [cosmetic] “get_latest_assessments” added an optional parameter “only_due”
- [cosmetic] “list_workout_suggestions” added an optional parameter “status”
- [cosmetic] Tool “get_active_diets” changed its title: See active diets → See students diets

### 2026-11-03 (score 87, +1)

- [security] Tool “get_checkins_overview” rewrote its description, which is the text the model reads
- [security] Tool “get_schedule” rewrote its description, which is the text the model reads
- [security] Tool “list_inactive_students” rewrote its description, which is the text the model reads

### 2026-11-02 (score 86, 0)

- [functional] New tool “list_inactive_students”

### 2026-11-01 (score 86, +1)

- [security regression] A breaking change shipped without a version bump: still 3.0.0
- [security regression] Tool “list_inactive_students” was removed

### 2026-10-30 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 84, +1)

- [security] Tool “list_payments” rewrote its description, which is the text the model reads
- [cosmetic] “list_payments” added an optional parameter “student”

### 2026-10-27 (score 83, 0)

- [functional] New tool “list_inactive_students”

## MCP tools (283)

### `list_students` (~76 tokens)

List my 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.

Input parameters:

- `search` (string): Part of the student's name.
- `status` (string): "active" (default) or "all", which includes pending and inactive students.

### `list_inactive_students` (~157 tokens)

Find students who stopped training

Active students who have not finished a workout in the last N days (7 by default), with name, phone to reach out (the guardian's for a dependent), last workout date, days since and the app_url of the student profile, longest absence first. Students who never trained come first. has_active_workout false means the trainer never gave this student a workout: open workouts_url (the student's workouts screen) or use create_workout before reaching out. Use it to answer "who disappeared this week?" and then get_student or list_student_sessions for one of them. Read only: nothing is sent to the student.

Input parameters:

- `days` (integer): Days without a finished workout, 1 to 30. Default 7.

### `list_workouts_to_renew` (~180 tokens)

Find students whose workout is due for renewal

Active students who keep training (finished a workout in the last 30 days) but whose workouts and programs have not changed for longer than the trainer's "renew the workout" reminder (Preferences, 6 weeks by default), with name, phone (the guardian's for a dependent), date of the last change, days_on_same_workout, workouts_url (the student's workouts screen, where the trainer renews it) and app_url of the profile, oldest first. Use it to answer "whose workout is overdue?" and then get_student or list_student_programs for one of them. Students who stopped training are list_inactive_students. Read only: nothing changes and nothing is sent.

Input parameters:

- `weeks` (integer): Weeks on the same workout, 1 to 12, for this question only. Default: the trainer's Preferences.

### `get_checkins_overview` (~70 tokens)

See check-ins status

Active check-ins of every student, late ones first: student name, how many are overdue, last answer date and mood, and the app_url of the student check-ins screen. Use it to answer "who is late on the check-in?" and then list_checkin_answers for one student.

### `get_latest_assessments` (~167 tokens)

See latest assessment of each student

Every active student with the date of the latest physical assessment (null = never assessed), days_since, weight and body fat, whether a reassessment is already booked, and the app_url of the student assessments screen. due true = past the reassessment interval (90 days by default, counted from the start of the student link when never assessed) and nothing booked, the same rule as the app reminder. only_due true answers "who is due a reassessment?", longest wait first. Next: list_assessments for one student, or schedule_class to book it. Read only.

Input parameters:

- `days` (integer): Reassessment interval in days, 30 to 365. Default 90.
- `only_due` (boolean): Only students due a reassessment. Default false.

### `get_anamnesis_overview` (~183 tokens)

See anamnesis status

Every active student with the anamnesis (health questionnaire) status: pending (sent, not answered, not expired; waiting_days and expires_at), answered (last_submitted_at) or never_sent (never received one, or it expired unanswered). Each row has name, phone to reach out (the guardian's for a dependent) and app_url: the student profile, or the answer already open when answered. status filters one group: status=pending answers "who has not answered the anamnesis yet?", longest wait first; status=never_sent lists who still needs send_anamnesis. Next: list_anamnesis_answers to read one, or send_anamnesis. Read only: nothing is sent to the student.

Input parameters:

- `status` (string): Only one group: pending, answered or never_sent. Default all.

### `list_workout_suggestions` (~130 tokens)

See students workout change requests

Changes students suggested to their workouts (load, reps, exercise swap), waiting for the trainer by default: student name, workout, exercise, current and suggested values, the student's message and the app_url of the review screen filtered on that student. Use it to answer "who asked to change the workout?"; approve_workout_suggestion or reject_workout_suggestion only after the trainer says so. status "approved", "rejected" or "all" shows the history.

Input parameters:

- `status` (string): "pending" (default), "approved", "rejected" or "all".

### `get_active_diets` (~97 tokens)

See students diets

Each student's current diet: published plans (since when, meals, adherence of the week) and drafts the trainer saved but never published to a student who has no active diet yet, with student name and the app_url of that student's diet screen. Use it to answer "who is still waiting for the diet I wrote?"; get_diet_plan shows the plan, and activate_diet_plan publishes it only after the trainer says so.

### `get_student` (~69 tokens)

See a student

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.

Input parameters:

- `student_id` (integer, required): The student_id returned by list_students.

### `get_schedule` (~126 tokens)

See my schedule

Lists the trainer's classes and appointments between two dates (today and the next 7 days by default): date and time, student, phone to confirm, type, status, place, notes, video link of the online ones and the app_url to open each appointment in the app. Times are in Brazil time (America/Sao_Paulo).

Input parameters:

- `from` (string): First day, YYYY-MM-DD. Default: today.
- `to` (string): Last day, YYYY-MM-DD. Default: 7 days after "from". At most 62 days after "from".

### `list_payments` (~204 tokens)

See payments from my students

Lists what the trainer's students paid or owe: amount, student, phone to reach the student (the guardian's for a dependent), due date, paid date and status. Use status "overdue" for unpaid charges past their due date (oldest first, with days_overdue), "open" for everything not paid yet, "paid" for received payments. Pass student (part of the name) to see one student only. Totals are in BRL. Read only: nothing is charged or sent to the student.

Input parameters:

- `from` (string): Due or paid on or after, YYYY-MM-DD.
- `status` (string): "overdue", "open", "paid" or "all" (default).
- `student` (string): Only this student: any words of the name, in any order ("souza ana"). Totals then cover just them.
- `to` (string): Due or paid on or before, YYYY-MM-DD.

### `create_student` (~168 tokens)

Add a student

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.

Input parameters:

- `birth_date` (string): YYYY-MM-DD.
- `email` (string, required): Student e-mail (the invite goes there).
- `goal` (string): Goal, e.g. hipertrofia, emagrecimento.
- `height_cm` (number): Height in cm.
- `name` (string, required): Student full name.
- `phone` (string): Phone with area code.
- `sex` (string)
- `weight_kg` (number): Weight in kg.

### `search_exercises` (~83 tokens)

Search the exercise library

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.

Input parameters:

- `search` (string, required): Exercise name or muscle.

### `create_workout` (~230 tokens)

Create a workout

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.

Input parameters:

- `day_of_week` (string): monday … sunday.
- `description` (string): Notes for the student.
- `estimated_minutes` (integer): Expected duration.
- `exercises` (array, required): Exercises in order.
- `program` (string): Program/week name that groups the days, e.g. "Hipertrofia outubro".
- `student_id` (integer): student_id from list_students. Empty = template in the trainer's library.
- `title` (string, required): Workout name, e.g. "Treino A - Peito e Tríceps".

### `schedule_class` (~139 tokens)

Schedule a class

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.

Input parameters:

- `date_time` (string, required): Start, "YYYY-MM-DD HH:MM" in Brazil time.
- `duration_minutes` (integer): Default 60.
- `location` (string)
- `notes` (string)
- `student_id` (integer): student_id from list_students; empty for a personal block.
- `title` (string)

### `list_operations` (~171 tokens)

List everything Trainer Connect can do

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.

Input parameters:

- `keyword` (string): Part of the path or summary, e.g. "workout", "assessment", "diet".

### `describe_operation` (~86 tokens)

See the fields of an operation

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.

Input parameters:

- `method` (string, required): HTTP method from list_operations.
- `path` (string, required): Path from list_operations, with or without ids filled in, e.g. /v1/workouts.

### `api_read` (~115 tokens)

Read anything in Trainer Connect

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.

Input parameters:

- `path` (string, required): Path with ids filled in, e.g. /v1/students/312/assessments.
- `query` (object): Query string parameters, e.g. {"search": "supino"}.

### `api_write` (~196 tokens)

Do anything in Trainer Connect

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, 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. Charges, refunds, payments, subscriptions, plans and prices, coupons, tabs, withdrawals, bank details, password and account deletion stay in the app.

Input parameters:

- `body` (object): JSON body with the fields from describe_operation.
- `method` (string, required): HTTP method from list_operations.
- `path` (string, required): Path with ids filled in, e.g. /v1/workouts/5216.

### `find_trainers` (~212 tokens)

Find a personal trainer

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.

Input parameters:

- `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.
- `query` (string): Specialty, goal or trainer name, in Portuguese when possible, e.g. "emagrecimento", "musculação", "gestante".

### `get_trainer` (~94 tokens)

See a trainer's profile and plans

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.

Input parameters:

- `trainer` (string, required): The trainer id ("trainer" field) returned by find_trainers.

### `get_student_summary` (~47 tokens)

See a student summary

Summary of one student as the app dashboard shows it: active workouts, sessions, assessments, payments and the next class.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_students_activity` (~33 tokens)

See who trained

Days each student trained in the last 30 days, by student_id. Use it to find students who stopped training.

### `list_recent_sessions` (~29 tokens)

See latest finished workouts

Latest workouts finished by all the trainer's students at once, newest first, with rating and notes.

### `list_student_sessions` (~44 tokens)

See a student workout history

Every workout session a student logged: date, workout, duration, rating, notes and the loads used.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_live_sessions` (~21 tokens)

See who is training now

Workout sessions in progress right now among the trainer's students.

### `list_student_goals` (~40 tokens)

See a student goals

The student's goals and progress (weight, body fat, workouts per week...).

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_student_health` (~43 tokens)

See a student health data

Latest health summary synced from the student's watch or phone (steps, sleep, heart rate, weight).

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_student_supplements` (~41 tokens)

See a student supplements

Supplements and water the student takes, with adherence over the last 30 days.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_student_classes` (~35 tokens)

See a student classes

All classes and appointments of one student, past and future.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_join_requests` (~24 tokens)

See students asking to join

Students who asked to train with this trainer and are waiting for an answer.

### `get_invite_link` (~30 tokens)

Get my invite link

The trainer's shareable link: a student who opens it signs up already linked to this trainer.

### `update_student` (~104 tokens)

Update a student

Updates a student's profile. Send only what changes.

Input parameters:

- `birth_date` (string): YYYY-MM-DD.
- `goal` (string): Training goal.
- `height_cm` (number)
- `name` (string): Full name.
- `phone` (string): Phone with area code.
- `service_mode` (string)
- `sex` (string)
- `studentId` (integer, required): The student_id from list_students.
- `weight_kg` (number)

### `list_assessments` (~44 tokens)

See a student assessments

Physical assessments of one student (weight, body fat, measurements, skinfolds), newest first.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_assessment` (~34 tokens)

See an assessment

One physical assessment with every measurement and the photos.

Input parameters:

- `assessmentId` (integer, required): The id from list_assessments.

### `list_anamnesis_forms` (~32 tokens)

See my anamnesis forms

The trainer's anamnesis (health questionnaire) forms; send_anamnesis needs one.

### `list_anamnesis_answers` (~40 tokens)

See a student anamnesis

Anamnesis questionnaires the student filled in, with every answer.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `send_anamnesis` (~88 tokens)

Send an anamnesis to a student

Sends an anamnesis form for the student to fill in the app.

Input parameters:

- `anamnesis_form_id` (integer, required): Form id from list_anamnesis_forms.
- `expires_at` (string): Deadline, YYYY-MM-DD.
- `notify_student` (boolean): Push the student now (default true).
- `studentId` (integer, required): The student_id from list_students.

### `list_checkin_templates` (~24 tokens)

See my check-in questionnaires

The trainer's periodic check-in questionnaires; send_checkin needs one.

### `list_checkin_answers` (~42 tokens)

See a student check-ins

Check-in answers of one student (weight, sleep, energy, photos...), newest first.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `send_checkin` (~56 tokens)

Send a check-in to students

Assigns a check-in questionnaire to one or more students; they answer in the app.

Input parameters:

- `student_ids` (array, required): student_id values from list_students.
- `templateId` (integer, required): Template id from list_checkin_templates.

### `list_workouts` (~23 tokens)

See all my workouts

Every workout the trainer wrote, for all students, with the exercises.

### `get_workout` (~33 tokens)

See a workout

One workout with every exercise, sets, reps, load and rest.

Input parameters:

- `workoutId` (integer, required): Workout id.

### `list_programs` (~21 tokens)

See my training programs

The trainer's training programs (workout sheets with weeks).

### `approve_workout_suggestion` (~38 tokens)

Approve a workout change

Approves a student's suggestion and applies it to the exercise.

Input parameters:

- `suggestionId` (integer, required): Id from list_workout_suggestions.

### `reject_workout_suggestion` (~39 tokens)

Reject a workout change

Rejects a student's suggestion; the workout stays as it is.

Input parameters:

- `suggestionId` (integer, required): Id from list_workout_suggestions.

### `list_diet_plans` (~34 tokens)

See a student diet plans

Diet plans the trainer wrote for one student.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_diet_plan` (~37 tokens)

See a diet plan

One diet plan with meals, foods, amounts and macros.

Input parameters:

- `planId` (integer, required): Id from list_diet_plans.

### `get_diet_adherence` (~61 tokens)

See diet adherence

Percentage of meals the student checked in the last days, day by day.

Input parameters:

- `days` (integer): How many days back, 7 by default, at most 30.
- `studentId` (integer, required): The student_id from list_students.

### `get_free_slots` (~34 tokens)

See free time slots

The trainer's free time slots on a date, for booking a class.

Input parameters:

- `date` (string, required): YYYY-MM-DD.

### `reschedule_class` (~110 tokens)

Reschedule a class

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.

Input parameters:

- `appointment_id` (integer, required): Appointment id from get_schedule.
- `proposed_date_time` (string, required): New start, ISO 8601 with the -03:00 offset (Brazil time).
- `proposed_duration_minutes` (integer)
- `reason` (string): Message to the student.

### `confirm_class` (~34 tokens)

Confirm a class

Accepts a class a student booked that is waiting for confirmation.

Input parameters:

- `appointmentId` (integer, required): Appointment id from get_schedule.

### `cancel_class` (~43 tokens)

Cancel a class

Cancels a class; the student gets a push, like in the app. Confirm with the person first.

Input parameters:

- `appointmentId` (integer, required): Appointment id from get_schedule.

### `list_class_change_requests` (~23 tokens)

See class change requests

Requests from students to move a class, waiting for the trainer.

### `accept_class_change` (~38 tokens)

Accept a class change

Accepts the student's request and moves the class to the time they asked.

Input parameters:

- `requestId` (integer, required): Id from list_class_change_requests.

### `reject_class_change` (~48 tokens)

Reject a class change

Declines the student's request; the class stays where it was.

Input parameters:

- `requestId` (integer, required): Id from list_class_change_requests.
- `response_note` (string): Message to the student.

### `list_leads` (~76 tokens)

See my leads

People interested in training with the trainer (site, catalog, public page), with phone and e-mail. Filter by status or search; status new are the ones still waiting for a first answer, then read_lead_chat.

Input parameters:

- `search` (string): Name, e-mail, phone or message.
- `status` (string)

### `get_lead` (~37 tokens)

See a lead

One lead: contact, origin, status, notes and the first message.

Input parameters:

- `leadId` (integer, required): Id from list_leads.

### `read_lead_chat` (~71 tokens)

Read a lead conversation

The conversation with a lead, oldest first. Reading here does not mark it as read: it stays unread in the app until the trainer opens it. To answer, draft the text, show it and only then call reply_to_lead.

Input parameters:

- `leadId` (integer, required): Id from list_leads.

### `reply_to_lead` (~62 tokens)

Reply to a lead

Sends a message to a lead (in-app notification or e-mail). Show the text to the person before sending.

Input parameters:

- `leadId` (integer, required): Id from list_leads.
- `message` (string, required): The reply, up to 2000 characters.

### `update_lead` (~47 tokens)

Update a lead

Moves a lead in the funnel and/or saves notes.

Input parameters:

- `leadId` (integer, required): Id from list_leads.
- `notes` (string)
- `status` (string)

### `list_conversations` (~24 tokens)

See my chats

The trainer's chats with students, with the last message and unread count.

### `read_chat` (~33 tokens)

Read a chat with a student

Messages between the trainer and one student, newest last.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `send_message` (~60 tokens)

Message a student

Sends a chat message to a student, who gets a push. Show the text to the person before sending.

Input parameters:

- `content` (string, required): The message, up to 5000 characters.
- `receiver_id` (integer, required): The student_id from list_students.

### `list_contracts` (~33 tokens)

See my plans and contracts

The plans/contracts the trainer sells (price, period, classes) and how many students are on each. Read only.

### `list_subscriptions` (~27 tokens)

See students subscriptions

Each student's subscription to the trainer's plans, with status and next charge. Read only.

### `get_balance` (~28 tokens)

See my balance

Balance available and to receive in the trainer's wallet. Read only: withdrawals stay in the app.

### `get_statement` (~21 tokens)

See my statement

Wallet statement: what came in and the fees. Read only.

### `get_monthly_closing` (~39 tokens)

See the monthly closing

Classes given, missed and make-up credits per student in a month.

Input parameters:

- `month` (string): YYYY-MM, current month by default.

### `list_student_workouts` (~39 tokens)

See a student workouts

Every workout assigned to one student, active and past, with the exercises.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_student_programs` (~39 tokens)

See a student programs

Training programs (sheets with weeks and days) assigned to one student.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_program` (~37 tokens)

See a training program

One training program with its weeks, days and exercises.

Input parameters:

- `programId` (integer, required): Id from list_programs or list_student_programs.

### `copy_program` (~69 tokens)

Copy a training program

Duplicates a program, for another student (student_id) or as a new template (without student_id).

Input parameters:

- `name` (string): Name of the copy.
- `programId` (integer, required): Id from list_programs.
- `student_id` (integer): The student_id from list_students.

### `get_workout_session` (~42 tokens)

See a workout session

One workout session in detail: exercises done, sets, loads and timing.

Input parameters:

- `sessionId` (integer, required): Id from list_student_sessions or list_live_sessions.

### `list_coached_sessions` (~41 tokens)

See sessions coached in person

Sessions the trainer ran with the student in person, from the app's coach mode.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_workout_health_summary` (~41 tokens)

See training heart rate and calories

Heart rate, calories and duration of the student's recent workouts, from the watch.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_student_streak` (~41 tokens)

See a student streak

How many days or weeks in a row the student trained, and the weekly target.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `set_weekly_target` (~64 tokens)

Set a student weekly target

How many workouts per week the student should do (1 to 7); null goes back to automatic.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.
- `weekly_training_target` (integer, required): 1 to 7, or null for automatic.

### `get_workout_leaderboard` (~35 tokens)

See a workout ranking

Ranking of the students who did one workout (loads, time).

Input parameters:

- `workoutId` (integer, required): Workout id.

### `list_catalog_workouts` (~68 tokens)

Browse the workout catalog

Ready-made workouts from the Trainer Connect catalog, by search, category, muscle group, difficulty or length.

Input parameters:

- `category` (string)
- `difficulty` (string)
- `max_minutes` (integer)
- `muscle_group` (string)
- `search` (string)

### `get_catalog_workout` (~31 tokens)

See a catalog workout

One catalog workout with every exercise.

Input parameters:

- `workoutId` (integer, required): Id from list_catalog_workouts.

### `apply_catalog_workout` (~64 tokens)

Give a catalog workout to students

Copies a catalog workout to one or more students; they see it in the app.

Input parameters:

- `day_of_week` (string)
- `student_ids` (array, required): student_id values from list_students.
- `workoutId` (integer, required): Id from list_catalog_workouts.

### `approve_all_workout_suggestions` (~42 tokens)

Approve all changes of a student

Approves every pending workout suggestion of one student at once, with one push.

Input parameters:

- `student_id` (integer, required): The student_id from list_students.

### `create_assessment` (~230 tokens)

Record a physical assessment

Saves a new physical assessment for a student: weight, body fat, circumferences (cm), skinfolds (mm), blood pressure. Send only what was measured.

Input parameters:

- `abdomen_cm` (number)
- `body_fat_percent` (number)
- `chest_cm` (number)
- `date` (string, required): YYYY-MM-DD.
- `diastolic_bp` (integer)
- `height_cm` (number)
- `hip_cm` (number)
- `left_arm_cm` (number)
- `left_calf_cm` (number)
- `left_thigh_cm` (number)
- `muscle_mass_kg` (number)
- `notes` (string)
- `resting_heart_rate` (integer)
- `right_arm_cm` (number)
- `right_calf_cm` (number)
- `right_thigh_cm` (number)
- `student_id` (integer, required): The student_id from list_students.
- `systolic_bp` (integer)
- `waist_cm` (number)
- `weight_kg` (number)

### `update_assessment` (~100 tokens)

Correct an assessment

Fixes values of an assessment already saved. Send only what changes.

Input parameters:

- `assessmentId` (integer, required): The id from list_assessments.
- `body_fat_percent` (number)
- `date` (string): YYYY-MM-DD.
- `hip_cm` (number)
- `muscle_mass_kg` (number)
- `notes` (string)
- `waist_cm` (number)
- `weight_kg` (number)

### `get_assessment_ai_analysis` (~40 tokens)

See the AI analysis of an assessment

The latest AI analysis written for one assessment, if there is one.

Input parameters:

- `assessmentId` (integer, required): The id from list_assessments.

### `list_archived_assessments` (~35 tokens)

See archived assessments

Assessments of one student that were archived.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `create_goal` (~113 tokens)

Set a goal for a student

Creates a goal: workouts (number of workouts), frequency (per week), load (target kg in one exercise) or custom.

Input parameters:

- `end_date` (string): YYYY-MM-DD.
- `exercise_name` (string): Required for load.
- `start_date` (string): YYYY-MM-DD.
- `studentId` (integer, required): The student_id from list_students.
- `target_value` (number): Required for workouts, frequency and load.
- `title` (string): Required for custom.
- `type` (string, required)

### `update_goal` (~99 tokens)

Update a goal

Changes a goal's target, dates or progress, or marks it done (completed_at). Send only what changes.

Input parameters:

- `completed_at` (string): YYYY-MM-DD when it was reached.
- `end_date` (string): YYYY-MM-DD.
- `goalId` (integer, required): Id from list_student_goals.
- `manual_progress` (integer): 0 to 100.
- `target_value` (number)
- `title` (string)

### `get_anamnesis_form` (~37 tokens)

See an anamnesis form

The questions of one anamnesis form.

Input parameters:

- `formId` (integer, required): Id from list_anamnesis_forms.

### `list_anamnesis_requests` (~40 tokens)

See anamnesis sent to a student

Anamnesis forms sent to one student, answered or waiting.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_checkin_status` (~40 tokens)

See who answered a check-in

For one check-in questionnaire: which students got it, answered or are late.

Input parameters:

- `templateId` (integer, required): Id from list_checkin_templates.

### `accept_join_request` (~41 tokens)

Accept a student

Accepts a student who asked to train with the trainer; they get access to the app.

Input parameters:

- `requestId` (integer, required): Id from list_join_requests.

### `reject_join_request` (~32 tokens)

Decline a student request

Declines a request to train with the trainer.

Input parameters:

- `requestId` (integer, required): Id from list_join_requests.

### `reactivate_student` (~37 tokens)

Reactivate a student

Brings back a student who was inactive, with the history kept.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_student_files` (~38 tokens)

See a student files

Files the trainer attached to a student (exams, reports, photos).

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_team_members` (~28 tokens)

See my team

Team members (other trainers, interns) of the trainer's account and what they can do.

### `assign_student_to_member` (~55 tokens)

Assign a student to a team member

Makes a team member responsible for a student; null removes it.

Input parameters:

- `member_user_id` (integer): user id from list_team_members, or null.
- `studentId` (integer, required): The student_id from list_students.

### `update_class` (~77 tokens)

Mark attendance or edit a class

Marks a class as completed, no-show or confirmed, or changes its notes or place. To change the time use reschedule_class.

Input parameters:

- `appointmentId` (integer, required): Appointment id from get_schedule.
- `is_online` (boolean)
- `location` (string)
- `notes` (string)
- `status` (string)

### `decline_class` (~39 tokens)

Decline a class booking

Declines a class a student booked that is waiting for confirmation; the student is told.

Input parameters:

- `appointmentId` (integer, required): Appointment id from get_schedule.

### `counter_propose_class_change` (~79 tokens)

Suggest another time

Answers a student's class change request with another time.

Input parameters:

- `proposed_date_time` (string, required): ISO 8601 with the -03:00 offset (Brazil time).
- `proposed_duration_minutes` (integer)
- `requestId` (integer, required): Id from list_class_change_requests.
- `response_note` (string): Message to the student.

### `list_holidays` (~25 tokens)

See my days off

National holidays and the trainer's own days off, when classes are not booked.

### `create_holiday` (~57 tokens)

Add a day off

Blocks a date in the trainer's schedule (vacation, holiday).

Input parameters:

- `date` (string, required): YYYY-MM-DD.
- `is_recurring` (boolean): Every year.
- `name` (string, required): E.g. "Férias".

### `list_schedule_templates` (~19 tokens)

See my weekly schedule

The trainer's recurring weekly class slots per student.

### `get_student_notices` (~27 tokens)

See automatic notices to students

Which class notices the students get (new class, cancelled, status, time change).

### `update_student_notices` (~56 tokens)

Turn class notices on or off

Turns on or off the automatic class notices students get. Send only what changes.

Input parameters:

- `cancelled` (boolean)
- `new_class` (boolean)
- `status` (boolean)
- `time_change` (boolean)

### `list_diet_templates` (~19 tokens)

See my diet templates

Diet plan templates the trainer saved to reuse.

### `list_meal_templates` (~22 tokens)

See my meal templates

Meal templates the trainer saved (breakfast, snacks...).

### `list_diet_feedback` (~40 tokens)

See a student diet feedback

What the student said about meals of the diet (liked, swapped, skipped).

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `search_foods` (~58 tokens)

Search foods

Foods from the TACO table and the trainer's own, with macros per portion. Each word must appear in the name.

Input parameters:

- `q` (string): Food name, e.g. "arroz integral".
- `source` (string)

### `activate_diet_plan` (~45 tokens)

Publish a diet plan

Publishes a diet plan to the student (the previous active one is archived) and pushes them.

Input parameters:

- `planId` (integer, required): Id from list_diet_plans.

### `copy_diet_plan` (~73 tokens)

Copy a diet plan

Copies a plan or template to a student (student_id), or saves it as a template without student_id.

Input parameters:

- `planId` (integer, required): Id from list_diet_plans or list_diet_templates.
- `student_id` (integer): The student_id from list_students.
- `title` (string)

### `add_student_supplement` (~130 tokens)

Add a supplement for a student

Registers a supplement (or water) the student should take, with dose, times and days; the student gets reminders.

Input parameters:

- `days_of_week` (array, required): 1 (Monday) to 7.
- `dose_amount` (number, required)
- `dose_unit` (string, required): g, mg, ml, scoop...
- `name` (string, required)
- `notes` (string)
- `studentId` (integer, required): The student_id from list_students.
- `times` (array, required): HH:MM list.
- `type` (string, required)
- `units_per_take` (integer, required)

### `get_leads_stats` (~22 tokens)

See my leads numbers

Leads by status and origin, and how many became students.

### `get_public_profile` (~28 tokens)

See my public page

The trainer's public page (bio, specialties, photos, link) as students see it.

### `get_public_profile_stats` (~18 tokens)

See my public page visits

Visits and contacts the public page got.

### `get_checkout_funnel` (~23 tokens)

See my sales page funnel

How many people opened the plan checkout, started and finished it.

### `list_notifications` (~17 tokens)

See my notifications

The trainer's app notifications, newest first.

### `mark_notifications_read` (~18 tokens)

Mark notifications as read

Marks every notification of the trainer as read.

### `mark_chat_read` (~32 tokens)

Mark a chat as read

Marks the chat with one student as read.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `list_competitions` (~23 tokens)

See challenges

Challenges/competitions the trainer created among students, with ranking.

### `get_competition` (~31 tokens)

See a challenge

One challenge with participants and ranking.

Input parameters:

- `competitionId` (integer, required): Id from list_competitions.

### `get_autopilot` (~30 tokens)

See autopilot actions

What the app's autopilot did or suggests (reminders, follow-ups) for the trainer.

### `get_referrals` (~20 tokens)

See my referrals

Trainers and students the trainer referred, and the rewards.

### `get_ai_credits` (~27 tokens)

See my AI credits

AI credits left for workout, diet and assessment generation in the app. Read only.

### `list_announcements` (~18 tokens)

See Trainer Connect news

News and announcements from Trainer Connect to trainers.

### `list_student_payments` (~38 tokens)

See a student payments

Payments of one student, paid, pending and overdue. Read only.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_payment` (~38 tokens)

See a payment

One payment: amount, due date, status, method and receipt. Read only.

Input parameters:

- `paymentId` (integer, required): Id from list_payments.

### `list_payment_reminders` (~37 tokens)

See reminders of a payment

Reminders already sent to the student about one payment. Read only.

Input parameters:

- `paymentId` (integer, required): Id from list_payments.

### `list_student_subscriptions` (~38 tokens)

See a student subscriptions

Plans one student subscribed to, with status and renewal. Read only.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_subscription` (~38 tokens)

See a subscription

One subscription: plan, price, period, next charge, signature. Read only.

Input parameters:

- `subscriptionId` (integer, required): Id from list_subscriptions.

### `list_subscription_payments` (~32 tokens)

See payments of a subscription

Every charge of one subscription. Read only.

Input parameters:

- `subscriptionId` (integer, required): Id from list_subscriptions.

### `get_contract` (~35 tokens)

See a plan

One of the trainer's plans/contracts with its terms. Read only.

Input parameters:

- `contractId` (integer, required): Id from list_contracts.

### `list_contract_subscribers` (~32 tokens)

See who is on a plan

Students subscribed to one plan. Read only.

Input parameters:

- `contractId` (integer, required): Id from list_contracts.

### `get_contracts_overview` (~26 tokens)

See my plans overview

Totals per plan: active students, revenue per month. Read only.

### `list_cancellation_requests` (~26 tokens)

See cancellation requests

Students asking to cancel a plan. Read only: answering stays in the app.

### `get_financial_metrics` (~27 tokens)

See my business numbers

Monthly revenue, recurring revenue, default rate, average ticket and churn. Read only.

### `list_charges` (~19 tokens)

See my charges

Charges the trainer created for students. Read only.

### `list_cash_entries` (~28 tokens)

See my cash book

Money the trainer recorded by hand (cash, Pix outside the app, expenses). Read only.

### `list_coupons` (~21 tokens)

See my coupons

Discount coupons for the trainer's plans. Read only.

### `list_tabs` (~24 tokens)

See open tabs

Tabs (comandas) of students: products and services consumed. Read only.

### `update_workout` (~140 tokens)

Edit a workout

Changes a workout: name, notes, day, length, difficulty. Sending exercises replaces the whole exercise list, so send all of them. Send only what changes.

Input parameters:

- `category` (string)
- `cooldown_notes` (string)
- `day_of_week` (string)
- `description` (string): Notes for the student.
- `difficulty` (string)
- `estimated_minutes` (integer)
- `exercises` (array)
- `status` (string)
- `title` (string)
- `warmup_notes` (string)
- `week_name` (string)
- `workoutId` (integer, required): Workout id.

### `publish_workout` (~44 tokens)

Share a template in the catalog

Publishes a workout template (no student) to the Trainer Connect catalog other trainers browse. Confirm with the person first.

Input parameters:

- `workoutId` (integer, required): Template workout id.

### `unpublish_workout` (~31 tokens)

Remove a template from the catalog

Takes a workout template out of the public catalog.

Input parameters:

- `workoutId` (integer, required): Template workout id.

### `get_workout_weeks` (~39 tokens)

See the weeks of a workout

Which weeks a workout is planned for (periodization), by the Monday of each week.

Input parameters:

- `workoutId` (integer, required): Workout id.

### `set_workout_weeks` (~55 tokens)

Plan the weeks of a workout

Sets the weeks a workout is planned for; an empty list means every week.

Input parameters:

- `week_start_dates` (array, required): YYYY-MM-DD of the Monday of each week.
- `workoutId` (integer, required): Workout id.

### `list_workout_copies` (~39 tokens)

See who got a template

Students who received a copy of a workout template, and whether their copy was customized.

Input parameters:

- `workoutId` (integer, required): Template workout id.

### `sync_workout_copies` (~56 tokens)

Update the students copies of a template

Copies the chosen fields of a template to the students who got it. Copies the trainer customized for a student are left as they are.

Input parameters:

- `fields` (array, required)
- `workoutId` (integer, required): Template workout id.

### `list_deleted_workouts` (~23 tokens)

See deleted workouts

Workouts in the trash, which restore_workout brings back.

### `restore_workout` (~32 tokens)

Restore a deleted workout

Brings a workout back from the trash.

Input parameters:

- `workoutId` (integer, required): Id from list_deleted_workouts.

### `get_workout_ai_quota` (~27 tokens)

See my AI workout quota

How many AI-generated workouts the trainer still has this period. Read only.

### `create_program` (~98 tokens)

Create a training program

Creates a program (weeks with training days and exercises) for a student (student_id) or as a template without it. Weeks and days can also be added later.

Input parameters:

- `category` (string)
- `description` (string)
- `difficulty` (string)
- `name` (string, required)
- `status` (string)
- `student_id` (integer): The student_id from list_students.
- `weeks` (array)

### `update_program` (~91 tokens)

Edit a training program

Renames a program or changes its status, notes or difficulty. Send only what changes.

Input parameters:

- `category` (string)
- `cooldown_notes` (string)
- `description` (string)
- `difficulty` (string)
- `name` (string)
- `programId` (integer, required): Id from list_programs.
- `status` (string)
- `warmup_notes` (string)

### `add_program_week` (~57 tokens)

Add a week to a program

Adds a week at the end of a program (or at position).

Input parameters:

- `name` (string, required)
- `notes` (string)
- `position` (integer)
- `programId` (integer, required): Id from list_programs.

### `update_program_week` (~56 tokens)

Edit a program week

Renames, moves or annotates one week of a program.

Input parameters:

- `name` (string)
- `notes` (string)
- `position` (integer)
- `weekId` (integer, required): Week id from get_program.

### `add_program_day` (~89 tokens)

Add a training day

Adds a training day to a week of a program.

Input parameters:

- `cooldown_notes` (string)
- `day_of_week` (integer): 0 (Sunday) to 6.
- `estimated_minutes` (integer)
- `name` (string): E.g. "Treino B".
- `warmup_notes` (string)
- `weekId` (integer, required): Week id from get_program.

### `update_program_day` (~98 tokens)

Edit a training day

Renames, moves or changes the notes of a training day.

Input parameters:

- `cooldown_notes` (string)
- `dayId` (integer, required): Day id from get_program.
- `day_of_week` (integer): 0 (Sunday) to 6.
- `estimated_minutes` (integer)
- `name` (string)
- `position` (integer)
- `status` (string)
- `warmup_notes` (string)

### `add_exercise_to_program_day` (~151 tokens)

Add an exercise to a training day

Adds one exercise to a training day of a program: sets, reps (or a range), load, rest.

Input parameters:

- `dayId` (integer, required): Day id from get_program.
- `duration_seconds` (integer): For cardio or isometric holds.
- `edb_exercise_id` (integer): From search_exercises.
- `name` (string, required)
- `notes` (string)
- `phase` (string)
- `reps` (integer)
- `reps_max` (integer): Top of a rep range, e.g. 8-12.
- `rest_seconds` (integer)
- `sets` (integer)
- `weight` (number): Load in kg.

### `update_program_exercise` (~159 tokens)

Edit an exercise of a training day

Changes sets, reps (or a range), load, rest or notes of one exercise already in a program, without recreating the program. Send only what changes.

Input parameters:

- `duration_seconds` (integer): For cardio or isometric holds.
- `edb_exercise_id` (integer): From search_exercises.
- `exerciseId` (integer, required): Exercise id from get_program.
- `name` (string)
- `notes` (string)
- `phase` (string)
- `reps` (integer)
- `reps_max` (integer): Top of a rep range, e.g. 8-12.
- `rest_seconds` (integer)
- `sets` (integer)
- `weight` (number): Load in kg.

### `restore_program` (~27 tokens)

Restore a deleted program

Brings back a program that was deleted.

Input parameters:

- `programId` (integer, required): Program id.

### `archive_assessment` (~36 tokens)

Archive an assessment

Hides an assessment from the student's history without deleting it.

Input parameters:

- `assessmentId` (integer, required): The id from list_assessments.

### `unarchive_assessment` (~37 tokens)

Unarchive an assessment

Brings an archived assessment back to the history.

Input parameters:

- `assessmentId` (integer, required): The id from list_archived_assessments.

### `list_unlinked_assessments` (~30 tokens)

See assessments without a student

Assessments done before the person became a student (trial class), waiting to be attached.

### `attach_assessment_to_student` (~57 tokens)

Attach an assessment to a student

Turns an assessment without a student (trial class) into that student's first assessment.

Input parameters:

- `assessmentId` (integer, required): Id from list_unlinked_assessments.
- `student_id` (integer, required): The student_id from list_students.

### `link_assessment_to_class` (~50 tokens)

Link an assessment to a class

Records that an assessment was done in a given class.

Input parameters:

- `appointmentId` (integer, required): Appointment id from get_schedule.
- `assessment_id` (integer, required): The id from list_assessments.

### `get_student_ai_consent` (~39 tokens)

See a student AI consent

Whether the student agreed to have assessments analysed by AI, and when.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_assessment_ai_quota` (~25 tokens)

See my AI assessment quota

How many AI assessment analyses the trainer has left. Read only.

### `list_class_files` (~32 tokens)

See files of a class

Files attached to a class (photos, exams).

Input parameters:

- `appointmentId` (integer, required): Appointment id from get_schedule.

### `create_schedule_slot` (~105 tokens)

Add a fixed weekly slot

Adds a recurring weekly class slot to the trainer's schedule, for a student or as a personal block without student_id.

Input parameters:

- `day_of_week` (integer, required): 0 (Sunday) to 6.
- `duration_minutes` (integer)
- `is_online` (boolean)
- `location` (string)
- `start_time` (string, required): HH:MM.
- `student_id` (integer): The student_id from list_students.
- `title` (string)

### `update_schedule_slot` (~108 tokens)

Edit a fixed weekly slot

Moves, pauses (is_active false) or edits a recurring weekly slot. Send only what changes.

Input parameters:

- `day_of_week` (integer): 0 (Sunday) to 6.
- `duration_minutes` (integer)
- `is_active` (boolean)
- `is_online` (boolean)
- `location` (string)
- `slotId` (integer, required): Id from list_schedule_templates.
- `start_time` (string): HH:MM.
- `title` (string)

### `list_student_schedule_slots` (~33 tokens)

See a student fixed slots

The recurring weekly class slots of one student.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `update_holiday` (~59 tokens)

Edit a day off

Renames or moves a day off the trainer added.

Input parameters:

- `date` (string): YYYY-MM-DD.
- `holidayId` (integer, required): Id from list_holidays.
- `is_recurring` (boolean)
- `name` (string)

### `get_student_live_session` (~36 tokens)

See if a student is training now

The workout session a student has in progress, if any.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `create_anamnesis_form` (~65 tokens)

Create an anamnesis form

Creates a health questionnaire; send_anamnesis sends it to a student.

Input parameters:

- `description` (string)
- `fields` (array, required)
- `send_to_new_students` (boolean): Send automatically to every new student.
- `title` (string, required)

### `update_anamnesis_form` (~77 tokens)

Edit an anamnesis form

Changes the title or questions of an anamnesis form. Sending fields replaces every question.

Input parameters:

- `description` (string)
- `fields` (array)
- `formId` (integer, required): Id from list_anamnesis_forms.
- `send_to_new_students` (boolean)
- `title` (string)

### `toggle_anamnesis_form` (~40 tokens)

Turn an anamnesis form on or off

Switches an anamnesis form between active and inactive.

Input parameters:

- `formId` (integer, required): Id from list_anamnesis_forms.

### `create_checkin_template` (~91 tokens)

Create a check-in questionnaire

Creates a periodic check-in (up to 20 questions); send_checkin assigns it to students.

Input parameters:

- `frequency_days` (integer): Every how many days, 1 to 90.
- `name` (string, required)
- `questions` (array, required)
- `send_day_of_week` (integer): 1 (Monday) to 7.
- `send_time` (string): HH:MM.

### `update_checkin_template` (~104 tokens)

Edit a check-in questionnaire

Changes questions, frequency or pauses (is_active false) a check-in. Sending questions replaces them all.

Input parameters:

- `frequency_days` (integer)
- `is_active` (boolean)
- `name` (string)
- `questions` (array)
- `send_day_of_week` (integer): 1 (Monday) to 7.
- `send_time` (string): HH:MM.
- `templateId` (integer, required): Id from list_checkin_templates.

### `create_diet_plan` (~126 tokens)

Create a diet plan

Writes a diet plan with meals and foods for a student (student_id), or a template without it. It starts as a draft: activate_diet_plan publishes it.

Input parameters:

- `meals` (array): Sending meals replaces every meal of the plan.
- `notes` (string)
- `student_id` (integer): The student_id from list_students.
- `target_carbs_g` (number)
- `target_fat_g` (number)
- `target_kcal` (number)
- `target_protein_g` (number)
- `title` (string, required)

### `update_diet_plan` (~109 tokens)

Edit a diet plan

Changes a diet plan's title, targets or meals. Send only what changes.

Input parameters:

- `meals` (array): Sending meals replaces every meal of the plan.
- `notes` (string)
- `planId` (integer, required): Id from list_diet_plans.
- `target_carbs_g` (number)
- `target_fat_g` (number)
- `target_kcal` (number)
- `target_protein_g` (number)
- `title` (string)

### `schedule_diet_plan` (~55 tokens)

Schedule the next diet phase

Schedules a diet plan to become the student's active diet on a future date.

Input parameters:

- `planId` (integer, required): Id from list_diet_plans.
- `starts_on` (string): YYYY-MM-DD, after today.

### `create_food` (~100 tokens)

Add my own food or dish

Adds a food with macros per 100 g, or a dish from ingredients (macros are summed).

Input parameters:

- `carbs_g` (number)
- `category` (string)
- `energy_kcal` (number)
- `fat_g` (number)
- `fiber_g` (number)
- `ingredients` (array)
- `name` (string, required)
- `protein_g` (number)
- `sodium_mg` (number)

### `update_food` (~63 tokens)

Edit my food or dish

Renames one of the trainer's own foods or changes a dish's ingredients.

Input parameters:

- `category` (string)
- `foodId` (integer, required): Id from search_foods (source custom or recipe).
- `ingredients` (array)
- `name` (string)

### `list_food_categories` (~20 tokens)

See food categories

Food categories used by search_foods and create_food.

### `list_favorite_foods` (~18 tokens)

See my favorite foods

Foods the trainer marked as favorite.

### `update_student_supplement` (~150 tokens)

Edit a student supplement

Changes dose, times, days or pauses (is_active false) a supplement of a student. Send only what changes.

Input parameters:

- `days_of_week` (array): 1 (Monday) to 7.
- `dose_amount` (number)
- `dose_unit` (string)
- `end_date` (string): YYYY-MM-DD.
- `is_active` (boolean)
- `name` (string)
- `notes` (string)
- `studentId` (integer, required): The student_id from list_students.
- `supplementId` (integer, required): Id from list_student_supplements.
- `times` (array): HH:MM list.
- `units_per_take` (integer)

### `get_student_supplement_day` (~51 tokens)

See a student supplements on a day

Which supplements the student had to take on a date and which were taken.

Input parameters:

- `date` (string, required): YYYY-MM-DD.
- `studentId` (integer, required): The student_id from list_students.

### `list_exercise_templates` (~24 tokens)

See my exercise library

Exercises the trainer saved in their own library, with muscles and equipment.

### `create_exercise_template` (~92 tokens)

Add an exercise to my library

Saves an exercise in the trainer's library, with instructions and optional video link.

Input parameters:

- `description` (string)
- `equipment` (array): Ids from list_equipment.
- `image_url` (string)
- `instructions` (string)
- `muscle_groups` (array): Ids from list_muscle_groups.
- `name` (string, required)
- `video_url` (string)

### `update_exercise_template` (~90 tokens)

Edit an exercise of my library

Changes an exercise of the trainer's library; name is always sent.

Input parameters:

- `description` (string)
- `equipment` (array)
- `exerciseId` (integer, required): Id from list_exercise_templates.
- `image_url` (string)
- `instructions` (string)
- `muscle_groups` (array)
- `name` (string, required)
- `video_url` (string)

### `list_equipment` (~16 tokens)

See equipment

Equipment list used to tag exercises.

### `list_muscle_groups` (~18 tokens)

See muscle groups

Muscle groups used to tag exercises.

### `list_training_goals` (~25 tokens)

See training goals

Training goals (hypertrophy, weight loss...) used in the library.

### `list_favorite_exercises` (~18 tokens)

See my favorite exercises

Exercises the trainer marked as favorite.

### `list_my_exercise_videos` (~19 tokens)

See my exercise videos

Videos the trainer recorded for exercises.

### `get_my_profile` (~23 tokens)

See my profile

The trainer's profile in the app (name, contact, specialties).

### `get_my_team_role` (~29 tokens)

See my role in the team

Whether the connected user is the account owner or a team member, and what they can do.

### `update_public_profile` (~185 tokens)

Edit my public page

Changes the trainer's public page: name, bio, contacts, link, lead form and trial booking. Show the text to the person before saving. Send only what changes.

Input parameters:

- `instagram_url` (string)
- `is_discoverable` (boolean): Show in the trainer search.
- `lead_form_active` (boolean)
- `modality` (string)
- `public_bio` (string): Up to 1000 characters.
- `public_display_name` (string)
- `public_page_active` (boolean)
- `show_student_count` (boolean)
- `slug` (string): Page address, lowercase letters, numbers and hyphens.
- `tiktok_url` (string)
- `trial_booking_active` (boolean)
- `website_url` (string)
- `whatsapp_number` (string)
- `youtube_url` (string)

### `check_public_link` (~43 tokens)

Check a page address

Tells whether an address (slug) for the public page is free. Saves nothing.

Input parameters:

- `slug` (string, required): Lowercase letters, numbers and hyphens.

### `invite_student` (~43 tokens)

Invite a student by e-mail

E-mails an invitation to sign up already linked to the trainer. Confirm the address with the person first.

Input parameters:

- `email` (string, required)
- `locale` (string)

### `create_competition` (~84 tokens)

Create a challenge

Creates a challenge among students, with points per workout and per minute.

Input parameters:

- `description` (string)
- `end_date` (string, required): YYYY-MM-DD.
- `name` (string, required)
- `points_per_minute` (integer)
- `points_per_workout` (integer)
- `start_date` (string, required): YYYY-MM-DD, today or later.

### `update_competition` (~102 tokens)

Edit a challenge

Changes a challenge's dates, points or status (active, draft or canceled). Send only what changes.

Input parameters:

- `competitionId` (integer, required): Id from list_competitions.
- `description` (string)
- `end_date` (string)
- `name` (string)
- `points_per_minute` (integer)
- `points_per_workout` (integer)
- `start_date` (string)
- `status` (string)

### `invite_to_competition` (~51 tokens)

Invite students to a challenge

Invites students to a challenge; they get a push.

Input parameters:

- `competitionId` (integer, required): Id from list_competitions.
- `student_ids` (array, required): student_id values from list_students.

### `list_student_competitions` (~35 tokens)

See a student challenges

Challenges one student is in, with their status.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `mark_notification_read` (~27 tokens)

Mark a notification as read

Marks one notification as read.

Input parameters:

- `notificationId` (integer, required): Id from list_notifications.

### `list_student_health_history` (~58 tokens)

See a student health history

Daily health summaries synced from the student's watch or phone (steps, sleep, heart rate).

Input parameters:

- `days` (integer): How many days back, 30 by default.
- `studentId` (integer, required): The student_id from list_students.

### `get_session_events` (~42 tokens)

See what happened in a session

Set-by-set events of a workout session (sets done, loads, pauses).

Input parameters:

- `sessionId` (integer, required): Id from list_student_sessions or list_live_sessions.

### `get_workout_log_health` (~37 tokens)

See heart rate of a finished workout

Heart rate and calories recorded by the watch for one finished workout.

Input parameters:

- `logId` (integer, required): Id from list_student_sessions.

### `get_ai_credits_statement` (~21 tokens)

See my AI credits history

What used and added AI credits. Read only.

### `list_library_exercises` (~151 tokens)

Browse the exercise library

Exercises of the app library (each with video), filtered by name, body part, target muscle, equipment, type or difficulty. The id is the edb_exercise_id that create_workout and add_exercise_to_program_day accept.

Input parameters:

- `bodyPart` (string): From list_library_body_parts.
- `difficulty` (string)
- `equipment` (string): From list_library_equipment.
- `muscle` (string): From list_library_muscles.
- `page` (integer)
- `per_page` (integer): Up to 100.
- `search` (string): Part of the name, in Portuguese or English.
- `type` (string): From list_library_exercise_types.

### `list_library_body_parts` (~20 tokens)

See library body parts

Body parts used to filter list_library_exercises.

### `list_library_muscles` (~21 tokens)

See library muscles

Target muscles used to filter list_library_exercises.

### `list_library_equipment` (~19 tokens)

See library equipment

Equipment used to filter list_library_exercises.

### `list_library_exercise_types` (~28 tokens)

See library exercise types

Exercise types (strength, cardio, stretching...) used to filter list_library_exercises.

### `add_favorite_exercise` (~47 tokens)

Mark an exercise as favorite

Adds a library exercise to the trainer's favorites, shown first when building workouts.

Input parameters:

- `edb_exercise_id` (integer, required): From list_library_exercises or search_exercises.

### `add_favorite_food` (~38 tokens)

Mark a food as favorite

Adds a food to the trainer's favorites, shown first when writing diet plans.

Input parameters:

- `food_id` (integer, required): From search_foods.

### `create_equipment` (~49 tokens)

Add equipment to my library

Adds a piece of equipment the trainer uses (e.g. a machine of their gym) to their own library. Returns the existing one if the name is taken.

Input parameters:

- `name` (string, required)

### `rename_equipment` (~37 tokens)

Rename my equipment

Renames equipment from list_equipment.

Input parameters:

- `equipmentId` (integer, required): Id from list_equipment.
- `name` (string, required)

### `create_muscle_group` (~39 tokens)

Add a muscle group to my library

Adds a muscle group to the trainer's own library. Returns the existing one if the name is taken.

Input parameters:

- `name` (string, required)

### `rename_muscle_group` (~46 tokens)

Rename my muscle group

Renames a muscle group from list_muscle_groups.

Input parameters:

- `muscleGroupId` (integer, required): Id from list_muscle_groups.
- `name` (string, required)

### `create_training_goal` (~38 tokens)

Add a training goal option

Adds a training goal (e.g. "Corrida de rua") to the options the trainer picks from.

Input parameters:

- `name` (string, required)

### `rename_training_goal` (~41 tokens)

Rename a training goal option

Renames a training goal from list_training_goals.

Input parameters:

- `goalId` (integer, required): Id from list_training_goals.
- `name` (string, required)

### `create_meal_template` (~66 tokens)

Save a meal template

Saves a reusable meal (name, time and foods) to drop into diet plans.

Input parameters:

- `items` (array)
- `name` (string, required): E.g. "Pré-treino".
- `notes` (string)
- `time` (string): HH:MM.

### `update_meal_template` (~74 tokens)

Edit a meal template

Changes a meal template from list_meal_templates. Sending items replaces every food of the template.

Input parameters:

- `items` (array)
- `name` (string)
- `notes` (string)
- `templateId` (integer, required): Id from list_meal_templates.
- `time` (string): HH:MM.

### `reorder_program_weeks` (~64 tokens)

Reorder the weeks of a program

Puts the weeks of a program in the order given (every week id of the program, first to last).

Input parameters:

- `programId` (integer, required): Id from list_programs.
- `week_ids` (array, required): Week ids from get_program, in the new order.

### `reorder_program_days` (~64 tokens)

Reorder the days of a week

Puts the days of a program week in the order given (every day id of the week, first to last).

Input parameters:

- `day_ids` (array, required): Day ids from get_program, in the new order.
- `weekId` (integer, required): Week id from get_program.

### `create_workout_share_link` (~87 tokens)

Get a link to share a workout

Creates a temporary link (web and app) that lets someone see and copy a workout or one program day. Send workout_id or workout_day_id.

Input parameters:

- `ttl_minutes` (integer): How long the link works, 5 to 240 minutes.
- `workout_day_id` (integer): Day id from get_program.
- `workout_id` (integer): From list_workouts.

### `list_catalog_categories` (~24 tokens)

See workout catalog categories

Categories of the ready-made workout catalog, to filter list_catalog_workouts.

### `update_session_report` (~68 tokens)

Edit the report of a coached session

Sets the rating (1 to 5) and notes of a session the trainer coached in person.

Input parameters:

- `logId` (integer, required): Id from list_coached_sessions.
- `notes` (string): Up to 2000 characters.
- `rating` (integer): 1 to 5.

### `list_deleted_assessments` (~39 tokens)

See deleted assessments of a student

Assessments of one student that were deleted and can still be restored.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `restore_assessment` (~36 tokens)

Restore a deleted assessment

Brings back an assessment from list_deleted_assessments.

Input parameters:

- `assessmentId` (integer, required): Id from list_deleted_assessments.

### `restore_anamnesis_form` (~39 tokens)

Restore a deleted anamnesis form

Brings back a deleted anamnesis form of the trainer.

Input parameters:

- `formId` (integer, required): The anamnesis form id.

### `mark_lead_read` (~33 tokens)

Mark a lead as read

Marks a lead from list_leads as read.

Input parameters:

- `leadId` (integer, required): Id from list_leads.

### `update_student_file` (~69 tokens)

Rename a student file

Changes the name or description of a file from list_student_files.

Input parameters:

- `description` (string): Up to 500 characters.
- `fileId` (integer, required): Id from list_student_files.
- `file_name` (string)
- `studentId` (integer, required): The student_id from list_students.

### `list_my_media` (~64 tokens)

See my photo gallery

Photos the trainer posted in the app (workout posts, student photos), newest first.

Input parameters:

- `kind` (string): E.g. workout_post.
- `limit` (integer): Up to 200, 50 by default.
- `workout_log_id` (integer)

### `update_media_caption` (~46 tokens)

Edit a photo caption

Changes the caption of a photo from list_my_media.

Input parameters:

- `caption` (string): Up to 5000 characters.
- `mediaId` (integer, required): Id from list_my_media.

### `list_gym_units` (~20 tokens)

See my gym units

Units (branches) of the trainer's gym.

### `get_gym_report` (~30 tokens)

See gym indicators

Gym indicators: active members, plans with access, revenue per month and check-ins at the door.

### `list_gym_access_logs` (~57 tokens)

See gym check-ins

Who entered the gym and when, newest first.

Input parameters:

- `date` (string): YYYY-MM-DD.
- `limit` (integer): Up to 200.
- `member_user_id` (integer): Only this student (student_id).

### `create_gym_unit` (~40 tokens)

Add a gym unit

Adds a unit (branch) to the gym. Only the account owner can.

Input parameters:

- `address` (string)
- `name` (string, required)

### `get_student_training_context` (~64 tokens)

See what the app knows to write a workout

The student summary the app's AI uses to write workouts: age, sex, goal, anamnesis, injuries and the last weeks of training with loads. Use it before writing a workout yourself.

Input parameters:

- `student_id` (integer, required): The student_id from list_students.

### `get_student_diet_context` (~52 tokens)

See what the app knows to write a diet

The student summary the app's AI uses to write diet plans (age, sex, goal, restrictions), plus the AI quota left.

Input parameters:

- `student_id` (integer, required): The student_id from list_students.

### `get_tab` (~37 tokens)

See a tab

One tab (comanda) with its items, payments and total. Read only.

Input parameters:

- `tabId` (integer, required): Id from list_tabs.

### `list_tab_classes` (~61 tokens)

See classes that can go on a tab

Classes of one student in a month that can be added to a tab, with the price per class. Read only.

Input parameters:

- `month` (string): YYYY-MM, this month by default.
- `student_id` (integer, required): The student_id from list_students.

### `list_support_tickets` (~24 tokens)

See my support tickets

Support tickets the trainer opened with the Trainer Connect team, with status.

### `get_support_ticket` (~30 tokens)

See a support ticket

One support ticket with every message.

Input parameters:

- `ticketId` (integer, required): Id from list_support_tickets.

### `open_support_ticket` (~60 tokens)

Open a support ticket

Opens a ticket with the Trainer Connect team (bug, question, account...). Show the text to the person before sending.

Input parameters:

- `category` (string, required)
- `message` (string, required): Up to 5000 characters.
- `subject` (string, required)

### `reply_support_ticket` (~42 tokens)

Reply to a support ticket

Adds a message to one of the trainer's support tickets.

Input parameters:

- `message` (string, required)
- `ticketId` (integer, required): Id from list_support_tickets.

### `get_support_chat` (~23 tokens)

See my support chat

The trainer's chat with the Trainer Connect support, with the history.

### `send_support_chat_message` (~31 tokens)

Write to support

Sends a message in the trainer's chat with the Trainer Connect support.

Input parameters:

- `message` (string, required)

### `list_feature_requests` (~39 tokens)

See ideas for the app

Ideas for Trainer Connect that are open for votes, most voted first; mine=true lists only the trainer's own.

Input parameters:

- `mine` (boolean)

### `get_feature_request` (~32 tokens)

See an idea

One idea for the app with votes and comments.

Input parameters:

- `ideaId` (integer, required): Id from list_feature_requests.

### `suggest_feature` (~59 tokens)

Suggest an idea for the app

Sends an idea to the Trainer Connect team; it goes public for votes after review.

Input parameters:

- `category` (string)
- `description` (string, required): 10 to 2000 characters.
- `title` (string, required): 4 to 120 characters.

### `comment_feature_request` (~36 tokens)

Comment on an idea

Adds a comment to an idea.

Input parameters:

- `body` (string, required)
- `ideaId` (integer, required): Id from list_feature_requests.

### `vote_feature_request` (~40 tokens)

Vote for an idea

Votes for an idea; calling again removes the vote. Returns whether the vote counts now.

Input parameters:

- `ideaId` (integer, required): Id from list_feature_requests.

### `get_my_account` (~30 tokens)

See my account

The connected trainer's account: name, e-mail, phone, language, appearance and the app settings.

### `get_my_trainer_connect_plan` (~40 tokens)

See my Trainer Connect plan

The trainer's own Trainer Connect plan: active, trial, grace period and renewal. Read only: changing the plan is in the app.

### `update_my_profile` (~102 tokens)

Update my profile

Changes the trainer's name, phone, language or app appearance. E-mail, password and autopilot stay in the app.

Input parameters:

- `locale` (string)
- `name` (string)
- `narration_enabled` (boolean): Voice narration during workouts.
- `phone` (string): Brazilian phone with area code.
- `ui_font_scale` (number): 0.85 to 1.6 (1 is normal).
- `ui_theme` (string)

### `get_library_exercise` (~39 tokens)

See a library exercise

One exercise of the app library with instructions, muscles, equipment and video.

Input parameters:

- `exerciseId` (integer, required): Id from list_library_exercises.

### `link_library_videos` (~68 tokens)

Add library videos to exercises

Matches exercises of the trainer's workouts or programs that have no video to the library by name, so the student sees the video. Returns what was linked and what had no match.

Input parameters:

- `exercise_ids` (array, required): Exercise ids from get_workout or get_program (up to 500).

### `get_receiving_status` (~28 tokens)

See my receiving account

Which gateway receives the students' payments and what is still missing to receive. Read only.

### `list_wallet_withdrawals` (~26 tokens)

See my withdrawals

Withdrawals from the wallet to the bank, with status. Read only.

### `list_anticipations` (~26 tokens)

See my anticipations

Anticipations of future receivables requested by the trainer. Read only.

### `get_anticipation_limits` (~36 tokens)

See what I can anticipate

How much of the future receivables can be anticipated now and the fee. Read only: anticipating is in the app.

### `get_fee_settings` (~46 tokens)

See who pays the fees

Fee settings per payment method: platform and processing fees and whether the student or the trainer pays them. Read only.

Input parameters:

- `provider` (string): Gateway; the active one by default.

### `preview_payment_fees` (~115 tokens)

Simulate the fees of a charge

How much the student pays and the trainer receives for an amount, method and installments. Only a simulation: nothing is charged.

Input parameters:

- `amount_cents` (integer, required): Amount in cents (R$ 300,00 = 30000).
- `installments` (integer): Card installments, 1 by default.
- `pass_platform_fee` (boolean, required): Student pays the platform fee.
- `pass_processing_fee` (boolean, required): Student pays the processing fee.
- `payment_method` (string, required)
- `provider` (string)

### `get_digital_account_status` (~33 tokens)

See my digital account

State of the trainer's digital account (Asaas): approved, pending documents or not opened. Read only.

### `get_digital_account_balance` (~20 tokens)

See my digital account balance

Balance of the digital account. Read only.

### `get_digital_account_statement` (~54 tokens)

See my digital account statement

Entries and exits of the digital account in a period. Read only.

Input parameters:

- `end_date` (string): YYYY-MM-DD.
- `offset` (integer)
- `start_date` (string): YYYY-MM-DD.

### `list_digital_account_transfers` (~22 tokens)

See digital account transfers

Transfers made from the digital account. Read only.

### `list_digital_account_bill_payments` (~28 tokens)

See bills paid by the digital account

Bills (boletos) paid from the digital account. Read only.

### `list_digital_account_pix_payments` (~24 tokens)

See Pix paid by the digital account

Pix payments made from the digital account. Read only.

### `get_partial_workout_log` (~43 tokens)

See a workout left halfway

What the student already did in a workout that was started and not finished (sets, loads).

Input parameters:

- `workoutId` (integer, required): Id from list_workouts.

### `check_student_email` (~36 tokens)

Check a student e-mail

Whether an e-mail already has an account in Trainer Connect, before inviting the student. Changes nothing.

Input parameters:

- `email` (string, required)

### `send_student_password_reset_link` (~54 tokens)

Send a student the password link

E-mails one of the trainer's students the link to create a new password (when the student forgot it). Returns the address it went to.

Input parameters:

- `studentId` (integer, required): The student_id from list_students.

### `get_chat_block_status` (~41 tokens)

See if a chat is blocked

Whether the trainer blocked a person in the chat, or was blocked.

Input parameters:

- `otherUserId` (integer, required): The other person's user id (student_id).

### `block_chat_user` (~43 tokens)

Block someone in the chat

Stops a person from sending messages to the trainer. Unblocking is in the app.

Input parameters:

- `otherUserId` (integer, required): The other person's user id (student_id).

### `mark_announcement_seen` (~35 tokens)

Mark an app announcement as seen

Marks a Trainer Connect announcement from list_announcements as seen.

Input parameters:

- `announcementId` (integer, required): Id from list_announcements.

### `get_subscription_anamnesis_form` (~46 tokens)

See the anamnesis form of a subscription

The anamnesis form a student must fill when joining a plan. Id from list_subscriptions.

Input parameters:

- `subscriptionId` (integer, required): Id from list_subscriptions.

### `get_subscription_anamnesis_answers` (~45 tokens)

See the anamnesis answers of a subscription

What the student answered in the anamnesis of the plan. Id from list_subscriptions.

Input parameters:

- `subscriptionId` (integer, required): Id from list_subscriptions.

### `list_available_contracts` (~23 tokens)

See plans I can offer

Plans (contracts) the trainer has available to offer a student.

### `list_receivable_banks` (~20 tokens)

See supported banks

Banks accepted for receiving payments. Read only.

### `get_support_unread_count` (~24 tokens)

Count unread support messages

How many messages from Trainer Connect support the trainer has not read.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/br-com-trainerconnect-personal-trainer/api#diagnostics

## Score history

- 2026-11-05: 88
- 2026-11-04: 87
- 2026-11-03: 87
- 2026-11-02: 86
- 2026-11-01: 86
- 2026-10-31: 85
- 2026-10-30: 85
- 2026-10-29: 84
- 2026-10-28: 84
- 2026-10-27: 83
- 2026-10-26: 83
- 2026-10-25: 82
- 2026-10-24: 82
- 2026-10-23: 83
- 2026-10-22: 82
- 2026-10-21: 82
- 2026-10-20: 82
- 2026-10-19: 81
- 2026-10-18: 81
- 2026-10-17: 80
- 2026-10-16: 80
- 2026-10-15: 79
- 2026-10-14: 79
- 2026-10-13: 78
- 2026-10-12: 78

## Common questions

### What is the Trainer Connect MCP server?

Trainer Connect is an MCP server listed in the public MCP registry as br.com.trainerconnect/personal-trainer. Manage students, workouts, appointments and payments through your personal trainer account. This page covers its hosted endpoint (https://api.trainerconnect.com.br/mcp).

### Is the Trainer Connect MCP server safe to use?

Trainer Connect scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Trainer Connect MCP server expose?

Trainer Connect exposes 283 tools: list_students, list_inactive_students, list_workouts_to_renew, get_checkins_overview, get_latest_assessments, and 278 more. Their descriptions and schemas cost roughly 15,509 tokens of context every time the server is loaded.

### Does the Trainer Connect MCP server require authentication?

Yes. Trainer Connect asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Trainer Connect MCP server still maintained?

Trainer Connect is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.trainerconnect.com.br/mcp
- Website: https://trainerconnect.com.br/assistentes-ia
- Changelog RSS feed: https://verifymcp.io/servers/br-com-trainerconnect-personal-trainer/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/br-com-trainerconnect-personal-trainer/api.json
- HTML version of this page: https://verifymcp.io/servers/br-com-trainerconnect-personal-trainer/api
