Mindbody · Controlled Vocabulary

Mindbody Vocabulary

Unified vocabulary for the Mindbody developer surface. Captures both the operational dimension (148 Public API v6 REST operations plus the Webhooks API control plane) and the capability dimension (13 self-contained Naftiko capabilities exposing REST and MCP adapters). The vocabulary maps fitness-and-wellness business resources — sites, locations, classes, appointments, clients, staff, sales, and payroll — to the operations and workflows that act on them.

23 Terms 3 Groups Updated 2026-05-28
View Vocabulary File View on GitHub

Mindbody Vocabulary is a controlled vocabulary published by Mindbody on the APIs.io network, defining 23 terms.

The terms are organized into 3 groups — apis, resources, and actions.

Defined terms include Mindbody Public API v6, Mindbody Webhooks API, Appointment, Class, and Client.

A controlled vocabulary pins the words an API’s schemas, parameters and documentation use to one agreed definition each — the shared language a human or an agent needs to read the API the same way its authors do.

Term Groups

apis 2 resources 13 actions 8

Terms

Mindbody Public API v6
Mindbody Webhooks API
Appointment
One-on-one staff appointments — bookings, availability, add-ons, schedule items.
Class
Group classes — schedules, descriptions, visits, bookings, waitlists, substitutes.
Client
Member/client records — profiles, contracts, services, contact logs, formula notes, payments.
Cross Site
Discover the sites a client account is associated with across Mindbody's network.
Enrollment
Course/workshop enrollments — schedules, rosters, client placements.
Payroll
Staff payroll detail — class pay, time clock, commissions.
Pick A Spot
Class spot/seat assignment for reservation flows.
Sale
Point-of-sale — products, services, contracts, gift cards, custom payments, returns.
Site
Studio/business metadata — locations, programs, session types, resources, sites, products.
Staff
Staff/instructor records — schedules, availability, permissions, photos.
User Token
Staff and client OAuth bearer tokens for delegated calls.
Subscription
Webhook event subscription lifecycle — register, activate, deactivate, rotate.
Metric
Delivery telemetry — attempted, delivered, undelivered, failed messages per subscription.
list
Return a paginated collection of resources filtered by request parameters.
get
Retrieve a single resource or detail view.
add
Create a new resource. Mindbody often uses POST /addXxx style verbs in path.
update
Mutate an existing resource. Public API v6 prefers POST /updateXxx; Webhooks API uses PATCH.
delete
Remove or cancel a resource.
send
Send a contact log, password reset, or test webhook.
validate
Validate input or token without mutating state.
checkout
Finalize a sale, applying pricing options and recording payments.

Controlled Vocabulary

Raw ↑
vocabulary: "1.0.0"

info:
  provider: Mindbody
  description: >-
    Unified vocabulary for the Mindbody developer surface. Captures both the
    operational dimension (148 Public API v6 REST operations plus the
    Webhooks API control plane) and the capability dimension (13 self-contained
    Naftiko capabilities exposing REST and MCP adapters). The vocabulary maps
    fitness-and-wellness business resources — sites, locations, classes,
    appointments, clients, staff, sales, and payroll — to the operations and
    workflows that act on them.
  created: "2026-05-28"
  modified: "2026-05-28"

