# Coach Platform API > The API is available to Coach account holders and the people who build their automations. Create an API key in your Coach account under Settings → מפתחים ואוטומציות (Developers and automations), or connect an MCP client with one-click OAuth. The reference covers 97 endpoints across 18 resources. - Base URL: https://api.coach-platform.com - Authentication: `Authorization: Bearer cp_live_...` (6 public endpoints need no key) - OpenAPI spec: https://www.coach-platform.com/openapi.json - Interactive explorer: https://www.coach-platform.com/docs/api - MCP server (API key or one-click OAuth): https://api.coach-platform.com/api/public/mcp - Agent guide served by the API: https://api.coach-platform.com/api/public/llms.txt - Overview in Hebrew: https://www.coach-platform.com/developers Every link below is a markdown page. The same page without the trailing /index.md is the HTML version. The whole reference in one file: https://www.coach-platform.com/docs/api/llms-full.txt ## Docs - [API reference index](https://www.coach-platform.com/docs/api/reference/index.md): Every endpoint grouped by resource, with method, path and summary. - [Interactive API explorer](https://www.coach-platform.com/docs/api): The OpenAPI spec rendered as an explorer with request samples. - [OpenAPI spec](https://www.coach-platform.com/openapi.json): OpenAPI 3 document describing every endpoint, parameter and schema. - [Agent guide from the API](https://api.coach-platform.com/api/public/llms.txt): Auth, conventions and the MCP tool list, served by the API itself. - [Overview in Hebrew](https://www.coach-platform.com/developers): The API and MCP explained for Coach account holders, in Hebrew. ## Discovery - [Check API health](https://www.coach-platform.com/docs/api/reference/get-health/index.md): `GET /api/public/health`. Public health check. - [Get the catalog of scopes and webhook events](https://www.coach-platform.com/docs/api/reference/get-catalog/index.md): `GET /api/public/catalog`. Public catalog of available scopes, webhook events, payload schemas, and docs URL. - [Get the AI agent guide (llms.txt)](https://www.coach-platform.com/docs/api/reference/get-llms-txt/index.md): `GET /api/public/llms.txt`. Plain-text guide for AI agents: auth, conventions, machine-readable references, and the MCP tool list. - [List error codes](https://www.coach-platform.com/docs/api/reference/get-errors/index.md): `GET /api/public/errors`. Reference for every error code returned by the API. - [Get the API changelog](https://www.coach-platform.com/docs/api/reference/get-changelog/index.md): `GET /api/public/changelog`. Changelog of breaking and non-breaking changes to this API. - [Get API limits](https://www.coach-platform.com/docs/api/reference/get-limits/index.md): `GET /api/public/limits`. Body size, timeout, retry, and pagination limits. ## Coach - [Get the authenticated coach profile](https://www.coach-platform.com/docs/api/reference/get-me/index.md): `GET /api/public/me`. Returns the authenticated coach profile (name, email, plan limits). ## Trainees - [List trainees](https://www.coach-platform.com/docs/api/reference/get-trainees/index.md): `GET /api/public/trainees`. List trainees of the coach, filterable by label/search. - [Create a trainee](https://www.coach-platform.com/docs/api/reference/post-trainees/index.md): `POST /api/public/trainees`. Create a new trainee for the coach. - [Approve or reject pending trainees](https://www.coach-platform.com/docs/api/reference/post-trainees-pending/index.md): `POST /api/public/trainees/pending`. Approve or reject trainees from the coach's approval queue, which GET /trainees?status=pending lists. - [Get a trainee](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id/index.md): `GET /api/public/trainees/{traineeId}`. Get a single trainee by id. - [Update a trainee](https://www.coach-platform.com/docs/api/reference/patch-trainees-trainee-id/index.md): `PATCH /api/public/trainees/{traineeId}`. Update a trainee's personal details. - [Remove a trainee](https://www.coach-platform.com/docs/api/reference/delete-trainees-trainee-id/index.md): `DELETE /api/public/trainees/{traineeId}`. Remove a trainee from the coach account. - [Restore an archived trainee](https://www.coach-platform.com/docs/api/reference/post-trainees-trainee-id-restore/index.md): `POST /api/public/trainees/{traineeId}/restore`. Bring a trainee back from the archive, exactly as the dashboard does it. - [Send access details to a trainee](https://www.coach-platform.com/docs/api/reference/post-trainees-trainee-id-send-credentials/index.md): `POST /api/public/trainees/{traineeId}/send-credentials`. Send the trainee their app access details by email, and optionally by WhatsApp. - [Get a trainee's weekly activity](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-weekly-activity/index.md): `GET /api/public/trainees/{traineeId}/weekly-activity`. Day-by-day activity for the week containing the given date (workouts, cardio, nutrition logging, water, measurements, form submissions). - [Get a trainee's body measurements](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-measurements/index.md): `GET /api/public/trainees/{traineeId}/measurements`. A trainee's body measurements: weight history, body-fat history, circumference history, and custom measurement types. - [Record a weigh-in](https://www.coach-platform.com/docs/api/reference/post-trainees-trainee-id-body-metrics/index.md): `POST /api/public/trainees/{traineeId}/body-metrics`. Record a weigh-in for a trainee: weight, body fat, and/or body measurements. - [List a trainee's progress photos](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-photos/index.md): `GET /api/public/trainees/{traineeId}/photos`. A trainee's progress photos as temporary viewable image URLs (valid a few minutes). - [List a trainee's personal records](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-personal-records/index.md): `GET /api/public/trainees/{traineeId}/personal-records`. A trainee's personal records per exercise: best weight, estimated 1RM, top-set reps, max reps, set and total volume, and max duration, each with the value achieved, the previous record and when it was set. ## Labels - [List labels](https://www.coach-platform.com/docs/api/reference/get-labels/index.md): `GET /api/public/labels`. List all trainee labels (tags) defined by the coach. - [Add labels to a trainee](https://www.coach-platform.com/docs/api/reference/post-trainees-trainee-id-labels/index.md): `POST /api/public/trainees/{traineeId}/labels`. Add labels to a trainee. - [Remove a label from a trainee](https://www.coach-platform.com/docs/api/reference/delete-trainees-trainee-id-labels-label-id/index.md): `DELETE /api/public/trainees/{traineeId}/labels/{labelId}`. Detach a single label from one trainee. - [Update a label](https://www.coach-platform.com/docs/api/reference/patch-labels-label-id/index.md): `PATCH /api/public/labels/{labelId}`. Rename a label or change its color. - [Delete a label](https://www.coach-platform.com/docs/api/reference/delete-labels-label-id/index.md): `DELETE /api/public/labels/{labelId}`. Delete a label. ## Escorts - [Get a coaching period](https://www.coach-platform.com/docs/api/reference/get-escorts-escort-id/index.md): `GET /api/public/escorts/{escortId}`. Get a coaching period by id. - [Update a coaching period](https://www.coach-platform.com/docs/api/reference/patch-escorts-escort-id/index.md): `PATCH /api/public/escorts/{escortId}`. Update a coaching period. - [Cancel a coaching period](https://www.coach-platform.com/docs/api/reference/delete-escorts-escort-id/index.md): `DELETE /api/public/escorts/{escortId}`. Cancel a coaching period. - [Start a coaching period](https://www.coach-platform.com/docs/api/reference/post-escorts/index.md): `POST /api/public/escorts`. Start a new coaching period (escort) for a trainee. ## Training Plans - [List training plans](https://www.coach-platform.com/docs/api/reference/get-training-plans/index.md): `GET /api/public/training-plans`. List training plans. - [Create a training plan](https://www.coach-platform.com/docs/api/reference/post-training-plans/index.md): `POST /api/public/training-plans`. Create a training plan. - [Get a training plan](https://www.coach-platform.com/docs/api/reference/get-training-plans-plan-id/index.md): `GET /api/public/training-plans/{planId}`. Get a training plan by id. - [Update a training plan](https://www.coach-platform.com/docs/api/reference/patch-training-plans-plan-id/index.md): `PATCH /api/public/training-plans/{planId}`. Partially update a training plan. - [Delete a training plan](https://www.coach-platform.com/docs/api/reference/delete-training-plans-plan-id/index.md): `DELETE /api/public/training-plans/{planId}`. Delete a training plan permanently. - [Get a trainee's active training plan](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-active-training-plan/index.md): `GET /api/public/trainees/{traineeId}/active-training-plan`. Get a trainee's currently active training plan (resolved via the active coaching period). - [Duplicate a training plan](https://www.coach-platform.com/docs/api/reference/post-training-plans-plan-id-duplicate/index.md): `POST /api/public/training-plans/{planId}/duplicate`. Copy an existing training plan, including every exercise detail (per-set prescriptions, supersets, tempo, intensity, drop sets, alternatives). ## Workout Logs - [List workout logs](https://www.coach-platform.com/docs/api/reference/get-workout-logs/index.md): `GET /api/public/workout-logs`. List workout logs for a single trainee. - [List a trainee's exercise notes](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-exercise-notes/index.md): `GET /api/public/trainees/{traineeId}/exercise-notes`. Per-exercise notes and video replies from a trainee's workout logs. ## Exercises - [Search the exercise catalog](https://www.coach-platform.com/docs/api/reference/get-exercises/index.md): `GET /api/public/exercises`. Search the exercises catalog (name, muscle group). ## Nutrition Menus - [Get a trainee's daily nutrition log](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-nutrition-log/index.md): `GET /api/public/trainees/{traineeId}/nutrition-log`. What a trainee actually ate on ONE day: the food log for that date, per-meal and per-day calorie/macro totals, and the times of day the food was logged. - [List nutrition menus](https://www.coach-platform.com/docs/api/reference/get-nutrition-menus/index.md): `GET /api/public/nutrition-menus`. List nutrition menus. - [Create a nutrition menu](https://www.coach-platform.com/docs/api/reference/post-nutrition-menus/index.md): `POST /api/public/nutrition-menus`. Create a nutrition menu. - [Get a nutrition menu](https://www.coach-platform.com/docs/api/reference/get-nutrition-menus-menu-id/index.md): `GET /api/public/nutrition-menus/{menuId}`. Get a nutrition menu by id (with full meals breakdown). - [Update a nutrition menu](https://www.coach-platform.com/docs/api/reference/patch-nutrition-menus-menu-id/index.md): `PATCH /api/public/nutrition-menus/{menuId}`. Partially update a nutrition menu. - [Delete a nutrition menu](https://www.coach-platform.com/docs/api/reference/delete-nutrition-menus-menu-id/index.md): `DELETE /api/public/nutrition-menus/{menuId}`. Delete a nutrition menu permanently. - [Get a trainee's active nutrition menu](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-active-nutrition-menu/index.md): `GET /api/public/trainees/{traineeId}/active-nutrition-menu`. Get a trainee's currently active nutrition menu (resolved via the active coaching period). - [Add an alternative meal](https://www.coach-platform.com/docs/api/reference/post-nutrition-menus-menu-id-meals-meal-id-alternatives/index.md): `POST /api/public/nutrition-menus/{menuId}/meals/{mealId}/alternatives`. Add an alternative meal to one meal of a menu — the same "add alternative meal" the dashboard offers. - [Remove an alternative meal](https://www.coach-platform.com/docs/api/reference/delete-nutrition-menus-menu-id-meals-meal-id-alternatives-alternative-id/index.md): `DELETE /api/public/nutrition-menus/{menuId}/meals/{mealId}/alternatives/{alternativeId}`. Remove one alternative meal from a meal. - [Search the food database](https://www.coach-platform.com/docs/api/reference/get-food-items/index.md): `GET /api/public/food-items`. Search the food database the dashboard searches: the shared catalog plus the coach's own items. ## Meetings - [List meetings](https://www.coach-platform.com/docs/api/reference/get-meetings/index.md): `GET /api/public/meetings`. List meetings in a time window. - [Schedule a meeting](https://www.coach-platform.com/docs/api/reference/post-meetings/index.md): `POST /api/public/meetings`. Schedule a meeting. - [Get a meeting](https://www.coach-platform.com/docs/api/reference/get-meetings-meeting-id/index.md): `GET /api/public/meetings/{meetingId}`. Get a meeting by id. - [Update a meeting](https://www.coach-platform.com/docs/api/reference/patch-meetings-meeting-id/index.md): `PATCH /api/public/meetings/{meetingId}`. Update a meeting (time, title, attendees, notes, status). - [Delete a meeting](https://www.coach-platform.com/docs/api/reference/delete-meetings-meeting-id/index.md): `DELETE /api/public/meetings/{meetingId}`. Delete a meeting permanently. ## Forms - [List forms](https://www.coach-platform.com/docs/api/reference/get-forms/index.md): `GET /api/public/forms`. List forms (questionnaires) created by the coach. - [List registration form responses](https://www.coach-platform.com/docs/api/reference/get-forms-registration/index.md): `GET /api/public/forms/registration`. List submitted registration (intake) form responses across every registration form, newest first. - [List check-in responses](https://www.coach-platform.com/docs/api/reference/get-updates/index.md): `GET /api/public/updates`. List submitted update (check-in) form responses across every update form, newest first. - [Respond to a check-in](https://www.coach-platform.com/docs/api/reference/post-updates-update-id-respond/index.md): `POST /api/public/updates/{updateId}/respond`. Respond to a submitted check-in. - [Get a form with its questions](https://www.coach-platform.com/docs/api/reference/get-forms-form-id/index.md): `GET /api/public/forms/{formId}`. Get one form including its full question set. - [Get a form response](https://www.coach-platform.com/docs/api/reference/get-forms-form-id-response-response-id/index.md): `GET /api/public/forms/{formId}/response/{responseId}`. Get a single submitted form response with its answers. - [List responses to a form](https://www.coach-platform.com/docs/api/reference/get-forms-form-id-responses/index.md): `GET /api/public/forms/{formId}/responses`. List submitted responses for a form, newest first. ## Notifications - [Send a notification](https://www.coach-platform.com/docs/api/reference/post-notifications/index.md): `POST /api/public/notifications`. Send an in-app notification to one trainee, immediately or on a schedule. - [Send a bulk notification](https://www.coach-platform.com/docs/api/reference/post-notifications-bulk/index.md): `POST /api/public/notifications/bulk`. Send the same in-app notification to up to 100 trainees, immediately or on a schedule. ## Monitoring - [Get the monitoring overview](https://www.coach-platform.com/docs/api/reference/get-monitoring-overview/index.md): `GET /api/public/monitoring/overview`. Monitoring overview: counts of trainees inactive in training, nutrition, water and weight, plus adherence graph data. - [List trainees with no recent training](https://www.coach-platform.com/docs/api/reference/get-monitoring-training/index.md): `GET /api/public/monitoring/training`. Trainees who have not logged training within the inactivity window. - [List trainees below their step target](https://www.coach-platform.com/docs/api/reference/get-monitoring-steps/index.md): `GET /api/public/monitoring/steps`. Trainees who logged fewer steps than their daily step target on the target day (default today). - [List trainees with no recent nutrition logging](https://www.coach-platform.com/docs/api/reference/get-monitoring-nutrition/index.md): `GET /api/public/monitoring/nutrition`. Trainees who have not logged nutrition within the inactivity window. - [List trainees who logged nutrition](https://www.coach-platform.com/docs/api/reference/get-monitoring-nutrition-logged-today/index.md): `GET /api/public/monitoring/nutrition/logged-today`. Trainees who logged nutrition on the target day (default today), with logged calories and protein against target. - [List trainees who did not log nutrition](https://www.coach-platform.com/docs/api/reference/get-monitoring-nutrition-not-logged/index.md): `GET /api/public/monitoring/nutrition/not-logged`. Trainees who did NOT log nutrition on the target day (default today). - [Get weight monitoring](https://www.coach-platform.com/docs/api/reference/get-monitoring-weight/index.md): `GET /api/public/monitoring/weight`. Weight monitoring: weight-inactive trainees, significant weight changes vs an aged baseline (with daysBetweenWeights), trend vs goal, plateaus, and broken weekly weigh-in streaks (streakBroken). - [List trainees with no recent water logging](https://www.coach-platform.com/docs/api/reference/get-monitoring-water/index.md): `GET /api/public/monitoring/water`. Trainees who have not logged water within the inactivity window. - [List weekly check-ins for monitoring](https://www.coach-platform.com/docs/api/reference/get-monitoring-updates/index.md): `GET /api/public/monitoring/updates`. Weekly trainee updates (check-ins) for monitoring, filterable by form/label/gender. - [List incomplete check-ins](https://www.coach-platform.com/docs/api/reference/get-monitoring-incomplete-updates/index.md): `GET /api/public/monitoring/incomplete-updates`. Updates submitted with missing measurements or photos. - [List stalled exercises](https://www.coach-platform.com/docs/api/reference/get-monitoring-stalled-exercises/index.md): `GET /api/public/monitoring/stalled-exercises`. Exercises where trainees stopped progressing (no improvement over the configured window). - [Mark incomplete check-ins as read](https://www.coach-platform.com/docs/api/reference/patch-monitoring-incomplete-updates-read/index.md): `PATCH /api/public/monitoring/incomplete-updates/read`. Mark a set of incomplete updates as read. - [Dismiss a stalled exercise](https://www.coach-platform.com/docs/api/reference/post-monitoring-stalled-exercises-dismiss/index.md): `POST /api/public/monitoring/stalled-exercises/dismiss`. Dismiss a single stalled exercise for a trainee. - [Dismiss stalled exercises in bulk](https://www.coach-platform.com/docs/api/reference/post-monitoring-stalled-exercises-dismiss-all/index.md): `POST /api/public/monitoring/stalled-exercises/dismiss-all`. Dismiss many stalled exercises at once. - [Undismiss a stalled exercise](https://www.coach-platform.com/docs/api/reference/post-monitoring-stalled-exercises-undismiss/index.md): `POST /api/public/monitoring/stalled-exercises/undismiss`. Undismiss a single stalled exercise for a trainee. - [Undismiss stalled exercises in bulk](https://www.coach-platform.com/docs/api/reference/post-monitoring-stalled-exercises-undismiss-all/index.md): `POST /api/public/monitoring/stalled-exercises/undismiss-all`. Undismiss many stalled exercises at once. - [Mark a stalled exercise as handled](https://www.coach-platform.com/docs/api/reference/post-monitoring-stalled-exercises-handle/index.md): `POST /api/public/monitoring/stalled-exercises/handle`. Mark a single stalled exercise as handled. - [Mark stalled exercises as handled in bulk](https://www.coach-platform.com/docs/api/reference/post-monitoring-stalled-exercises-handle-all/index.md): `POST /api/public/monitoring/stalled-exercises/handle-all`. Mark many stalled exercises as handled at once. - [List quick wins](https://www.coach-platform.com/docs/api/reference/get-quick-wins/index.md): `GET /api/public/quick-wins`. List automatically detected positive moments for your trainees (new personal record, consistency streak, measurement progress, coaching milestone), newest first. ## Journeys - [List journeys](https://www.coach-platform.com/docs/api/reference/get-journeys/index.md): `GET /api/public/journeys`. List customer journeys (automation templates) with search and pagination, including how many trainees are actively enrolled in each. - [Create a journey](https://www.coach-platform.com/docs/api/reference/post-journeys/index.md): `POST /api/public/journeys`. Create a customer journey, optionally with its ordered steps. - [List journey enrollments](https://www.coach-platform.com/docs/api/reference/get-journeys-enrollments/index.md): `GET /api/public/journeys/enrollments`. List trainee enrollments across journeys, filterable by journey, escort and status, with trainee, escort and journey resolved. - [Get a journey](https://www.coach-platform.com/docs/api/reference/get-journeys-journey-id/index.md): `GET /api/public/journeys/{journeyId}`. Get a single customer journey with its full step structure: triggers, timing and the actions each step runs. - [Update a journey](https://www.coach-platform.com/docs/api/reference/patch-journeys-journey-id/index.md): `PATCH /api/public/journeys/{journeyId}`. Update a customer journey's settings and steps. - [Get journey analytics](https://www.coach-platform.com/docs/api/reference/get-journeys-journey-id-analytics/index.md): `GET /api/public/journeys/{journeyId}/analytics`. Enrollment and completion statistics for a single customer journey. - [Enroll a trainee in a journey](https://www.coach-platform.com/docs/api/reference/post-journeys-journey-id-enroll/index.md): `POST /api/public/journeys/{journeyId}/enroll`. Enroll one trainee into an active journey. - [Get a trainee's journey progress](https://www.coach-platform.com/docs/api/reference/get-trainees-trainee-id-journey-progress/index.md): `GET /api/public/trainees/{traineeId}/journey-progress`. Where a trainee stands in their customer journey(s): current effective day and week, completed versus upcoming steps, and each journey's status. ## Employees - [List employees](https://www.coach-platform.com/docs/api/reference/get-employees/index.md): `GET /api/public/employees`. List the coach's team members (employees), including name, phone, email, and role. ## Products - [List products](https://www.coach-platform.com/docs/api/reference/get-products/index.md): `GET /api/public/products`. List the current key's coach products. - [Get a product](https://www.coach-platform.com/docs/api/reference/get-products-product-id/index.md): `GET /api/public/products/{productId}`. Get a product by id. ## Purchases - [List purchases](https://www.coach-platform.com/docs/api/reference/get-purchases/index.md): `GET /api/public/purchases`. List customer purchases. - [Record a purchase](https://www.coach-platform.com/docs/api/reference/post-purchases/index.md): `POST /api/public/purchases`. Record a product purchase for a trainee. - [Get a purchase](https://www.coach-platform.com/docs/api/reference/get-purchases-purchase-id/index.md): `GET /api/public/purchases/{purchaseId}`. Get a customer purchase by id. ## Webhooks - [List webhook subscriptions](https://www.coach-platform.com/docs/api/reference/get-webhooks/index.md): `GET /api/public/webhooks`. List webhook subscriptions for the current key's coach