# FITsociety Developer APIs > Documentation for the FITsociety MCP server and Public API. ## Docs - [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. - [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. - [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. - [Messaging](https://docs.fitsociety.io/public-api/messaging.md): Read sanitized client chat threads and message metadata through the FITsociety 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): Read client habits, habit entries, and public-safe goal summaries through the FITsociety Public API. - [Forms, checkups, intake, and documents](https://docs.fitsociety.io/public-api/forms-documents.md): Assign forms, read submissions, and list document metadata through the FITsociety Public API. - [Reports](https://docs.fitsociety.io/public-api/reports.md): Read aggregate attendance, revenue, and retention summaries 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. - [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. - [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`. - [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): Creates a new client under the company authenticated by the Public API Bearer token. The token must include `clients:write`. Provide an email or set `hasNoEmail=true` to generate a placeholder. - [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`. - [Approve pending client relationship](https://docs.fitsociety.io/api-reference/clients/approve-pending-client-relationship.md): Requires `client_onboarding:write`. Approves a pending company-client relationship and returns a sanitized registration request DTO. - [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. - [List client chats](https://docs.fitsociety.io/api-reference/messaging/list-client-chats.md): Requires `messages:read`. Returns sanitized chat thread DTOs. - [List chat messages](https://docs.fitsociety.io/api-reference/messaging/list-chat-messages.md): Requires `messages:read`. Returns sanitized chat message DTOs without raw media URLs. - [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`. `name` is required and accepts a string or localized object. - [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`. - [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`. `name` and `duration` are required on create. `defaultLocationId` is optional. - [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`. 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 stable public product catalog DTOs only. - [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. 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. - [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. - [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 stable public product catalog DTOs only. - [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. 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. - [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. - [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 stable public product catalog DTOs only. - [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. 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. - [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. - [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 stable public product catalog DTOs only. - [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. 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. - [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. - [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 payments](https://docs.fitsociety.io/api-reference/finance/list-payments.md): Requires `finance_payments:read`. Returns payment metadata without raw provider payloads. - [Get payment](https://docs.fitsociety.io/api-reference/finance/get-payment.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 masked bank account status](https://docs.fitsociety.io/api-reference/finance/list-masked-bank-account-status.md): Requires `finance_payment_methods:read`. Returns masked IBAN status only; raw IBAN, BIC, mandate IDs, and provider customer identifiers are never returned. - [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. - [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 client credits](https://docs.fitsociety.io/api-reference/finance/list-client-credits.md): Requires `finance_credits:read`. - [List credit mutations](https://docs.fitsociety.io/api-reference/finance/list-credit-mutations.md): Requires `finance_credits:read`. Optional date range capped at 366 days. - [Adjust client credits](https://docs.fitsociety.io/api-reference/finance/adjust-client-credits.md): Requires `finance_credits:write`. - [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 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 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. - [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 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. - [Get client goals](https://docs.fitsociety.io/api-reference/goals/get-client-goals.md): Requires `goals:read`. Nutrition, medical, medication, allergy, injury, macro, and raw objective fields are omitted. - [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, and sleep goal fields. - [List forms](https://docs.fitsociety.io/api-reference/forms/list-forms.md): Requires `forms:read`. Returns metadata only. - [Get sanitized form detail](https://docs.fitsociety.io/api-reference/forms/get-sanitized-form-detail.md): Requires `forms:read`. Returns form sections and questions, but excludes objectives, medical/nutrition blocks, media URLs, AI metadata, and raw model fields. - [Assign intake form](https://docs.fitsociety.io/api-reference/forms/assign-intake-form.md): Requires `form_assignments:write`. - [Get current intake assignment](https://docs.fitsociety.io/api-reference/forms/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/forms/get-latest-intake-submission.md): Requires `intakes:read`. Media answers are redacted. - [List assigned checkups](https://docs.fitsociety.io/api-reference/forms/list-assigned-checkups.md): Requires `checkups:read`. - [Assign checkup](https://docs.fitsociety.io/api-reference/forms/assign-checkup.md): Requires `checkups:write`. Reminder body mutation is not exposed. - [List checkup submissions](https://docs.fitsociety.io/api-reference/forms/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/forms/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/forms/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 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. - [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. - [API Structure](https://docs.fitsociety.io/mcp/api-structure.md): How FITsociety MCP is structured across company/coach and client AI access. - [Client AI Access](https://docs.fitsociety.io/mcp/client-ai-access.md): How client-approved MCP grants differ from company and coach grants. - [Grants & Permissions](https://docs.fitsociety.io/mcp/grants-and-permissions.md): Understand permission filters, GDPR compliance, consent, and audit logs. - [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. - [Codex](https://docs.fitsociety.io/mcp/connect-codex.md): Use OpenAI Codex with the FITsociety MCP server. - [ChatGPT](https://docs.fitsociety.io/mcp/connect-chatgpt.md): Use ChatGPT with FITsociety MCP as a custom app or connector. - [Claude](https://docs.fitsociety.io/mcp/connect-claude.md): Use Claude with FITsociety MCP as a custom connector. - [Cursor](https://docs.fitsociety.io/mcp/connect-cursor.md): Use Cursor with the FITsociety MCP server. - [Gemini](https://docs.fitsociety.io/mcp/connect-gemini.md): Use Gemini CLI or Gemini Code Assist with 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. - [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 managing client daily habits and tracking compliance. - [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. - [Chats](https://docs.fitsociety.io/mcp/tools/chats.md): Reference for viewing active conversations and chat message history. - [Nutrition Catalog](https://docs.fitsociety.io/mcp/tools/nutrition-catalog.md): Reference for searching foods, 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. - [Workout V2](https://docs.fitsociety.io/mcp/tools/workout-v2.md): Company MCP reference for workout 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 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. - [Security & Privacy](https://docs.fitsociety.io/mcp/security-and-privacy.md): Business-readable security model for FITsociety MCP. - [Setup for Coaches](https://docs.fitsociety.io/mcp/setup-for-coaches.md): How a Manager or Admin coach configures FITsociety MCP 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](https://docs.fitsociety.io/openapi/public-v1.json)