# OPERATIONAL DIMENSION (from OpenAPI)
operational:
  apis:
    - name: Mindbody Public API v6
      namespace: public-api-v6
      version: "6.0"
      baseUrl: https://api.mindbodyonline.com
      status: active
    - name: Mindbody Webhooks API
      namespace: webhooks-api
      version: "1.0"
      baseUrl: https://push-api.mindbodyonline.com
      status: active

  resources:
    - name: Appointment
      api: public-api-v6
      actions: [list, get, add, update, delete]
      description: One-on-one staff appointments — bookings, availability, add-ons, schedule items.
    - name: Class
      api: public-api-v6
      actions: [list, get, add, update, remove, cancel]
      description: Group classes — schedules, descriptions, visits, bookings, waitlists, substitutes.
    - name: Client
      api: public-api-v6
      actions: [list, get, add, update, search, send, validate, return, upsert]
      description: Member/client records — profiles, contracts, services, contact logs, formula notes, payments.
    - name: Cross Site
      api: public-api-v6
      actions: [get]
      description: Discover the sites a client account is associated with across Mindbody's network.
    - name: Enrollment
      api: public-api-v6
      actions: [list, get, add, update]
      description: Course/workshop enrollments — schedules, rosters, client placements.
    - name: Payroll
      api: public-api-v6
      actions: [list, get]
      description: Staff payroll detail — class pay, time clock, commissions.
    - name: Pick A Spot
      api: public-api-v6
      actions: [list, get, add, update, remove]
      description: Class spot/seat assignment for reservation flows.
    - name: Sale
      api: public-api-v6
      actions: [list, get, add, update, checkout, return, void, validate]
      description: Point-of-sale — products, services, contracts, gift cards, custom payments, returns.
    - name: Site
      api: public-api-v6
      actions: [list, get, update]
      description: Studio/business metadata — locations, programs, session types, resources, sites, products.
    - name: Staff
      api: public-api-v6
      actions: [list, get, add, update, delete]
      description: Staff/instructor records — schedules, availability, permissions, photos.
    - name: User Token
      api: public-api-v6
      actions: [issue, validate, remove]
      description: Staff and client OAuth bearer tokens for delegated calls.
    - name: Subscription
      api: webhooks-api
      actions: [list, get, add, update, delete]
      description: Webhook event subscription lifecycle — register, activate, deactivate, rotate.
    - name: Metric
      api: webhooks-api
      actions: [get]
      description: Delivery telemetry — attempted, delivered, undelivered, failed messages per subscription.

  actions:
    - name: list
      pattern: read
      httpMethods: [GET]
      description: Return a paginated collection of resources filtered by request parameters.
    - name: get
      pattern: read
      httpMethods: [GET]
      description: Retrieve a single resource or detail view.
    - name: add
      pattern: write
      httpMethods: [POST]
      description: Create a new resource. Mindbody often uses POST /addXxx style verbs in path.
    - name: update
      pattern: write
      httpMethods: [POST, PUT, PATCH]
      description: Mutate an existing resource. Public API v6 prefers POST /updateXxx; Webhooks API uses PATCH.
    - name: delete
      pattern: destructive
      httpMethods: [DELETE]
      description: Remove or cancel a resource.
    - name: send
      pattern: write
      httpMethods: [POST]
      description: Send a contact log, password reset, or test webhook.
    - name: validate
      pattern: read
      httpMethods: [POST]
      description: Validate input or token without mutating state.
    - name: checkout
      pattern: write
      httpMethods: [POST]
      description: Finalize a sale, applying pricing options and recording payments.

  schemas:
    core:
      - Client
      - Site
      - Location
      - Staff
      - Appointment
      - Class
      - ClassSchedule
      - Sale
      - PurchasedItem
      - PaymentMethod
      - Resource
      - Program
      - SessionType
    membership:
      - ClientMembership
      - Contract
      - Service
      - PricingOption
      - GiftCard
    scheduling:
      - ClassDescription
      - Availability
      - ScheduleItem
      - StaffAppointment
      - BookableItem
      - WaitlistEntry
    pos:
      - SaleItem
      - SalePayment
      - CustomPaymentMethod
      - Product
      - ReturnSale
    webhooks:
      - SubscriptionPostRequest
      - SubscriptionPostResponse
      - SubscriptionPatchRequest
      - GetMetricsResponse

  parameters:
    pagination:
      - request.limit
      - request.offset
    identifiers:
      - SiteId
      - ClientId
      - StaffId
      - LocationId
      - AppointmentId
      - ClassId
      - SessionTypeId
    filters:
      - request.startDate
      - request.endDate
      - request.startTime
      - request.endTime
      - request.clientIds
      - request.staffIds
      - request.sessionTypeIds
      - request.scheduleType

  enums:
    schedule:
      - ScheduleType: [Appointment, Class, Enrollment, OnlineStore]
    sale:
      - PaymentMethodType: [Cash, Check, CreditCard, GiftCard, Account, CustomPayment]
    appointment:
      - AppointmentStatus: [Scheduled, Completed, Cancelled, NoShow, LateCancel]
    class:
      - BookingStatus: [Booked, Waitlisted, Confirmed, Cancelled, LateCancelled, NoShow]
    client:
      - GenderEnum: [Male, Female, NonBinary, PreferNotToSay]
      - ActionEnum: [Added, Updated, Failed, Removed]

  authentication:
    - scheme: ApiKeyAuth
      type: apiKey
      header: API-Key
      apis: [public-api-v6, webhooks-api]
      description: Mindbody-issued back-end API key required on every request.
    - scheme: OAuth2
      type: oauth2
      flow: authorizationCode
      authorizationUrl: https://signin.mindbodyonline.com/connect/authorize
      tokenUrl: https://signin.mindbodyonline.com/connect/token
      scopes:
        - openid
        - profile
        - email
        - offline_access
        - Mindbody.Api.Public.v6
      apis: [public-api-v6]
      description: OpenID Connect bearer token for endpoints that act on behalf of staff/client users.
    - scheme: SiteIdHeader
      type: custom
      header: SiteId
      apis: [public-api-v6]
      description: Studio/business identifier accompanying every Public API request.

