# FITsociety Developer APIs > Documentation for the FITsociety MCP server and Public API. - [Developer Docs](https://docs.fitsociety.io/index.md): Start here when integrating with FITsociety developer APIs. - [Public API Overview](https://docs.fitsociety.io/public-api/overview.md): Use the FITsociety Public API for server-to-server integrations. - [Quickstart](https://docs.fitsociety.io/public-api/quickstart.md): Make your first FITsociety Public API call in about 10 minutes. - [Public API Authentication](https://docs.fitsociety.io/public-api/authentication.md): Authenticate with OAuth client credentials and Bearer tokens. - [Contracts, validation, and rate limits](https://docs.fitsociety.io/public-api/contracts.md): Stable response envelopes, field compatibility rules, validation behavior, pagination, errors, and rate-limit headers for the Public API. - [Localized text](https://docs.fitsociety.io/public-api/localization.md): Store and read translations consistently in the FITsociety Public API. - [Error reference](https://docs.fitsociety.io/public-api/errors.md): Complete reference of Public API error keys: framework keys, endpoint validation keys, HTTP statuses, meanings, and how to resolve each error. - [Platform and audit resources](https://docs.fitsociety.io/public-api/platform.md): Inspect the authenticated Public API client, available capabilities, scopes, and redacted audit logs. - [Company catalog](https://docs.fitsociety.io/public-api/company-catalog.md): Read and manage company profile metadata and locations. - [Coaches](https://docs.fitsociety.io/public-api/coaches.md): List coaches through the FITsociety Public API. - [Clients](https://docs.fitsociety.io/public-api/clients.md): Read, create, and update Core CRM clients through the FITsociety Public API. - [Client Notes](https://docs.fitsociety.io/public-api/client-notes.md): Read and manage client notes through the FITsociety Public API. - [Conversations](https://docs.fitsociety.io/public-api/conversations.md): Create, read, and manage direct and group chat conversations through the Public API. - [Calendar events and bookings](https://docs.fitsociety.io/public-api/calendar-bookings.md): Read calendar events and manage bookings through the FITsociety Public API. - [Finance products, memberships, and credits](https://docs.fitsociety.io/public-api/finance.md): Read products and subscriptions, assign guarded finance products, and adjust credits through the FITsociety Public API. - [Measurements and progress](https://docs.fitsociety.io/public-api/measurements.md): Read measurement types, manage measurement entries, and read progress metadata through the FITsociety Public API. - [Habits and goals](https://docs.fitsociety.io/public-api/habits-goals.md): Manage standard habit templates, client habits, habit entries, and public-safe goal summaries through the FITsociety Public API. - [Forms](https://docs.fitsociety.io/public-api/forms.md): Create and manage reusable intake and check-up form templates. - [Intakes](https://docs.fitsociety.io/public-api/intakes.md): Assign intake forms and read client intake submissions. - [Check-ups](https://docs.fitsociety.io/public-api/checkups.md): Schedule check-ups and read assignment status and submissions. - [Documents](https://docs.fitsociety.io/public-api/documents.md): Read and manage client document metadata. - [Reports](https://docs.fitsociety.io/public-api/reports.md): Read aggregate attendance, revenue, and retention summaries through the FITsociety Public API. - [Async exports](https://docs.fitsociety.io/public-api/exports.md): Create, monitor, retry, cancel, and download asynchronous company exports through the FITsociety Public API. - [Webhooks](https://docs.fitsociety.io/public-api/webhooks.md): Manage outbound Public API webhook subscriptions and inspect delivery attempts. - [Access Devices](https://docs.fitsociety.io/access-devices/overview.md): Validate QR codes and partner credentials at access gates with device-key authentication. - [Brand assets](https://docs.fitsociety.io/brand-assets.md): Download official FITsociety logos, icons and brand guidelines for your integration. - [API Reference](https://docs.fitsociety.io/api-reference/overview.md): Endpoint-level reference for FITsociety Public API v1. - [Check Public API token health](https://docs.fitsociety.io/api-reference/health/check-public-api-token-health.md): Requires `platform:read`. Returns a lightweight health payload for the company authenticated by the Public API Bearer token. - [Issue a Public API access token](https://docs.fitsociety.io/api-reference/oauth/issue-a-public-api-access-token.md): Issues an opaque Bearer access token for server-to-server Public API integrations using the OAuth client credentials grant. Authenticate the client with HTTP Basic auth: `Authorization: Basic base64(client_id:client_secret)`. - [Get Public API client profile](https://docs.fitsociety.io/api-reference/platform/get-public-api-client-profile.md): Requires `platform:read`. Returns the authenticated Public API client context without secrets or token identifiers. - [List Public API capabilities](https://docs.fitsociety.io/api-reference/platform/list-public-api-capabilities.md): Requires `platform:read`. Lists available Public API scopes and OAuth Bearer resource endpoints. Nutrition and workout endpoints are intentionally excluded from this v1 catalog. - [List Public API scopes](https://docs.fitsociety.io/api-reference/platform/list-public-api-scopes.md): Requires `platform:read`. - [List redacted Public API audit logs](https://docs.fitsociety.io/api-reference/platform/list-redacted-public-api-audit-logs.md): Requires `audit_logs:read`. Returns redacted audit metadata only; raw request headers, raw response bodies, token identifiers, IP addresses, and user agents are not returned. - [Get redacted Public API audit log](https://docs.fitsociety.io/api-reference/platform/get-redacted-public-api-audit-log.md): Requires `audit_logs:read`. - [Get company profile](https://docs.fitsociety.io/api-reference/company-catalog/get-company-profile.md): Requires `company_catalog:read`. Returns a public company profile DTO without VAT, company-register, billing, payment, or external-reference fields. - [Get facilities and services](https://docs.fitsociety.io/api-reference/company-catalog/get-facilities-and-services.md): Requires `company_catalog:read`. - [Get company policies](https://docs.fitsociety.io/api-reference/company-catalog/get-company-policies.md): Requires `company_catalog:read`. - [List coaches for the authenticated company](https://docs.fitsociety.io/api-reference/coaches/list-coaches-for-the-authenticated-company.md): Lists coaches for the company authenticated by the Public API Bearer token. The token must include `coaches:read`. - [Get a coach](https://docs.fitsociety.io/api-reference/coaches/get-a-coach.md): Fetches one coach in the authenticated company. The token must include `coaches:read`. - [List locations](https://docs.fitsociety.io/api-reference/company-catalog/list-locations.md): Requires `locations:read`. `limit` is capped at 100. - [Create location](https://docs.fitsociety.io/api-reference/company-catalog/create-location.md): Requires `locations:write`. `name` is required. Additional real branches require FITsociety admin approval; otherwise HTTP 409 COMMERCIAL_EXPANSION_APPROVAL_REQUIRED is returned. Outdoor and temporary locations cannot have independent reports or home-member assignment. - [Get location](https://docs.fitsociety.io/api-reference/company-catalog/get-location.md): Requires `locations:read`. - [Update location](https://docs.fitsociety.io/api-reference/company-catalog/update-location.md): Requires `locations:write`. Promotion to a real branch requires FITsociety admin approval (HTTP 409 COMMERCIAL_EXPANSION_APPROVAL_REQUIRED). - [Archive location](https://docs.fitsociety.io/api-reference/company-catalog/archive-location.md): Requires `locations:write`. Soft-deletes the location. Empty request bodies are accepted. - [List clients for the authenticated company](https://docs.fitsociety.io/api-reference/clients/list-clients-for-the-authenticated-company.md): Lists clients for the company authenticated by the Public API Bearer token. The token must include `clients:read`. - [Create a client in the company](https://docs.fitsociety.io/api-reference/clients/create-a-client-in-the-company.md): Adds a client to the company authenticated by the Public API Bearer token (`clients:write`). An existing account matching the normalized email is linked immediately through the same flow as the coach app, without approval, and receives a notification email. Existing profile fields are preserved. An… - [Get a client](https://docs.fitsociety.io/api-reference/clients/get-a-client.md) - [Update a client](https://docs.fitsociety.io/api-reference/clients/update-a-client.md): Updates safe Core CRM client fields. This endpoint does not delete clients or mutate payments, subscriptions, notes, or lifecycle removal fields. - [Archive a client](https://docs.fitsociety.io/api-reference/clients/archive-a-client.md): Requires `clients:write`. Archives the company-client relationship without hard-deleting the client identity. - [List client custom field definitions](https://docs.fitsociety.io/api-reference/clients/list-client-custom-field-definitions.md): Requires `client_custom_fields:read`. Returns active client-page custom field definitions without usage flags, inactive fields, update metadata, or validation regex patterns. - [Get client custom field values](https://docs.fitsociety.io/api-reference/clients/get-client-custom-field-values.md): Requires `client_custom_fields:read`. - [Update client custom field values](https://docs.fitsociety.io/api-reference/clients/update-client-custom-field-values.md): Requires `client_custom_fields:write`. Values are validated against active company client-page field definitions. - [Get client portal access status](https://docs.fitsociety.io/api-reference/clients/get-client-portal-access-status.md): Requires `clients:read`. Returns portal access metadata without auth sessions, device state, passwords, or tokens. - [Send client portal invite](https://docs.fitsociety.io/api-reference/clients/send-client-portal-invite.md): Requires `client_onboarding:write`. Sends a portal invite through the existing coach invite flow. Placeholder email accounts are rejected. - [Resend client portal invite](https://docs.fitsociety.io/api-reference/clients/resend-client-portal-invite.md): Requires `client_onboarding:write`. Uses the same safe invite flow as `/invite`. - [Reject pending client relationship](https://docs.fitsociety.io/api-reference/clients/reject-pending-client-relationship.md): Requires `client_onboarding:write`. Rejects a pending company-client relationship and returns a sanitized registration request DTO. - [Get assigned coaches](https://docs.fitsociety.io/api-reference/clients/get-assigned-coaches.md): Requires `clients:read`. - [Update assigned coach](https://docs.fitsociety.io/api-reference/clients/update-assigned-coach.md): Requires `clients:write`. The coach must exist and have active company access. - [Get sanitized client lifecycle timeline](https://docs.fitsociety.io/api-reference/clients/get-sanitized-client-lifecycle-timeline.md): Requires `client_timeline:read`. Returns lifecycle events only; notes, provider payloads, workout/nutrition events, payment details, raw audit logs, and deletion internals are excluded. - [List client tags](https://docs.fitsociety.io/api-reference/clients/list-client-tags.md): Lists client tags for the authenticated company. Use these ids when creating or updating clients. The token must include `clients:read`. - [List client notes](https://docs.fitsociety.io/api-reference/clients/list-client-notes.md) - [Create a client note](https://docs.fitsociety.io/api-reference/clients/create-a-client-note.md) - [Update a client note](https://docs.fitsociety.io/api-reference/clients/update-a-client-note.md) - [Delete a client note](https://docs.fitsociety.io/api-reference/clients/delete-a-client-note.md): Deletes the embedded client note. This follows existing FITsociety note semantics and is irreversible. - [Get client goals](https://docs.fitsociety.io/api-reference/goals/get-client-goals.md): Requires `goals:read`. Returns public-safe activity, weight, timeline, daily habit-style goals, nutrition targets, and measurement goals. Measurement goals include only active, non-deleted settings with a valid type visible in the authenticated company context; another company's custom goals are exc… - [Update client goals](https://docs.fitsociety.io/api-reference/goals/update-client-goals.md): Requires `goals:write`. Accepts only public-safe activity, weight, timeline, water, steps, sleep, and daily or weekly nutrition target fields. Returned measurement goals use the same company and active-setting filters as GET /public/v1/clients/{clientId}/goals. - [List bookings](https://docs.fitsociety.io/api-reference/bookings/list-bookings.md): Requires `bookings:read`. Requires a max 92-day date range. `limit` is capped at 50. - [Create booking](https://docs.fitsociety.io/api-reference/bookings/create-booking.md): Requires `bookings:write`. Accepts either an `availabilityToken` from `GET /public/v1/availability` or direct `calendarEventId`/`instanceDate` fields. Availability-token bookings are revalidated live before creation. - [Get booking](https://docs.fitsociety.io/api-reference/bookings/get-booking.md): Requires `bookings:read`. - [Update booking attendance](https://docs.fitsociety.io/api-reference/bookings/update-booking-attendance.md): Requires `bookings:write`. `status` must be `attended`, `noshow`, or `unknown`. - [Get booking cancellation context](https://docs.fitsociety.io/api-reference/bookings/get-booking-cancellation-context.md): Requires `bookings:read`. - [Cancel booking](https://docs.fitsociety.io/api-reference/bookings/cancel-booking.md): Requires `bookings:write`. Supports `followPolicy`, `refund`, `retain`, and guarded `charge` financial actions. Empty request bodies are accepted and use policy defaults. - [List booking requests](https://docs.fitsociety.io/api-reference/calendar-extensions/list-booking-requests.md): Requires `booking_requests:read`. Returns request status and capacity metadata without client email, images, lesson descriptions, or finance internals. - [Approve booking request](https://docs.fitsociety.io/api-reference/calendar-extensions/approve-booking-request.md): Requires `booking_requests:write`. Approves a pending booking request and returns the redacted booking request DTO. Empty request bodies are accepted. - [Reject booking request](https://docs.fitsociety.io/api-reference/calendar-extensions/reject-booking-request.md): Requires `booking_requests:write`. Rejects a pending booking request and returns the redacted booking request DTO. Empty request bodies are accepted. - [List recurring bookings](https://docs.fitsociety.io/api-reference/calendar-extensions/list-recurring-bookings.md): Requires `recurring_bookings:read`. Returns recurring booking chain DTOs only; payment snapshots, audit logs, and recurrence internals are not returned. - [Get recurring booking](https://docs.fitsociety.io/api-reference/calendar-extensions/get-recurring-booking.md): Requires `recurring_bookings:read`. - [Update recurring booking](https://docs.fitsociety.io/api-reference/calendar-extensions/update-recurring-booking.md): Requires `recurring_bookings:write`. Accepts only safe chain-level fields: payment method, one end mode, pause window, or clear pause windows. - [Cancel recurring booking](https://docs.fitsociety.io/api-reference/calendar-extensions/cancel-recurring-booking.md): Requires `recurring_bookings:write`. Marks the recurring chain cancelled without hard-deleting it. Empty request bodies are accepted. - [List calendar events](https://docs.fitsociety.io/api-reference/calendar-events/list-calendar-events.md): Requires `calendar_events:read`. Requires `dateFrom` and `dateTo`; range is capped at 92 days. Returns explicit event occurrence DTOs. - [Get calendar event](https://docs.fitsociety.io/api-reference/calendar-events/get-calendar-event.md): Requires `calendar_events:read`. - [List event types](https://docs.fitsociety.io/api-reference/calendar-templates/list-event-types.md): Requires `event_types:read`. Event types are labels/categories that event templates can use for filtering and display. - [Create event type](https://docs.fitsociety.io/api-reference/calendar-templates/create-event-type.md): Requires `event_types:write`. Text fields are complete language maps. Creation requires defaultLanguage; PATCH preserves omitted fields and replaces supplied maps. Calendar authoring currently supports nl, en, de, fr and es. `name` is required and must be a localized text map. - [Get event type](https://docs.fitsociety.io/api-reference/calendar-templates/get-event-type.md): Requires `event_types:read`. - [Update event type](https://docs.fitsociety.io/api-reference/calendar-templates/update-event-type.md): Requires `event_types:write`. Text fields are complete language maps. Creation requires defaultLanguage; PATCH preserves omitted fields and replaces supplied maps. Calendar authoring currently supports nl, en, de, fr and es. - [Archive event type](https://docs.fitsociety.io/api-reference/calendar-templates/archive-event-type.md): Requires `event_types:write`. Empty request bodies are accepted. - [List event templates](https://docs.fitsociety.io/api-reference/calendar-templates/list-event-templates.md): Requires `event_templates:read`. Lists calendar event templates used by availability searches and bookings. Supports optional `eventType` label filtering. `limit` is capped at 100. - [Create event template](https://docs.fitsociety.io/api-reference/calendar-templates/create-event-template.md): Requires `event_templates:write`. Text fields are complete language maps. Creation requires defaultLanguage; PATCH preserves omitted fields and replaces supplied maps. Calendar authoring currently supports nl, en, de, fr and es. `name` and `duration` are required on create. `defaultLocationId` is op… - [Get event template](https://docs.fitsociety.io/api-reference/calendar-templates/get-event-template.md): Requires `event_templates:read`. - [Update event template](https://docs.fitsociety.io/api-reference/calendar-templates/update-event-template.md): Requires `event_templates:write`. Text fields are complete language maps. Creation requires defaultLanguage; PATCH preserves omitted fields and replaces supplied maps. Calendar authoring currently supports nl, en, de, fr and es. Send `defaultLocationId: null` to clear the default location. - [Archive event template](https://docs.fitsociety.io/api-reference/calendar-templates/archive-event-template.md): Requires `event_templates:write`. Empty request bodies are accepted. - [List calendar tasks](https://docs.fitsociety.io/api-reference/calendar-extensions/list-calendar-tasks.md): Requires `calendar_tasks:read`. Returns blocking task DTOs without sync/audit internals. - [Create calendar task](https://docs.fitsociety.io/api-reference/calendar-extensions/create-calendar-task.md): Requires `calendar_tasks:write`. Creates a blocking calendar task through the guarded calendar task helper. - [Get calendar task](https://docs.fitsociety.io/api-reference/calendar-extensions/get-calendar-task.md): Requires `calendar_tasks:read`. - [Update calendar task](https://docs.fitsociety.io/api-reference/calendar-extensions/update-calendar-task.md): Requires `calendar_tasks:write`. Unknown fields are rejected. - [Cancel calendar task](https://docs.fitsociety.io/api-reference/calendar-extensions/cancel-calendar-task.md): Requires `calendar_tasks:write`. Uses the existing calendar task cancellation helper. - [Get coach availability template](https://docs.fitsociety.io/api-reference/availability-management/get-coach-availability-template.md): Requires `coach_availability:read`. Returns the weekly, date-specific, override, and booking-rule template for one coach. This is a management endpoint; use `GET /public/v1/availability` with filters to list slots that a client can book. - [Replace coach availability template](https://docs.fitsociety.io/api-reference/availability-management/replace-coach-availability-template.md): Requires `coach_availability:write`. Replaces the coach availability template used to derive bookable slots. Unknown top-level fields are rejected; send only `availabilityPeriods`, `specificAvailability`, `overrides`, and `settings`. - [Get location availability template](https://docs.fitsociety.io/api-reference/availability-management/get-location-availability-template.md): Requires `location_availability:read`. Returns the weekly pattern, overrides, and booking-rule template for one location. This is a management endpoint; use `GET /public/v1/availability` with filters to list slots that a client can book. - [Replace location availability template](https://docs.fitsociety.io/api-reference/availability-management/replace-location-availability-template.md): Requires `location_availability:write`. Replaces the location availability template used to derive bookable slots. Unknown top-level fields are rejected; send only `weeklyPattern`, `overrides`, and `settings`. - [List closure days and absence](https://docs.fitsociety.io/api-reference/calendar-extensions/list-closure-days-and-absence.md): Requires `availability_rules:read`. Returns the calendar settings closure-day document used by the availability closures panel: holiday presets and custom closure or absence dates that block bookable availability for coaches, locations, or both. Company IDs and raw scheduling internals are omitted. - [Replace closure days and absence](https://docs.fitsociety.io/api-reference/calendar-extensions/replace-closure-days-and-absence.md): Requires `availability_rules:write`. Replaces the holiday preset and custom closure or absence date metadata used by the availability closures panel. - [List bookable availability slots](https://docs.fitsociety.io/api-reference/availability/list-bookable-availability-slots.md): Requires `availability:read`. This is the final bookable availability feed for external client booking flows. It derives slots from calendar events, coach availability templates, location availability templates, closure days, booking rules, and optional client context. Filter with `clientId`, `event… - [List finance products](https://docs.fitsociety.io/api-reference/finance/list-finance-products.md): Requires `finance_products:read`. Returns product DTOs only; no raw finance documents. - [List membership products](https://docs.fitsociety.io/api-reference/finance/list-membership-products.md): Requires `finance_products:read`. Returns product catalog DTOs with localized name/description maps and defaultLanguage. Undeclared legacy text uses und and defaultLanguage: null. - [Create membership products](https://docs.fitsociety.io/api-reference/finance/create-membership-products.md): Requires `finance_products:write`. Creates a company-scoped product catalog item with a required defaultLanguage and localized name/description maps. Caller-supplied company, coach, accounting, history, image, access, and provider fields are rejected. - [Get membership products](https://docs.fitsociety.io/api-reference/finance/get-membership-products.md): Requires `finance_products:read`. Use `includeArchived=true` to read an archived product. - [Update membership products](https://docs.fitsociety.io/api-reference/finance/update-membership-products.md): Requires `finance_products:write`. Partially updates public catalog fields only. Supplied name/description maps replace all translations for that field. Omitted fields are retained. The first update of a legacy product requires defaultLanguage. Changing the default requires that language in every re… - [Archive membership products](https://docs.fitsociety.io/api-reference/finance/archive-membership-products.md): Requires `finance_products:write`. Soft-archives the catalog item by setting `isArchived=true`; existing client product assignments remain intact. Empty request bodies are accepted. - [List clients linked to membership products](https://docs.fitsociety.io/api-reference/finance/list-clients-linked-to-membership-products.md): Requires `finance_products:read`. Returns redacted client-product links for this company-scoped product only. - [List credit packs](https://docs.fitsociety.io/api-reference/finance/list-credit-packs.md): Requires `finance_products:read`. Returns product catalog DTOs with localized name/description maps and defaultLanguage. Undeclared legacy text uses und and defaultLanguage: null. - [Create credit packs](https://docs.fitsociety.io/api-reference/finance/create-credit-packs.md): Requires `finance_products:write`. Creates a company-scoped product catalog item with a required defaultLanguage and localized name/description maps. Caller-supplied company, coach, accounting, history, image, access, and provider fields are rejected. - [Get credit packs](https://docs.fitsociety.io/api-reference/finance/get-credit-packs.md): Requires `finance_products:read`. Use `includeArchived=true` to read an archived product. - [Update credit packs](https://docs.fitsociety.io/api-reference/finance/update-credit-packs.md): Requires `finance_products:write`. Partially updates public catalog fields only. Supplied name/description maps replace all translations for that field. Omitted fields are retained. The first update of a legacy product requires defaultLanguage. Changing the default requires that language in every re… - [Archive credit packs](https://docs.fitsociety.io/api-reference/finance/archive-credit-packs.md): Requires `finance_products:write`. Soft-archives the catalog item by setting `isArchived=true`; existing client product assignments remain intact. Empty request bodies are accepted. - [List clients linked to credit packs](https://docs.fitsociety.io/api-reference/finance/list-clients-linked-to-credit-packs.md): Requires `finance_products:read`. Returns redacted client-product links for this company-scoped product only. - [List day/week passes](https://docs.fitsociety.io/api-reference/finance/list-dayweek-passes.md): Requires `finance_products:read`. Returns product catalog DTOs with localized name/description maps and defaultLanguage. Undeclared legacy text uses und and defaultLanguage: null. - [Create day/week passes](https://docs.fitsociety.io/api-reference/finance/create-dayweek-passes.md): Requires `finance_products:write`. Creates a company-scoped product catalog item with a required defaultLanguage and localized name/description maps. Caller-supplied company, coach, accounting, history, image, access, and provider fields are rejected. - [Get day/week passes](https://docs.fitsociety.io/api-reference/finance/get-dayweek-passes.md): Requires `finance_products:read`. Use `includeArchived=true` to read an archived product. - [Update day/week passes](https://docs.fitsociety.io/api-reference/finance/update-dayweek-passes.md): Requires `finance_products:write`. Partially updates public catalog fields only. Supplied name/description maps replace all translations for that field. Omitted fields are retained. The first update of a legacy product requires defaultLanguage. Changing the default requires that language in every re… - [Archive day/week passes](https://docs.fitsociety.io/api-reference/finance/archive-dayweek-passes.md): Requires `finance_products:write`. Soft-archives the catalog item by setting `isArchived=true`; existing client product assignments remain intact. Empty request bodies are accepted. - [List clients linked to day/week passes](https://docs.fitsociety.io/api-reference/finance/list-clients-linked-to-dayweek-passes.md): Requires `finance_products:read`. Returns redacted client-product links for this company-scoped product only. - [List single sessions](https://docs.fitsociety.io/api-reference/finance/list-single-sessions.md): Requires `finance_products:read`. Returns product catalog DTOs with localized name/description maps and defaultLanguage. Undeclared legacy text uses und and defaultLanguage: null. - [Create single sessions](https://docs.fitsociety.io/api-reference/finance/create-single-sessions.md): Requires `finance_products:write`. Creates a company-scoped product catalog item with a required defaultLanguage and localized name/description maps. Caller-supplied company, coach, accounting, history, image, access, and provider fields are rejected. - [Get single sessions](https://docs.fitsociety.io/api-reference/finance/get-single-sessions.md): Requires `finance_products:read`. Use `includeArchived=true` to read an archived product. - [Update single sessions](https://docs.fitsociety.io/api-reference/finance/update-single-sessions.md): Requires `finance_products:write`. Partially updates public catalog fields only. Supplied name/description maps replace all translations for that field. Omitted fields are retained. The first update of a legacy product requires defaultLanguage. Changing the default requires that language in every re… - [Archive single sessions](https://docs.fitsociety.io/api-reference/finance/archive-single-sessions.md): Requires `finance_products:write`. Soft-archives the catalog item by setting `isArchived=true`; existing client product assignments remain intact. Empty request bodies are accepted. - [List clients linked to single sessions](https://docs.fitsociety.io/api-reference/finance/list-clients-linked-to-single-sessions.md): Requires `finance_products:read`. Returns redacted client-product links for this company-scoped product only. - [List invoices](https://docs.fitsociety.io/api-reference/finance/list-invoices.md): Requires `finance_invoices:read`. Returns invoice metadata with `pdfAvailable`; raw PDF URLs are not included. - [List client invoices](https://docs.fitsociety.io/api-reference/finance/list-client-invoices.md): Requires `finance_invoices:read`. Client must belong to the authenticated company. - [Get invoice](https://docs.fitsociety.io/api-reference/finance/get-invoice.md): Requires `finance_invoices:read`. Returns invoice detail metadata and line items, but no raw PDF URL. - [Get invoice PDF metadata](https://docs.fitsociety.io/api-reference/finance/get-invoice-pdf-metadata.md): Requires `finance_invoice_pdfs:read`. Returns a short-lived download URL for an existing PDF. Missing PDFs return `PDF_NOT_AVAILABLE`; this endpoint does not generate PDFs. - [Send invoice payment reminder](https://docs.fitsociety.io/api-reference/finance/send-invoice-payment-reminder.md): Requires `finance_invoice_messages:write`. Only `Invoice` documents with `Pending` or `Chargeback` status are eligible. Empty request bodies are accepted. - [Resend invoice copy](https://docs.fitsociety.io/api-reference/finance/resend-invoice-copy.md): Requires `finance_invoice_messages:write`. Sends an invoice copy through the guarded invoice helper. Empty request bodies are accepted. - [List transactions](https://docs.fitsociety.io/api-reference/finance/list-transactions.md): Requires `finance_payments:read`. Returns transaction metadata without raw provider payloads. - [Get transaction](https://docs.fitsociety.io/api-reference/finance/get-transaction.md): Requires `finance_payments:read`. - [List payment requests](https://docs.fitsociety.io/api-reference/finance/list-payment-requests.md): Requires `finance_payment_requests:read`. Checkout URLs, public tokens, provider responses, and webhook URLs are omitted. - [Create payment request](https://docs.fitsociety.io/api-reference/finance/create-payment-request.md): Requires `finance_payment_requests:write`. Creates a guarded payment request. Checkout URLs are only returned when explicitly requested and available. - [Get payment request](https://docs.fitsociety.io/api-reference/finance/get-payment-request.md): Requires `finance_payment_requests:read`. - [Cancel payment request](https://docs.fitsociety.io/api-reference/finance/cancel-payment-request.md): Requires `finance_payment_requests:write`. Cancels a company-owned payment request through the guarded helper. Empty request bodies are accepted. - [List subscriptions](https://docs.fitsociety.io/api-reference/finance/list-subscriptions.md): Requires `finance_subscriptions:read`. - [Get subscription](https://docs.fitsociety.io/api-reference/finance/get-subscription.md): Requires `finance_subscriptions:read`. Returns the stable subscription detail DTO. - [Assign membership](https://docs.fitsociety.io/api-reference/finance/assign-membership.md): Requires `finance_memberships:write`. Price and VAT fields are rejected; stored product pricing is used. Membership registration terms and signature requirements apply to this route as well. Supply legal from the displayed membership policy before assignment. - [Request subscription pause](https://docs.fitsociety.io/api-reference/finance/request-subscription-pause.md): Requires `finance_subscription_actions:write`. Creates a membership action request for review; it does not directly mutate billing. - [Request subscription cancellation](https://docs.fitsociety.io/api-reference/finance/request-subscription-cancellation.md): Requires `finance_subscription_actions:write`. Creates a membership action request for review; it does not directly cancel the subscription. - [List assigned client products](https://docs.fitsociety.io/api-reference/finance/list-assigned-client-products.md): Requires `finance_products:read`. Returns assigned product DTOs without billing snapshots, provider payloads, legal signatures, internal notes, or transaction identifiers. - [Assign product](https://docs.fitsociety.io/api-reference/finance/assign-product.md): Requires `finance_products:write`. Supports credit pack, day pass, and single session products. Price and VAT fields are rejected. - [Get assigned client product](https://docs.fitsociety.io/api-reference/finance/get-assigned-client-product.md): Requires `finance_products:read`. - [Revoke supported product](https://docs.fitsociety.io/api-reference/finance/revoke-supported-product.md): Requires `finance_products:write`. Supports credit pack deactivation and day pass expiry. - [List chargebacks](https://docs.fitsociety.io/api-reference/finance/list-chargebacks.md): Requires `finance_chargebacks:read`. Provider IDs, raw payloads, and notification internals are omitted. - [Get chargeback](https://docs.fitsociety.io/api-reference/finance/get-chargeback.md): Requires `finance_chargebacks:read`. - [List all credits](https://docs.fitsociety.io/api-reference/credits/list-all-credits.md): Requires `finance_credits:read`. Returns company-wide credit allocations. Omit `status` to include active, expired, and empty allocations. - [List client credits](https://docs.fitsociety.io/api-reference/credits/list-client-credits.md): Requires `finance_credits:read`. - [Adjust client credits](https://docs.fitsociety.io/api-reference/credits/adjust-client-credits.md): Requires `finance_credits:write`. - [List credit mutations](https://docs.fitsociety.io/api-reference/credits/list-credit-mutations.md): Requires `finance_credits:read`. Optional date range capped at 366 days. - [List measurement types](https://docs.fitsociety.io/api-reference/measurements/list-measurement-types.md): Requires `measurements:read`. - [List measurement entries](https://docs.fitsociety.io/api-reference/measurements/list-measurement-entries.md): Requires `measurements:read`. Optional date range capped at 366 days. - [Create measurement entry](https://docs.fitsociety.io/api-reference/measurements/create-measurement-entry.md): Requires `measurements:write`. Numeric values reject display strings with units. - [Update measurement entry](https://docs.fitsociety.io/api-reference/measurements/update-measurement-entry.md): Requires `measurements:write`. No hard delete route is exposed. - [Archive measurement entry](https://docs.fitsociety.io/api-reference/measurements/archive-measurement-entry.md): Requires `measurements:write`. Soft-archives a company-owned measurement entry; no hard delete route is exposed. - [List measurement progress summaries](https://docs.fitsociety.io/api-reference/measurements/list-measurement-progress-summaries.md): Requires `progress_summaries:read`. Optional date range is capped at 366 days. Provider provenance, notes, and health-processing metadata are omitted. - [List progress photos](https://docs.fitsociety.io/api-reference/progress-photos/list-progress-photos.md): Requires `progress_photos:read`. Returns explicit photo metadata and short-lived signed URLs; raw storage URLs and actor IDs are omitted. - [Get progress photo](https://docs.fitsociety.io/api-reference/progress-photos/get-progress-photo.md): Requires `progress_photos:read`. - [List standard habit templates](https://docs.fitsociety.io/api-reference/habits/list-standard-habit-templates.md): Requires `habits:read`. Returns company-scoped standard habits that can be applied to clients. Internal coach ids, source habit ids, and deletion metadata are omitted. - [Create standard habit template](https://docs.fitsociety.io/api-reference/habits/create-standard-habit-template.md): Requires `habits:write`. Creates a company-scoped standard habit template with a required defaultLanguage and localized name, description, customUnitName and reminder message maps. The internal habit runtime uses the declared source text. Apply templates to a client to create client habit instances… - [Update standard habit template](https://docs.fitsociety.io/api-reference/habits/update-standard-habit-template.md): Requires `habits:write`. Updates safe fields on a company-scoped standard habit template. Supplied text maps replace all translations for that field; omitted fields are retained. The first update of a legacy template requires defaultLanguage. Changing the default requires that language in every reta… - [Archive standard habit template](https://docs.fitsociety.io/api-reference/habits/archive-standard-habit-template.md): Requires `habits:write`. Soft-archives the standard habit template. Already applied client habits are not deleted. - [List client habits](https://docs.fitsociety.io/api-reference/habits/list-client-habits.md): Requires `habits:read`. Reminder settings, internal actor fields, and deletion metadata are omitted. - [List habit entries](https://docs.fitsociety.io/api-reference/habits/list-habit-entries.md): Requires `habits:read`. `dateFrom` and `dateTo` are required and capped at 92 days. - [Apply standard habit templates](https://docs.fitsociety.io/api-reference/habits/apply-standard-habit-templates.md): Requires `habits:write`. Creates active client habits from company-scoped standard habit templates. Existing habits with the same name and type are skipped by default. - [Create habit entry](https://docs.fitsociety.io/api-reference/habits/create-habit-entry.md): Requires `habits:write`. Creates or replaces one local-day habit entry for the client and habit. - [Update habit entry](https://docs.fitsociety.io/api-reference/habits/update-habit-entry.md): Requires `habits:write`. Updates `occurredAt`, `value`, or `note` only. - [Archive client habit](https://docs.fitsociety.io/api-reference/habits/archive-client-habit.md): Requires `habits:write`. Soft-archives the client habit itself and excludes it from Public API habit reads. Existing entries are not hard-deleted. - [Archive habit entry](https://docs.fitsociety.io/api-reference/habits/archive-habit-entry.md): Requires `habits:write`. Soft-archives the habit entry and excludes it from Public API reads. - [List forms](https://docs.fitsociety.io/api-reference/forms/list-forms.md): Requires `forms:read`. Returns template metadata, defaultLanguage and localized name/description maps. Sections and questions are not included. No language is automatically selected; undeclared internal text uses und with defaultLanguage: null. - [Create form](https://docs.fitsociety.io/api-reference/forms/create-form.md): Requires `forms:write` and an OAuth client with a coach attribution context. Creates a company form template with localized text maps, a required defaultLanguage and optional sections/questions. Choice options have localized labels and receive stable option IDs. Internal apps continue using plain de… - [Get sanitized form detail](https://docs.fitsociety.io/api-reference/forms/get-sanitized-form-detail.md): Requires `forms:read`. Returns form sections, questions, defaultLanguage, localized text maps and persisted option IDs. Undeclared internal text uses und; internal options without public identities return optionId: null. Reads do not allocate IDs or select a language. Excludes objectives, medical/nu… - [Update form](https://docs.fitsociety.io/api-reference/forms/update-form.md): Requires `forms:write`. Updates an active company form template. Forms with existing answers cannot be edited, including translation-only changes (400 FORM_ALREADY_HAS_ANSWERS_CANNOT_EDIT); formType cannot change. Omitted top-level fields are preserved. Each supplied text map replaces all languages… - [Archive form](https://docs.fitsociety.io/api-reference/forms/archive-form.md): Requires `forms:write`. An empty body is allowed; an optional JSON body must be an empty object. Sets the template to archived, including when it is already archived. Archived forms are excluded from template reads and cannot receive new intake or check-up assignments. Existing assignments and answe… - [Assign intake form](https://docs.fitsociety.io/api-reference/intakes/assign-intake-form.md): Requires `form_assignments:write`. - [Get current intake assignment](https://docs.fitsociety.io/api-reference/intakes/get-current-intake-assignment.md): Requires `intakes:read`. Returns current assignment metadata without coach IDs or raw form structure. - [Get latest intake submission](https://docs.fitsociety.io/api-reference/intakes/get-latest-intake-submission.md): Requires `intakes:read`. Media answers are redacted. - [List assigned checkups](https://docs.fitsociety.io/api-reference/check-ups/list-assigned-checkups.md): Requires `checkups:read`. - [Assign checkup](https://docs.fitsociety.io/api-reference/check-ups/assign-checkup.md): Requires `checkups:write`. Reminder body mutation is not exposed. - [List checkup submissions](https://docs.fitsociety.io/api-reference/check-ups/list-checkup-submissions.md): Requires `checkups:read`. Media answers are redacted; date ranges are capped at 366 days. - [Get checkup assignment status](https://docs.fitsociety.io/api-reference/check-ups/get-checkup-assignment-status.md): Requires `checkups:read`. Returns status metadata without reminders or schedule internals. - [Cancel checkup assignment](https://docs.fitsociety.io/api-reference/check-ups/cancel-checkup-assignment.md): Requires `checkups:write`. Soft-cancels the assignment by marking it deleted and clearing the next notification date. - [List document folders](https://docs.fitsociety.io/api-reference/documents/list-document-folders.md): Requires `documents:read`. Metadata only. - [List documents](https://docs.fitsociety.io/api-reference/documents/list-documents.md): Requires `documents:read`. No download URLs or raw media fields are returned. - [Link external document metadata](https://docs.fitsociety.io/api-reference/documents/link-external-document-metadata.md): Requires `documents:write`. Stores metadata for an externally hosted document; no binary upload is performed. - [Update document metadata](https://docs.fitsociety.io/api-reference/documents/update-document-metadata.md): Requires `documents:write`. Updates safe document metadata only. - [Archive document metadata](https://docs.fitsociety.io/api-reference/documents/archive-document-metadata.md): Requires `documents:write`. Soft-archives document metadata without deleting external files. - [Get attendance summary](https://docs.fitsociety.io/api-reference/reports/get-attendance-summary.md): Requires `attendance_summaries:read`. Returns aggregate booking counts only. - [Get revenue summary](https://docs.fitsociety.io/api-reference/reports/get-revenue-summary.md): Requires `revenue_summaries:read`. Returns aggregate invoice totals only. - [Get retention summary](https://docs.fitsociety.io/api-reference/reports/get-retention-summary.md): Requires `retention_summaries:read`. Returns aggregate relationship and portal status counts only. - [List conversations](https://docs.fitsociety.io/api-reference/conversations/list-conversations.md): Requires `conversations:read`. Returns direct and group conversations without marking messages as read. - [List conversation inbox](https://docs.fitsociety.io/api-reference/conversations/list-conversation-inbox.md): Requires `conversations:read`. Returns the combined inbox of direct and group conversations without marking messages as read. This endpoint is an alias of `GET /public/v1/conversations` with the same filters and pagination. - [Create conversation](https://docs.fitsociety.io/api-reference/conversations/create-conversation.md): Requires `conversations:write`. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation. - [Get conversation](https://docs.fitsociety.io/api-reference/conversations/get-conversation.md): Requires `conversations:read`. Retrieves one direct or group conversation without marking messages as read. - [List conversation messages](https://docs.fitsociety.io/api-reference/conversations/list-conversation-messages.md): Requires `conversations:read`. Returns messages newest first and does not mark them as seen. - [Send conversation message](https://docs.fitsociety.io/api-reference/conversations/send-conversation-message.md): Requires `conversation_messages:write`. Sends a text message as the requesting coach when that coach is already an active participant in the direct or group conversation. - [Update conversation message](https://docs.fitsociety.io/api-reference/conversations/update-conversation-message.md): Requires `conversation_messages:write`. Updates a text message sent by the requesting coach within the existing chat edit window. - [Delete conversation message](https://docs.fitsociety.io/api-reference/conversations/delete-conversation-message.md): Requires `conversation_messages:write`. Soft-deletes a message sent by the requesting coach within the existing chat edit window. - [List conversation participants](https://docs.fitsociety.io/api-reference/conversations/list-conversation-participants.md): Requires `conversations:read`. Returns active direct or group conversation participants. - [Add conversation participants](https://docs.fitsociety.io/api-reference/conversations/add-conversation-participants.md): Requires `conversation_participants:write`. Adds or restores participants in a group conversation. The actor coach must match the requesting coach and be an active coach participant. - [Remove conversation participant](https://docs.fitsociety.io/api-reference/conversations/remove-conversation-participant.md): Requires `conversation_participants:write`. Removes one participant from a group conversation. The actor coach must match the requesting coach and be an active coach participant. - [List export types](https://docs.fitsociety.io/api-reference/exports/list-export-types.md): Requires `exports:read`. Returns the async export types available for the authenticated company. Legacy direct XLSX endpoints and coach export templates are not exposed. - [List export requests](https://docs.fitsociety.io/api-reference/exports/list-export-requests.md): Requires `exports:read`. Lists only export requests created by the authenticated Public API client. - [Create an export request](https://docs.fitsociety.io/api-reference/exports/create-an-export-request.md): Requires `exports:write`. Queues an async export using the same company export handlers as the software. Use `options.format: "csv"` when the selected export type lists CSV in `formats`; multi-sheet CSV exports are returned as a ZIP containing one CSV per sheet. Use `exports:read` to poll status and… - [Get an export request](https://docs.fitsociety.io/api-reference/exports/get-an-export-request.md): Requires `exports:read`. Returns one export request created by the authenticated Public API client, including a signed temporary download URL once the export is completed. - [Cancel an export request](https://docs.fitsociety.io/api-reference/exports/cancel-an-export-request.md): Requires `exports:write`. Cancels a queued or running export request created by the authenticated Public API client. Empty request bodies are accepted. - [Retry an export request](https://docs.fitsociety.io/api-reference/exports/retry-an-export-request.md): Requires `exports:write`. Queues a new export request with the same params and options as a failed, canceled, expired, or completed request created by the authenticated Public API client. Empty request bodies are accepted. - [Delete an export request](https://docs.fitsociety.io/api-reference/exports/delete-an-export-request.md): Requires `exports:write`. Marks a completed, failed, canceled, or expired export request as deleted and removes its public file URL. Running requests must be canceled first. - [List webhook subscriptions](https://docs.fitsociety.io/api-reference/webhooks/list-webhook-subscriptions.md): Requires `webhooks:read`. Lists outbound webhook subscriptions for the authenticated company. This is a Public API management endpoint, not a provider webhook receiver. - [Create a webhook subscription](https://docs.fitsociety.io/api-reference/webhooks/create-a-webhook-subscription.md): Requires `webhooks:write`. Creates an outbound webhook subscription for a public HTTPS target URL. The response includes `signingSecret` exactly once; store it securely because later reads only expose secret metadata. - [Get a webhook subscription](https://docs.fitsociety.io/api-reference/webhooks/get-a-webhook-subscription.md): Requires `webhooks:read`. Returns one outbound webhook subscription for the authenticated company without exposing the signing secret. - [Update a webhook subscription](https://docs.fitsociety.io/api-reference/webhooks/update-a-webhook-subscription.md): Requires `webhooks:write`. Updates the subscription name, status, target URL, or event list. Target URLs must be public HTTPS URLs. - [Delete a webhook subscription](https://docs.fitsociety.io/api-reference/webhooks/delete-a-webhook-subscription.md): Requires `webhooks:write`. Soft-deletes the subscription so future outbound events no longer target it. - [Send a test webhook event](https://docs.fitsociety.io/api-reference/webhooks/send-a-test-webhook-event.md): Requires `webhooks:write`. Queues a `subscription.test` event for the subscription target and returns the created event and delivery ids. - [List webhook deliveries](https://docs.fitsociety.io/api-reference/webhooks/list-webhook-deliveries.md): Requires `webhook_deliveries:read`. Lists outbound webhook delivery attempts for the authenticated company. Filter by `subscriptionId` to inspect one subscription. - [Get a webhook delivery](https://docs.fitsociety.io/api-reference/webhooks/get-a-webhook-delivery.md): Requires `webhook_deliveries:read`. Returns delivery status, retry metadata, response status, redacted response preview, and error summary. - [FITsociety MCP](https://docs.fitsociety.io/mcp/overview.md): Connect AI assistants to FITsociety company tools. - [Setup for Coaches](https://docs.fitsociety.io/mcp/setup-for-coaches.md): How a Manager or Admin coach configures FITsociety MCP access. - [Agent Setup](https://docs.fitsociety.io/mcp/agent-setup.md): Let an AI agent configure itself for FITsociety MCP. - [Agent Setup Prompt](https://docs.fitsociety.io/mcp/agent-setup-prompt.md): Markdown instructions for AI agents connecting to FITsociety MCP. - [Claude](https://docs.fitsociety.io/mcp/connect-claude.md): Use Claude with FITsociety MCP as a custom connector. - [ChatGPT](https://docs.fitsociety.io/mcp/connect-chatgpt.md): Use ChatGPT with FITsociety MCP as a custom app or connector. - [Cursor](https://docs.fitsociety.io/mcp/connect-cursor.md): Use Cursor with the FITsociety MCP server. - [Codex](https://docs.fitsociety.io/mcp/connect-codex.md): Use OpenAI Codex with the FITsociety MCP server. - [Gemini](https://docs.fitsociety.io/mcp/connect-gemini.md): Use Gemini CLI or Gemini Code Assist with FITsociety MCP. - [Connection & Protocol](https://docs.fitsociety.io/mcp/connection.md): Connect to the hardened FITsociety MCP transport and negotiate a supported protocol version. - [Authentication & OAuth](https://docs.fitsociety.io/mcp/authentication.md): Configure static keys or set up the OAuth 2.1 authorization code flow. - [Grants & Permissions](https://docs.fitsociety.io/mcp/grants-and-permissions.md): Understand permission filters, GDPR compliance, consent, and audit logs. - [Client AI Access](https://docs.fitsociety.io/mcp/client-ai-access.md): How client-approved MCP grants differ from company and coach grants. - [Security & Privacy](https://docs.fitsociety.io/mcp/security-and-privacy.md): Business-readable security model for FITsociety MCP. - [Tools & Modules Registry](https://docs.fitsociety.io/mcp/tools.md): Current FITsociety MCP module and write-tool registry. - [Clients](https://docs.fitsociety.io/mcp/tools/clients.md): Reference for managing and searching company clients. - [Wishlist](https://docs.fitsociety.io/mcp/tools/wishlist.md): Request API and MCP capabilities and vote with aggregate-only results. - [Calendar Events](https://docs.fitsociety.io/mcp/tools/calendar-events.md): Reference for managing scheduled calendar occurrences. - [Bookings](https://docs.fitsociety.io/mcp/tools/bookings.md): Reference for managing client session bookings and attendance. - [Subscriptions](https://docs.fitsociety.io/mcp/tools/subscriptions.md): Reference for client memberships and available subscription products. - [Credits](https://docs.fitsociety.io/mcp/tools/credits.md): Reference for managing client prepaid session credits. - [Invoices](https://docs.fitsociety.io/mcp/tools/invoices.md): Reference for viewing and summarizing company invoices. - [Recurring Bookings](https://docs.fitsociety.io/mcp/tools/recurring-bookings.md): Reference for managing repeating client booking schedules. - [Event Templates](https://docs.fitsociety.io/mcp/tools/event-templates.md): Reference for viewing calendar event templates. - [Calendar Tasks](https://docs.fitsociety.io/mcp/tools/calendar-tasks.md): Reference for managing coach and client checklist tasks. - [Measurements](https://docs.fitsociety.io/mcp/tools/measurements.md): Reference for managing client body measurements. - [Intake](https://docs.fitsociety.io/mcp/tools/intake.md): Reference for viewing client intake questionnaires and daily summaries. - [Checkups](https://docs.fitsociety.io/mcp/tools/checkups.md): Reference for managing client check-up review sheets. - [Habits](https://docs.fitsociety.io/mcp/tools/habits.md): Reference for standard habit templates, assigned client habits, and habit check-ins. - [Goals](https://docs.fitsociety.io/mcp/tools/goals.md): Reference for managing client personal targets and goals. - [Client Notes](https://docs.fitsociety.io/mcp/tools/client-notes.md): Reference for viewing and writing progressive coach notes. - [Documents](https://docs.fitsociety.io/mcp/tools/documents.md): Reference for viewing folders and document uploads. - [Conversations](https://docs.fitsociety.io/mcp/tools/conversations.md): Reference for reading and managing direct and group chat conversations through MCP. - [Nutrition Catalog](https://docs.fitsociety.io/mcp/tools/nutrition-catalog.md): Reference for searching foods, supplements, ingredients, and recipes. - [Nutrition Plans](https://docs.fitsociety.io/mcp/tools/nutrition-plans.md): Reference for managing client nutritional plan blueprints. - [Nutrition Logs](https://docs.fitsociety.io/mcp/tools/nutrition-logs.md): Reference for viewing client daily food logs. - [Training](https://docs.fitsociety.io/mcp/tools/workout.md): Company MCP reference for training plans, exercises, sessions, performance, presets, and equipment. - [Workout of the Day](https://docs.fitsociety.io/mcp/tools/wod.md): Company MCP reference for WOD schedules, publishing, settings, and verified leaderboards. - [Client AI Account](https://docs.fitsociety.io/mcp/tools/client-ai-account.md): Reference for a connected client's own subscriptions, invoices, and credits. - [Client AI Bookings](https://docs.fitsociety.io/mcp/tools/client-ai-bookings.md): Reference for a connected client browsing events and managing their own bookings. - [Client AI Checkups](https://docs.fitsociety.io/mcp/tools/client-ai-checkups.md): Reference for a connected client reviewing and submitting their own checkups. - [Client AI Documents](https://docs.fitsociety.io/mcp/tools/client-ai-documents.md): Reference for a connected client listing and downloading their own documents. - [Client AI Goals](https://docs.fitsociety.io/mcp/tools/client-ai-goals.md): Reference for a connected client reading and updating their own goals. - [Client AI Habits](https://docs.fitsociety.io/mcp/tools/client-ai-habits.md): Reference for a connected client tracking and checking in their own habits. - [Client AI Measurements](https://docs.fitsociety.io/mcp/tools/client-ai-measurements.md): Reference for a connected client reading and logging their own body measurements. - [Client AI Messages](https://docs.fitsociety.io/mcp/tools/client-ai-messages.md): Reference for a connected client reading their chats and messaging their coach. - [Client AI Nutrition](https://docs.fitsociety.io/mcp/tools/client-ai-nutrition.md): Reference for a connected client reviewing nutrition logs and logging food. - [Client AI WOD](https://docs.fitsociety.io/mcp/tools/client-ai-wod.md): Reference for a connected client viewing, starting, and completing Workouts of the Day. - [Client AI Training](https://docs.fitsociety.io/mcp/tools/client-ai-workout.md): Reference for a connected client following assigned training plans and logging sessions. - [Client Follow-up](https://docs.fitsociety.io/mcp/workflows/client-follow-up.md): Use FITsociety MCP to prepare a coach follow-up for a client. - [Booking Adherence](https://docs.fitsociety.io/mcp/workflows/booking-adherence.md): Use FITsociety MCP to review client attendance and booking consistency. - [Invoice Review](https://docs.fitsociety.io/mcp/workflows/invoice-review.md): Use FITsociety MCP to inspect invoices and summarize payment status. - [Nutrition Check-in](https://docs.fitsociety.io/mcp/workflows/nutrition-checkin.md): Use FITsociety MCP to review nutrition plans, logs, foods, and recipes. - [API Structure](https://docs.fitsociety.io/mcp/api-structure.md): How FITsociety MCP is structured across company/coach and client AI access. - [Examples & Payload Reference](https://docs.fitsociety.io/mcp/examples.md): JSON-RPC request examples, protocol payloads, and assistant prompt templates. - [Troubleshooting & Errors](https://docs.fitsociety.io/mcp/troubleshooting.md): Diagnose common integration issues and understand FITsociety MCP error codes. - [Changelog](https://docs.fitsociety.io/changelog.md): Externally relevant changes to FITsociety developer API documentation and contracts. ## OpenAPI Specs - [public-v1](/openapi/public-v1.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.