---
canonical_url: "https://docs.composio.dev/toolkits/mindbody"
markdown_url: "https://docs.composio.dev/toolkits/mindbody.md"
product: "platform"
version: null
last_updated: null
---

# Mindbody

Mindbody provides scheduling, client management, commerce, and business operations software for fitness, wellness, and beauty businesses.

- **Category:** fitness
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 18
- **Triggers:** 0
- **Slug:** `MINDBODY`
- **Version:** 20261006_00

## Tools

### Add Client to Class

**Slug:** `MINDBODY_ADD_CLIENT_TO_CLASS`

Validate or book a client into a class or waitlist. Check MINDBODY_LIST_CLASSES first. Defaults validate only, send no email, and require no payment; a real booking returns the visit ID needed for exact removal.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test` | boolean | No | Defaults true to validate without booking. Set false to commit; a validation-only response does not contain a usable visit ID. |
| `class_id` | integer | Yes | Scheduled class ID verified as available and within its booking window using MINDBODY_LIST_CLASSES. |
| `waitlist` | boolean | No | When true, add the client to the waitlist instead of the class roster. |
| `client_id` | string | Yes | Existing client RSSID. |
| `send_email` | boolean | No | When true, request a booking email. API-key-only calls send no email regardless; defaults false. |
| `require_payment` | boolean | No | When true, require a usable purchased pricing option. Defaults false to avoid unintended payment requirements. |
| `client_service_id` | integer | No | Purchased pricing-option ID to use when payment is required. |
| `waitlist_entry_id` | integer | No | Existing waitlist entry ID when moving a known waitlist entry. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Client

**Slug:** `MINDBODY_CREATE_CLIENT`

Create one Mindbody client, or reactivate a matching inactive client when reactivate_inactive_client=true. Uses typed standard, emergency-contact, location, and custom-field inputs. Site settings can require otherwise optional fields; AddClient has no dry-run, and PartialSuccess means the client already exists, so never retry the whole request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Client email; first name, last name, and email participate in duplicate detection. |
| `gender` | string | No | Active site-configured gender option. Mindbody rejects unsupported values unless the authenticated caller may create one. |
| `address` | object | No | Typed primary postal address fields to store on the client. |
| `last_name` | string | Yes | Client last name. |
| `birth_date` | string | No | Client birth date. Site settings may require it; sandbox site -99 required it during live probing. |
| `first_name` | string | Yes | Client first name. |
| `home_phone` | string | No | Client home phone number. |
| `referred_by` | string | No | Site-configured lead channel name from MINDBODY_LIST_ACCESSIBLE_SITES with include_lead_channels=true. Some sites require this value. |
| `mobile_phone` | string | No | Client mobile phone number. |
| `custom_fields` | array | No | Site-configured custom client values as typed ID and value records. |
| `home_location_id` | integer | No | Home location ID from MINDBODY_LIST_LOCATIONS. Omit to use the site's default location. |
| `emergency_contact` | object | No | Complete emergency contact. Supply all four values when site requirements include EmergContact. |
| `reactivate_inactive_client` | boolean | No | When true, allow Mindbody to reactivate a matching inactive client. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Clients

**Slug:** `MINDBODY_FIND_CLIENTS`

Look up privacy-shaped clients by 1-20 exact known client RSSIDs using API Key and Site ID. This action cannot search for or discover unknown clients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum clients to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `client_ids` | array | Yes | Look up 1-20 exact known Mindbody client RSSIDs using API Key and Site ID. This action does not search or discover unknown clients. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Appointment Availability

**Slug:** `MINDBODY_GET_APPOINTMENT_AVAILABILITY`

Return actual BookableItems availability ranges for appointment session types. These are continuous staff windows, not guaranteed start times; intersect them with MINDBODY_LIST_ACTIVE_SESSION_TIMES before booking.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum availability ranges in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `end_date` | string | Yes | Last site-local date to search. Keep the range narrow because broad requests are slower and less reliable. |
| `staff_ids` | array | No | Only return ranges for these IDs from MINDBODY_LIST_STAFF; omit for all eligible staff. |
| `start_date` | string | Yes | First site-local date to search. Single-day YYYY-MM-DD boundaries are the live-verified shape. |
| `next_cursor` | string | No | Opaque continuation cursor from a previous call. Omit for the first page and pass it back unchanged to fetch the next page. |
| `location_ids` | array | No | Only return ranges at these IDs from MINDBODY_LIST_LOCATIONS. |
| `appointment_id` | integer | No | Existing appointment ID to exclude while finding replacement availability for a reschedule. |
| `session_type_ids` | array | Yes | Appointment session type IDs from MINDBODY_LIST_SESSION_TYPES. Use a narrow set for predictable results. |
| `ignore_default_session_length` | boolean | No | When true, do not restrict ranges using the session type's default duration. |
| `include_resource_availability` | boolean | No | When true, include resource availability needed by resource-dependent session types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Client Complete Info

**Slug:** `MINDBODY_GET_CLIENT_COMPLETE_INFO`

Retrieve a complete Mindbody client profile by known client RSSID, including requested services, contracts, memberships, and arrival programs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | No | Include pricing options purchased on or before this date and time. |
| `client_id` | string | Yes | Known Mindbody client RSSID, such as an ID returned by MINDBODY_FIND_CLIENTS or MINDBODY_CREATE_CLIENT. |
| `start_date` | string | No | Include pricing options purchased on or after this date and time. |
| `show_active_only` | boolean | No | Return only active client services. |
| `unique_client_id` | integer | No | Optional numeric unique client ID used by Mindbody in addition to the required RSSID. |
| `use_activate_date` | boolean | No | Apply date filters to activation date instead of purchase date. |
| `required_client_data` | array | No | Related-data sections to include; omit to request all four sections. |
| `cross_regional_lookup` | boolean | No | Search associated sites in the same organization for pricing options. |
| `exclude_inactive_sites` | boolean | No | Exclude inactive associated sites from cross-regional results. |
| `client_associated_sites_offset` | integer | No | Zero-based associated-site offset; valid only when cross_regional_lookup is true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Accessible Sites

**Slug:** `MINDBODY_LIST_ACCESSIBLE_SITES`

List Mindbody sites accessible to the connected API key, or retrieve fuller details by filtering to one site ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum sites to return in this page. Mindbody defaults to 100. |
| `site_ids` | array | No | Site IDs to return. Omit to list every accessible site, or pass one ID to retrieve fuller details for that site. |
| `next_cursor` | string | No | Continuation cursor from a previous call; omit for the first page. |
| `include_lead_channels` | boolean | No | Whether to include lead channels for returned sites. |
| `include_per_staff_pricing` | boolean | No | Whether to include each site's per-staff-pricing setting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Active Session Times

**Slug:** `MINDBODY_LIST_ACTIVE_SESSION_TIMES`

List configured business-hour time slots and booking increments. This does not report actual appointment availability.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum times to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `end_time` | string | No | Only include times at or before this time of day. Mindbody ignores the date component. |
| `start_time` | string | No | Only include times at or after this time of day. Mindbody ignores the date component. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to fetch the next page. |
| `schedule_type` | string ("All" | "Class" | "Enrollment" | "Appointment" | "Resource" | "Media" | "Arrival") | No | Schedule category to inspect. Defaults to All; Mindbody requires either this value or session_type_ids. |
| `session_type_ids` | array | No | Only include slots for these session type IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Appointments

**Slug:** `MINDBODY_LIST_APPOINTMENTS`

List booked staff appointments by client, date, appointment, location, or staff filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum appointments to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `end_date` | string | No | End of the appointment date range as an ISO 8601 date-time; defaults to start_date. |
| `client_id` | string | No | Only return appointments booked for this client RSSID. |
| `staff_ids` | array | No | Only return appointments assigned to these staff IDs. |
| `start_date` | string | No | Start of the appointment date range as an ISO 8601 date-time; defaults to today. |
| `next_cursor` | string | No | Opaque continuation cursor from a previous call. Omit for the first page and pass it back unchanged to fetch the next page. |
| `location_ids` | array | No | Only return appointments at these location IDs. |
| `appointment_ids` | array | No | Only return appointments with these appointment IDs. |
| `use_site_settings_staff_name` | boolean | No | When true, populate each staff DisplayName using the site's staff-name settings; otherwise Mindbody uses FirstName. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Classes

**Slug:** `MINDBODY_LIST_CLASSES`

Search scheduled class instances by date, location, program, session type, instructor, or known class IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum classes to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `class_ids` | array | No | Return these scheduled class instance IDs. |
| `staff_ids` | array | No | Only return classes taught by these staff IDs. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |
| `program_ids` | array | No | Only return classes in these programs. |
| `location_ids` | array | No | Only return classes at these location IDs. |
| `semester_ids` | array | No | Only return classes in these semesters. |
| `end_date_time` | string | No | Latest class date and time to include. Mindbody's class-date filter does not consider the class time. |
| `modified_since` | string | No | Only return classes modified at or after this date and time. |
| `start_date_time` | string | No | Earliest class date and time to include. |
| `session_type_ids` | array | No | Only return classes with these session type IDs. |
| `class_schedule_ids` | array | No | Only return classes from these class schedule IDs. |
| `class_description_ids` | array | No | Only return classes with these class description IDs. |
| `hide_canceled_classes` | boolean | No | When true, omit canceled classes. |
| `within_scheduling_window` | boolean | No | When true, omit classes outside their scheduling window. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Client Purchases

**Slug:** `MINDBODY_LIST_CLIENT_PURCHASES`

List item-level purchases made by a specific Mindbody client within an optional date range. Omitted dates search from now through end of today; set start_date explicitly to retrieve historical purchases.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum purchases to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `sale_id` | integer | No | Return only purchase records associated with this sale ID. |
| `end_date` | string | No | Return purchases made before this date and time; defaults to end of today. |
| `client_id` | string | Yes | Mindbody client RSSID whose purchases should be returned. |
| `start_date` | string | No | Return purchases made on or after this date and time. Mindbody defaults to now, so set this explicitly to retrieve historical purchases. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |
| `unique_client_id` | integer | No | Numeric unique client ID used in addition to the required client RSSID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Client Visits

**Slug:** `MINDBODY_LIST_CLIENT_VISITS`

List a client's class and appointment visit history within an optional date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum visits to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `order` | string ("asc" | "desc") | No | Sort visits oldest first (asc) or newest first (desc). |
| `end_date` | string | No | Latest visit date and time to return; defaults to today's date. |
| `client_id` | string | No | Mindbody client RSSID. Provide this or unique_client_id. |
| `start_date` | string | No | Earliest visit date and time to return; defaults to end_date. |
| `next_cursor` | string | No | Opaque continuation cursor from a previous call. Omit for the first page and pass it back unchanged to continue. |
| `unpaids_only` | boolean | No | When true, return only visits that have not been paid for. |
| `unique_client_id` | integer | No | Numeric unique client ID. Provide this or client_id; when both are provided, Mindbody gives this ID precedence. |
| `cross_regional_lookup` | boolean | No | When true, include past and scheduled visits across the client's region. |
| `client_associated_sites_offset` | integer | No | Number of client-associated sites to skip during the lookup. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Enrollments

**Slug:** `MINDBODY_LIST_ENROLLMENTS`

Search scheduled multi-session enrollments such as workshops and events by date and business resource IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum enrollments to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `end_date` | string | No | Return active enrollments occurring on or before this date. Mindbody defaults to start_date. |
| `staff_ids` | array | No | Only return enrollments taught by these staff members. |
| `start_date` | string | No | Return active enrollments occurring on or after this date. Mindbody defaults to today. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |
| `program_ids` | array | No | Only return enrollments in these programs. |
| `location_ids` | array | No | Only return enrollments at these locations. |
| `session_type_ids` | array | No | Only return enrollments with these session types. |
| `class_schedule_ids` | array | No | Return these enrollment class schedules. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Locations

**Slug:** `MINDBODY_LIST_LOCATIONS`

List physical or online locations configured for the connected Mindbody site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum locations to return in this page. Mindbody defaults to 100; no maximum has been verified. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sales

**Slug:** `MINDBODY_LIST_SALES`

List completed Mindbody sales by date range, sale, or payment method.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum sales to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `sale_id` | integer | No | Only return the sale with this sale ID. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |
| `payment_method_id` | integer | No | Only return sales paid with this Mindbody payment method ID. |
| `end_sale_date_time` | string | No | Return sales completed before this date and time. |
| `start_sale_date_time` | string | No | Return sales completed after this date and time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Session Types

**Slug:** `MINDBODY_LIST_SESSION_TYPES`

List service and session types configured at the connected Mindbody site, including IDs used by schedule and availability searches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum session types to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to fetch the next page. |
| `online_only` | boolean | No | When true, return only session types that can be booked online. |
| `program_ids` | array | No | Only return session types belonging to these program IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Staff

**Slug:** `MINDBODY_LIST_STAFF`

List basic staff directory records available to the connected API key, with optional role, activity, and ID filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum staff records to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `filters` | array | No | Filter by one or more staff categories: StaffViewable, AppointmentInstructor, ClassInstructor, Male, or Female. |
| `staff_ids` | array | No | Only return these staff IDs. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |
| `include_inactive` | boolean | No | When true, include inactive as well as active staff members. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Client From Class

**Slug:** `MINDBODY_REMOVE_CLIENT_FROM_CLASS`

Validate or remove one exact Mindbody class visit. Defaults to validation, early cancellation, and no email. A committed response can be stale, so verify removal separately using the exact VisitId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test` | boolean | No | Defaults true to validate without removing the visit. Set false only when the removal should be committed. |
| `class_id` | integer | Yes | Scheduled class ID containing the exact visit to remove. |
| `visit_id` | integer | Yes | Exact positive VisitId returned by MINDBODY_ADD_CLIENT_TO_CLASS. It is always sent to avoid removing another visit. |
| `client_id` | string | Yes | Client RSSID associated with the exact visit. |
| `send_email` | boolean | No | When true, request a cancellation email. Defaults false; API-key-only calls send no email regardless. |
| `late_cancel` | boolean | No | Defaults false for an early cancellation. Set true only when the business intends a late-cancel outcome. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Products

**Slug:** `MINDBODY_SEARCH_PRODUCTS`

Search the connected site's read-only retail product catalog by text, IDs, categories, location, or online-sale status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum products to return in this page. Mindbody defaults to 100; no provider maximum has been verified. |
| `location_id` | integer | No | Location used to calculate returned product tax. Omit to use the online store. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call. Omit for the first page and pass it back unchanged to continue. |
| `product_ids` | array | No | Filter by product barcode IDs. Values are strings so leading zeros are preserved. |
| `search_text` | string | No | Search products by a text term. |
| `sell_online` | boolean | No | When true, return only products that can be sold online. |
| `category_ids` | array | No | Filter by revenue category IDs. |
| `sub_category_ids` | array | No | Filter by subcategory IDs. |
| `secondary_category_ids` | array | No | Filter by secondary category IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