# CAPABILITY DIMENSION (from Naftiko)
capability:
  workflows:
    - name: Appointment
      file: capabilities/public-api-v6-appointment.yaml
      api: public-api-v6
      tools: 17
      personas: [Studio Front Desk, Booking Bot]
      domains: [Scheduling, Wellness]
    - name: Class
      file: capabilities/public-api-v6-class.yaml
      api: public-api-v6
      tools: 16
      personas: [Studio Front Desk, Class Manager, Member]
      domains: [Scheduling, Fitness]
    - name: Client
      file: capabilities/public-api-v6-client.yaml
      api: public-api-v6
      tools: 42
      personas: [CRM Operator, Front Desk, Marketing Automation]
      domains: [Client Management, Membership]
    - name: Cross Site
      file: capabilities/public-api-v6-cross-site.yaml
      api: public-api-v6
      tools: 1
      personas: [Network Admin]
      domains: [Identity]
    - name: Enrollment
      file: capabilities/public-api-v6-enrollment.yaml
      api: public-api-v6
      tools: 4
      personas: [Course Coordinator]
      domains: [Programs]
    - name: Payroll
      file: capabilities/public-api-v6-payroll.yaml
      api: public-api-v6
      tools: 4
      personas: [Studio Owner, Finance]
      domains: [Operations, Finance]
    - name: Pick A Spot
      file: capabilities/public-api-v6-pick-a-spot.yaml
      api: public-api-v6
      tools: 6
      personas: [Studio Front Desk, Member]
      domains: [Scheduling]
    - name: Sale
      file: capabilities/public-api-v6-sale.yaml
      api: public-api-v6
      tools: 25
      personas: [POS Cashier, Membership Sales, Finance]
      domains: [Commerce, Membership]
    - name: Site
      file: capabilities/public-api-v6-site.yaml
      api: public-api-v6
      tools: 20
      personas: [Site Admin, Integration Engineer]
      domains: [Configuration]
    - name: Staff
      file: capabilities/public-api-v6-staff.yaml
      api: public-api-v6
      tools: 10
      personas: [Studio Owner, HR]
      domains: [People]
    - name: User Token
      file: capabilities/public-api-v6-user-token.yaml
      api: public-api-v6
      tools: 3
      personas: [Integration Engineer]
      domains: [Identity]
    - name: Subscriptions
      file: capabilities/webhooks-api-subscriptions.yaml
      api: webhooks-api
      tools: 5
      personas: [Integration Engineer, Platform Operator]
      domains: [Eventing]
    - name: Metrics
      file: capabilities/webhooks-api-metrics.yaml
      api: webhooks-api
      tools: 1
      personas: [Platform Operator]
      domains: [Eventing, Observability]

  personas:
    - id: studio-front-desk
      name: Studio Front Desk
      description: Front-of-house staff booking appointments and classes, taking payments, checking in members.
      workflows: [Appointment, Class, Pick A Spot, Client]
    - id: studio-owner
      name: Studio Owner
      description: Operator monitoring revenue, staff payroll, and site configuration.
      workflows: [Payroll, Staff, Site, Sale]
    - id: pos-cashier
      name: POS Cashier
      description: Rings up retail and membership sales, applies pricing options, handles returns.
      workflows: [Sale, Client]
    - id: integration-engineer
      name: Integration Engineer
      description: Builds partner integrations using API keys, OAuth, and webhook subscriptions.
      workflows: [User Token, Subscriptions, Site]
    - id: marketing-automation
      name: Marketing Automation
      description: Syncs client data and sales events into CRM/marketing tooling.
      workflows: [Client, Sale, Subscriptions]
    - id: course-coordinator
      name: Course Coordinator
      description: Manages workshop/course enrollment schedules and rosters.
      workflows: [Enrollment]
    - id: platform-operator
      name: Platform Operator
      description: Monitors webhook delivery health and platform-level metrics.
      workflows: [Subscriptions, Metrics]

  domains:
    - name: Scheduling
      description: Booking surfaces — appointments, classes, enrollments, spot reservations.
    - name: Commerce
      description: Point-of-sale, contracts, gift cards, returns.
    - name: Membership
      description: Client memberships, services, pricing options.
    - name: Client Management
      description: Client records, contact logs, formula notes, communications preferences.
    - name: People
      description: Staff records and permissions.
    - name: Configuration
      description: Site/location/program/session-type metadata.
    - name: Identity
      description: Cross-site lookup and OAuth token management.
    - name: Eventing
      description: Webhook subscription lifecycle and delivery observability.
    - name: Finance
      description: Payroll and sales reporting surfaces.
    - name: Observability
      description: Delivery metrics and platform health.

  namespaces:
    - consumed: public-api-v6-appointment
      restExposed: public-api-v6-appointment-rest
      mcpExposed: public-api-v6-appointment-mcp
      ports: { rest: 8080, mcp: 9090 }
    - consumed: public-api-v6-client
      restExposed: public-api-v6-client-rest
      mcpExposed: public-api-v6-client-mcp
      ports: { rest: 8080, mcp: 9090 }
    - consumed: public-api-v6-sale
      restExposed: public-api-v6-sale-rest
      mcpExposed: public-api-v6-sale-mcp
      ports: { rest: 8080, mcp: 9090 }
    - consumed: webhooks-api-subscriptions
      restExposed: webhooks-api-subscriptions-rest
      mcpExposed: webhooks-api-subscriptions-mcp
      ports: { rest: 8080, mcp: 9090 }

  binds:
    - var: MINDBODY_API_KEY
      description: Mindbody-issued back-end API key for the Public API.
      workflows: [Appointment, Class, Client, Cross Site, Enrollment, Payroll, Pick A Spot, Sale, Site, Staff, User Token]
    - var: MINDBODY_WEBHOOKS_API_KEY
      description: Webhooks-specific API key issued via the Mindbody Webhooks Developer Portal.
      workflows: [Subscriptions, Metrics]

# CROSS-REFERENCE
crossReference:
  - resource: Client
    operations:
      - getClients
      - addClient
      - updateClient
      - getClientContracts
      - getClientServices
    workflows: [Client]
    personas: [Studio Front Desk, CRM Operator, Marketing Automation]
  - resource: Appointment
    operations:
      - getStaffAppointments
      - getBookableItems
      - addAppointment
      - updateAppointment
    workflows: [Appointment]
    personas: [Studio Front Desk, Booking Bot]
  - resource: Class
    operations:
      - getClasses
      - getClassDescriptions
      - addClientToClass
      - removeClientFromClass
    workflows: [Class]
    personas: [Studio Front Desk, Class Manager, Member]
  - resource: Sale
    operations:
      - checkoutShoppingCart
      - getSales
      - returnSale
      - getServices
    workflows: [Sale]
    personas: [POS Cashier, Finance]
  - resource: Subscription
    operations:
      - createSubscription
      - getSubscriptions
      - patchSubscription
      - deactivateSubscription
    workflows: [Subscriptions]
    personas: [Integration Engineer, Platform Operator]