openapi: 3.0.3
info:
title: Mindbody Public API v6 Appointment Sale API
version: '6.0'
description: REST API for Mindbody business management data including appointments, classes, clients, enrollments, sales, sites, staff, payroll, and cross-site operations. Authentication combines a Mindbody-issued API-Key header with a SiteId header and optional staff/user OAuth bearer tokens for write operations. Generated from the official Mindbody Public API Python SDK (apimatic v3).
contact:
name: Mindbody API Support
url: https://support.mindbodyonline.com/s/contactapisupport
license:
name: Proprietary
x-generated-from: Mindbody-API-SDKs python SDK
x-last-validated: '2026-05-28'
servers:
- url: https://api.mindbodyonline.com
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Sale
description: Sale operations.
paths:
/public/v6/sale/acceptedcardtypes:
get:
tags:
- Sale
summary: Mindbody Gets a List of Card Types That the Site Accepts. You Can Also Use `GET
description: 'Gets a list of card types that the site accepts. You can also use `GET Sites` to return the Site object, which contains individual accepted card types for requested sites. This endpoint has no query parameters.The response returns a list of strings. Possible values are: * Visa * MasterCard * Discover * AMEX'
operationId: getAcceptedCardTypes
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/alternativepaymentmethods:
get:
tags:
- Sale
summary: Mindbody Get Alternative and Local Payment Methods That Are Allowed for a Site
description: 'Get alternative and local payment methods that are allowed for a site. These payment methods can later be used in `Initiate Checkout Shopping Cart Using Alternative Payments` and `Initiate Purchase Contract Using Alternative Payments` to make the payment. The currently supported alternative payments are: - iDEAL - Apple Pay **Notes:** - This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor. - This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98.'
operationId: getAlternativePaymentMethods
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: false
description: The client ID
schema:
type: string
example: example-value
- name: request.locationId
in: query
required: false
description: 'The location ID Default: **null** (Online store location)'
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetAlternativePaymentMethodsResponse'
examples:
Getalternativepaymentmethods200Example:
summary: Default getAlternativePaymentMethods 200 example
x-microcks-default: true
value:
PaymentMethods:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/contracts:
get:
tags:
- Sale
summary: Mindbody Returns the Contracts and Autopay Options That Are Available on a
description: Returns the contracts and autopay options that are available on a location-by-location basis. Depending on the configurations established by the site, this endpoint returns options that can be used to sign up clients for recurring payments for services offered by the business.
operationId: getContracts
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.locationId
in: query
required: true
description: The ID of the location that has the requested contracts and AutoPay options.
schema:
type: integer
format: int32
example: 123456
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.contractIds
in: query
required: false
description: When included, the response only contains details about the specified contract IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.promoCode
in: query
required: false
description: PromoCode to apply
schema:
type: string
example: example-value
- name: request.soldOnline
in: query
required: false
description: 'When `true`, the response only contains details about contracts and AutoPay options that can be sold online. When `false`, all contracts are returned. Default: **false**'
schema:
type: boolean
example: true
- name: request.uniqueClientId
in: query
required: false
description: The ID of the client.
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractsResponse'
examples:
Getcontracts200Example:
summary: Default getContracts 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Contracts:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/custompaymentmethods:
get:
tags:
- Sale
summary: Mindbody Get Payment Methods That Can Be Used to Pay for Sales at a Site
description: Get payment methods that can be used to pay for sales at a site.
operationId: getCustomPaymentMethods
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetCustomPaymentMethodsResponse'
examples:
Getcustompaymentmethods200Example:
summary: Default getCustomPaymentMethods 200 example
x-microcks-default: true
value:
PaginationResponse: {}
PaymentMethods:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/giftcardbalance:
get:
tags:
- Sale
summary: Mindbody Returns a Gift Card’s Remaining Balance
description: Returns a gift card’s remaining balance.
operationId: getGiftCardBalance
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: barcodeId
in: query
required: false
description: The barcode ID of the gift card for which you want the balance.
schema:
type: string
example: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetGiftCardBalanceResponse'
examples:
Getgiftcardbalance200Example:
summary: Default getGiftCardBalance 200 example
x-microcks-default: true
value:
BarcodeId: example-value
RemainingBalance: 49.99
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/giftcards:
get:
tags:
- Sale
summary: Mindbody Returns Information About Gift Cards That Can Be Purchased
description: Returns information about gift cards that can be purchased.
operationId: getGiftCards
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.ids
in: query
required: false
description: 'Filters the results to the requested gift card IDs.
Default: **all** gift cards.'
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.includeCustomLayouts
in: query
required: false
description: 'When `true`, includes custom gift card layouts.
When `false`, includes only system layouts. Default: **false**'
schema:
type: boolean
example: true
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationId
in: query
required: false
description: When included, returns gift cards that are sold at the provided location ID.
schema:
type: integer
format: int32
example: 123456
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.soldOnline
in: query
required: false
description: 'When `true`, only returns gift cards that are sold online.
Default: **false**'
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetGiftCardResponse'
examples:
Getgiftcards200Example:
summary: Default getGiftCards 200 example
x-microcks-default: true
value:
PaginationResponse: {}
GiftCards:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/packages:
get:
tags:
- Sale
summary: Mindbody A Package is Typically Used to Combine Multiple Services And/or
description: A package is typically used to combine multiple services and/or products into a single offering. Staff members can check out multiple appointments while selling the package, and can discount the items included. For example, a spa might bundle a massage, a pedicure, a manicure, a facial, and a few selected beauty products into a package.
operationId: getPackages
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationId
in: query
required: false
description: 'The location ID to use to determine the tax for the products that this request returns.
Default: **online store**'
schema:
type: integer
format: int32
example: 123456
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.packageIds
in: query
required: false
description: A list of the packages IDs to filter by.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.sellOnline
in: query
required: false
description: 'When `true`, only returns products that can be sold online.
When `false`, all products are returned.
Default: **false**'
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetPackagesResponse'
examples:
Getpackages200Example:
summary: Default getPackages 200 example
x-microcks-default: true
value:
Packages:
- {}
PaginationResponse: {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/products:
get:
tags:
- Sale
summary: Mindbody Get Retail Products Available for Purchase at a Site
description: Get retail products available for purchase at a site.
operationId: getProducts
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.categoryIds
in: query
required: false
description: A list of revenue category IDs to filter by. Use this ID when calling the GET Categories endpoint.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationId
in: query
required: false
description: 'The location ID to use to determine the tax for the products that this request returns.
Default: **online store**'
schema:
type: integer
format: int32
example: 123456
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.productIds
in: query
required: false
description: The barcode number of the product to be filter by.
schema:
type: array
items:
type: string
example:
- example-value
- name: request.searchText
in: query
required: false
description: A search filter, used for searching by term.
schema:
type: string
example: example-value
- name: request.secondaryCategoryIds
in: query
required: false
description: A list of secondary categories to filter by. Use this ID when calling the GET Categories endpoint.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.sellOnline
in: query
required: false
description: 'When `true`, only products that can be sold online are returned.
When `false`, all products are returned.
Default: **false**'
schema:
type: boolean
example: true
- name: request.subCategoryIds
in: query
required: false
description: A list of subcategory IDs to filter by. Use this ID when calling the GET Categories endpoint.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetProductsResponse'
examples:
Getproducts200Example:
summary: Default getProducts 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Products:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
put:
tags:
- Sale
summary: Mindbody Update Retail Products Available for Purchase at a Site
description: Update retail products available for purchase at a site.
operationId: updateProducts
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UpdateProductRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetProductsResponse'
examples:
Updateproducts200Example:
summary: Default updateProducts 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Products:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/productsinventory:
get:
tags:
- Sale
summary: Mindbody Get Retail Products Inventory Data Available at a Site
description: Get retail products inventory data available at a site.
operationId: getProductsInventory
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.barcodeIds
in: query
required: false
description: When included, the response only contains details about the specified Barcode Ids.
schema:
type: array
items:
type: string
example:
- example-value
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationIds
in: query
required: false
description: When included, the response only contains details about the specified location Ids.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.productIds
in: query
required: false
description: When included, the response only contains details about the specified product Ids.
schema:
type: array
items:
type: string
example:
- example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetProductsInventoryResponse'
examples:
Getproductsinventory200Example:
summary: Default getProductsInventory 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ProductsInventory:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/purchasecontractstatus:
get:
tags:
- Sale
summary: Mindbody Fetches the Status of an Initiate Purchase Contract Given AccessToken
description: 'Fetches the status of an initiate purchase contract given accessToken. This endpoint complements the `Initiate Purchase Contract Using Alternative Payments` endpoint. `Initiate Purchase Contract Using Alternative Payments` endpoint will capture the intent to purchase a contract, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the `Initiate Purchase Contract Using Alternative Payments` endpoint. You can then invoke this endpoint to obtain the `PurchaseContractResponse`. **For a comprehensive guide, follow this tutorial:** [Purchase a Contract](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/purchase-a-contract) The currently supported alternative payments are: - iDEAL - Apple Pay'
operationId: getPurchaseContractStatus
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: accessToken
in: query
required: true
description: The request query parameter.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseContractResponse'
examples:
Getpurchasecontractstatus200Example:
summary: Default getPurchaseContractStatus 200 example
x-microcks-default: true
value:
ClientId: example-value
UniqueClientId: 123456
LocationId: 123456
ContractId: 123456
ClientContractId: 123456
Totals: {}
PaymentProcessingFailures:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/sales:
get:
tags:
- Sale
summary: Mindbody Get Sales Completed at a Site
description: Get sales completed at a site.
operationId: getSales
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.endSaleDateTime
in: query
required: false
description: Filters results to sales that happened before this date and time.
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.paymentMethodId
in: query
required: false
description: Filters results to sales paid for by the given payment method ID which indicates payment method(s) (i.e. cash, VISA, AMEX, Check, etc.).
schema:
type: integer
format: int32
example: 123456
- name: request.saleId
in: query
required: false
description: The sale ID associated with the particular item. It Filters results to the requested sale ID.
schema:
type: integer
format: int32
example: 123456
- name: request.startSaleDateTime
in: query
required: false
description: Filters results to sales that happened after this date and time.
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetSalesResponse'
examples:
Getsales200Example:
summary: Default getSales 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Sales:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/services:
get:
tags:
- Sale
summary: Mindbody Get Pricing Options Available for Purchase at a Site
description: Get pricing options available for purchase at a site
operationId: getServices
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.classId
in: query
required: false
description: Filters to the pricing options for the specified class ID.
schema:
type: integer
format: int32
example: 123456
- name: request.classScheduleId
in: query
required: false
description: Filters to the pricing options for the specified class schedule ID.
schema:
type: integer
format: int32
example: 123456
- name: request.hideRelatedPrograms
in: query
required: false
description: 'When `true`, indicates that pricing options of related programs are omitted from the response.
Default: **false**'
schema:
type: boolean
example: true
- name: request.includeDiscontinued
in: query
required: false
description: 'When `true`, indicates that the filtered pricing option list includes discontinued pricing options.
Default: **false**'
schema:
type: boolean
example: true
- name: request.includeSaleInContractOnly
in: query
required: false
description: 'When `true`, indicates that the filtered pricing option list includes sale in contract only pricing options.
Default: **false**'
schema:
type: boolean
example: true
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationId
in: query
required: false
description: When specified, for each returned pricing option, `TaxRate` and `TaxIncluded` are calculated according to the specified location. Note that this does not filter results to only services provided at the given location, and for locations where Value-Added Tax (VAT) rules apply, the `TaxRate` is set to zero.
schema:
type: integer
format: int32
example: 123456
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.programIds
in: query
required: false
description: Filters to pricing options with the specified program IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.sellOnline
in: query
required: false
description: 'When `true`, filters the pricing options to display only those available for online purchase. This parameter is only applicable in Business Mode (when a staff authentication header is included) and ignored in Consumer Mode (when no authentication header is passed).
Default: `false` (for staff users)
Business Mode: This parameter controls the filtering behavior. Staff users can set this to `true` to show only pricing options that can be sold online, or `false` to show all available pr'
schema:
type: boolean
example: true
- name: request.serviceIds
in: query
required: false
description: Filters to the pricing options with the specified IDs. In this context, service and pricing option are used interchangeably. These are the `PurchasedItems[].Id` returned from GET Sales.
schema:
type: array
items:
type: string
example:
- example-value
- name: request.sessionTypeIds
in: query
required: false
description: Filters to the pricing options with the specified session types IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.staffId
in: query
required: false
description: Sets `Price` and `OnlinePrice` to the particular pricing of a specific staff member, if allowed by the business.
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetServicesResponse'
examples:
Getservices200Example:
summary: Default getServices 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Services:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
put:
tags:
- Sale
summary: Mindbody Update Unit Price and Online Price of Provided Services
description: Update unit price and online price of provided services.
operationId: updateServices
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UpdateServiceRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateServiceResponse'
examples:
Updateservices200Example:
summary: Default updateServices 200 example
x-microcks-default: true
value:
Services:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/transactions:
get:
tags:
- Sale
summary: Mindbody This Endpoint Returns a List of Transaction Details of Processed Sales
description: This endpoint returns a list of transaction details of processed sales.
operationId: getTransactions
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: false
description: Filters results to the requested client ID.
schema:
type: integer
format: int32
example: 123456
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationId
in: query
required: false
description: Filters the transaction results with the ID number associated with the location of the sale.
schema:
type: integer
format: int32
example: 123456
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.saleId
in: query
required: false
description: Filters the transaction results with the ID number associated with the sale.
schema:
type: integer
format: int32
example: 123456
- name: request.status
in: query
required: false
description: Filters the transaction results by the estimated transaction status.
schema:
type: string
example: example-value
- name: request.transactionEndDateTime
in: query
required: false
description: 'Filters the transaction results that happpened before this date and time. Default: **today’s date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.transactionId
in: query
required: false
description: Filters the transaction results with the ID number generated when the sale is processed.
schema:
type: integer
format: int32
example: 123456
- name: request.transactionStartDateTime
in: query
required: false
description: 'Filters the transaction results that happpened after this date and time. Default: **today’s date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetTransactionsResponse'
examples:
Gettransactions200Example:
summary: Default getTransactions 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Transactions:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/checkoutshoppingcart:
post:
tags:
- Sale
summary: Mindbody This Endpoint Provides a Wide Range of Functionality. for Example, You
description: 'This endpoint provides a wide range of functionality. For example, you can use it when a client purchases new pricing options, retail products, packages, and tips. You can also combine purchasing a new pricing option and many other functions, such as booking a client into a class, booking a new appointment for a client, enrolling a client into an enrollment or course, or reconciling an unpaid, already booked appointment or class. Use this call when a client purchases: * a pricing option, after calling `GET Services` and choosing a specific pricing option’s ID * a retail product, after calling `GET Products` and choosing a specific retail product’s ID * a package, after calling `GET Packages` and choosing a specific package’s ID * a tip to give to a staff member, after calling `GET Staff` and choosing a specific staff member ID, and the amount that the client wants to tip The documentation provides explanations of the request body and response, as well as the cart item metadata, payment item metadata, and purchased cart items. This endpoint had been updated to support Strong Customer Authentication (SCA). **Note :** Protect yourself from processor fees and credit card fraud.Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!'
operationId: checkoutShoppingCart
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutShoppingCartRequest'
examples:
CheckoutshoppingcartRequestExample:
summary: Default checkoutShoppingCart request example
x-microcks-default: true
value:
Items:
- {}
Payments:
- {}
CartId: example-value
ClientId: example-value
UniqueClientId: 123456
PayerClientId: example-value
UniquePayerClientId: 123456
Test: true
InStore: true
CalculateTax: true
PromotionCode: example-value
SendEmail: true
LocationId: 123456
Image: example-value
ImageFileName: example-value
ConsumerPresent: true
PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123
TransactionIds:
- 1
IsBillingPostalCodeRequired: true
EnforceLocationRestrictions: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutShoppingCartResponse'
examples:
Checkoutshoppingcart200Example:
summary: Default checkoutShoppingCart 200 example
x-microcks-default: true
value:
ShoppingCart: {}
Classes:
- {}
Appointments:
- {}
Enrollments:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/completecheckoutshoppingcart:
post:
tags:
- Sale
summary: Mindbody This Endpoint Complements the InitiateCheckoutShoppintCart Endpoint
description: 'This endpoint complements the InitiateCheckoutShoppintCart endpoint. Please visit its documentation to understand further. The currently supported alternative payments are: - iDEAL - Apple Pay **How to use :** InitiateCheckoutShoppingCart and CompleteCheckoutShoppingCart endpoints work together. InitiateCheckoutShoppingCart endpoint will capture the intent to perform a checkout, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the InitiateCheckoutShoppingCart endpoint. You can then invoke the CompleteCheckoutShoppingCart endpoint to complete the remaining checkout activities and obtain the CheckoutShoppingCartResponse. **For a comprehensive guide, follow this tutorial:** [Checkout Shopping Cart Using Alternative Payments](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/checkout-shopping-cart-using-alternative-payments) **Notes:** - This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor. - Protect yourself from processor fees. Remember to always protect your web forms that leverage POST InitiateCheckoutShoppingCart or POST CompleteCheckoutShoppingCart with a CAPTCHA!'
operationId: completeCheckoutShoppingCartUsingAlternativePayments
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest'
examples:
CompletecheckoutshoppingcartusingalternativepaymentsRequestExample:
summary: Default completeCheckoutShoppingCartUsingAlternativePayments request example
x-microcks-default: true
value:
AccessToken: example-value
ClientId: example-value
Test: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutShoppingCartResponse'
examples:
Completecheckoutshoppingcartusingalternativepayments200Example:
summary: Default completeCheckoutShoppingCartUsingAlternativePayments 200 example
x-microcks-default: true
value:
ShoppingCart: {}
Classes:
- {}
Appointments:
- {}
Enrollments:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/initiatecheckoutshoppingcart:
post:
tags:
- Sale
summary: Mindbody This Endpoint Provides a Wide Range of Functionality. for Example, You
description: 'This endpoint provides a wide range of functionality. For example, you can use it when a client purchases new pricing options, retail products, packages, and tips. You can also combine purchasing a new pricing option and many other functions, such as booking a client into a class, booking a new appointment for a client, enrolling a client into an enrollment or course, or reconciling an unpaid, already booked appointment or class. Use this call when a client purchases: * a pricing option, after calling `GET Services` and choosing a specific pricing option’s ID * a retail product, after calling `GET Products` and choosing a specific retail product’s ID * a package, after calling `GET Packages` and choosing a specific package’s ID * a tip to give to a staff member, after calling `GET Staff` and choosing a specific staff member ID, and the amount that the client wants to tip The documentation provides explanations of the request body and response, as well as the cart item metadata, payment item metadata, and purchased cart items. The currently supported alternative payments are: - iDEAL - Apple Pay **How to use :** InitiateCheckoutShoppingCart and CompleteCheckoutShoppingCart endpoints work together. InitiateCheckoutShoppingCart endpoint will capture the intent to perform a checkout, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the InitiateCheckoutShoppingCart endpoint. You can then invoke the CompleteCheckoutShoppingCart endpoint to complete the remaining checkout activities and obtain the CheckoutShoppingCartResponse. **For a comprehensive guide, follow this tutorial:** [Checkout Shopping Cart Using Alternative Payments](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/checkout-shopping-cart-using-alternative-payments) **Notes:** - This endpoint is only available for Studios on '
operationId: initiateCheckoutShoppingCartUsingAlternativePayments
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest'
examples:
InitiatecheckoutshoppingcartusingalternativepaymentsRequestExample:
summary: Default initiateCheckoutShoppingCartUsingAlternativePayments request example
x-microcks-default: true
value:
ClientId: example-value
Items:
- {}
Payments:
- {}
PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123
CartId: example-value
PayerClientId: example-value
Test: true
InStore: true
CalculateTax: true
PromotionCode: example-value
SendEmail: true
LocationId: 123456
TransactionIds:
- 1
IsBillingPostalCodeRequired: true
EnforceLocationRestrictions: true
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/initiatepurchasecontract:
post:
tags:
- Sale
summary: Mindbody Allows a Client to Sign Up for a Contract or Autopay Using the
description: 'Allows a client to sign up for a contract or autopay using the information returned from the `GET Contracts` endpoint. The client can pay with allowed alternative and local payment methods returned from `Get Alternative Payment Method`. The client must exist at the site specified before this call is made. The currently supported alternative payments are: - iDEAL - Apple Pay **For a comprehensive guide, follow this tutorial:** [Purchase a Contract](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/purchase-a-contract) **Notes:** - This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor. - This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98. - This endpoint only supports those payment methods as obtained from the GetAlternativePaymentMethods endpoint. - Protect yourself from processor fees and credit card fraud. Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!'
operationId: initiatePurchaseContractUsingAlternativePayments
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InitiatePurchaseContractRequest'
examples:
InitiatepurchasecontractusingalternativepaymentsRequestExample:
summary: Default initiatePurchaseContractUsingAlternativePayments request example
x-microcks-default: true
value:
ClientId: example-value
ContractId: 123456
PaymentMethodId: 123456
Test: true
LocationId: 123456
PromotionCode: example-value
PromotionCodes:
- example-value
SendNotifications: true
SalesRepId: 123456
PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/purchaseaccountcredit:
post:
tags:
- Sale
summary: Mindbody Allows a Client to Purchase Account Credit from a Business
description: Allows a client to purchase account credit from a business.
operationId: purchaseAccountCredit
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseAccountCreditRequest'
examples:
PurchaseaccountcreditRequestExample:
summary: Default purchaseAccountCredit request example
x-microcks-default: true
value:
ClientId: example-value
Test: true
LocationId: 123456
SendEmailReceipt: true
SalesRepId: 123456
ConsumerPresent: true
PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123
PaymentInfo: {}
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseAccountCreditResponse'
examples:
Purchaseaccountcredit200Example:
summary: Default purchaseAccountCredit 200 example
x-microcks-default: true
value:
AmountPaid: 49.99
ClientId: example-value
SaleId: 123456
EmailReceipt: true
PaymentProcessingFailures:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/purchasecontract:
post:
tags:
- Sale
summary: Mindbody Allows a Client to Sign Up for a Contract or Autopay Using the
description: 'Allows a client to sign up for a contract or autopay using the information returned from the `GET Contracts` endpoint. The client can pay with a new credit card or with a stored credit card. The client must exist at the site specified before this call is made. This endpoint allows a developer to specify whether a client pays now or pays on the `StartDate`. If you are building a client-facing experience, you should talk with the business owner to understand the owner’s policies before you give clients a choice of the two payment types. This endpoint also allows a developer to specify a `ProrateDate`. If the date is passed, the Totals returned will always include the pro-rate amount for instant payment, like: - `FirstPaymentOccurs` = `Instant` => returns instant payment total for the contract + pro-rate amount. - `FirstPaymentOccurs` = `StartDate` => returns pro-rate amount + contract amount requiring instant payment. The rest of the contract will be due on `StartDate`. - Pro-rate amount payment on `StartDate` is not supported by this endpoint. This endpoint has been updated to support Strong Customer Authentication (SCA). **Note:** Protect yourself from processor fees and credit card fraud. Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!'
operationId: purchaseContract
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseContractRequest'
examples:
PurchasecontractRequestExample:
summary: Default purchaseContract request example
x-microcks-default: true
value:
ContractId: 123456
Test: true
LocationId: 123456
ClientId: example-value
UniqueClientId: 123456
StartDate: '2026-05-28T14:30:00Z'
FirstPaymentOccurs: example-value
ClientSignature: example-value
PromotionCode: example-value
PromotionCodes:
- example-value
CreditCardInfo: {}
StoredCardInfo: {}
SendNotifications: true
SalesRepId: 123456
UseDirectDebit: true
UseAccountCredit: true
ConsumerPresent: true
PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123
ProrateDate: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseContractResponse'
examples:
Purchasecontract200Example:
summary: Default purchaseContract 200 example
x-microcks-default: true
value:
ClientId: example-value
UniqueClientId: 123456
LocationId: 123456
ContractId: 123456
ClientContractId: 123456
Totals: {}
PaymentProcessingFailures:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/purchasegiftcard:
post:
tags:
- Sale
summary: Mindbody Allows a Client to Purchase a Gift Card from a Business in a Variety
description: Allows a client to purchase a gift card from a business in a variety of designs. The card can be emailed to the recipient on a specific day, and a card title and a personal message can be added. **Note** Protect yourself from processor fees and credit card fraud.Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!
operationId: purchaseGiftCard
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseGiftCardRequest'
examples:
PurchasegiftcardRequestExample:
summary: Default purchaseGiftCard request example
x-microcks-default: true
value:
LocationId: 123456
PurchaserClientId: example-value
GiftCardId: 123456
Test: true
LayoutId: 123456
SendEmailReceipt: true
RecipientEmail: kinlane@example.com
RecipientName: example-value
Title: example-value
GiftMessage: example-value
DeliveryDate: '2026-05-28T14:30:00Z'
PaymentInfo: {}
SalesRepId: 123456
ConsumerPresent: true
PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123
BarcodeId: example-value
SenderName: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseGiftCardResponse'
examples:
Purchasegiftcard200Example:
summary: Default purchaseGiftCard 200 example
x-microcks-default: true
value:
BarcodeId: example-value
Value: 1.0
AmountPaid: 49.99
FromName: example-value
LayoutId: 123456
EmailReceipt: true
PurchaserClientId: example-value
PurchaserEmail: kinlane@example.com
RecipientEmail: kinlane@example.com
SaleId: 123456
PaymentProcessingFailures:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/returnsale:
post:
tags:
- Sale
summary: Mindbody Return a Comped Sale for a Specified Sale ID in Business Mode. the
description: Return a comped sale for a specified sale ID in business mode. The sale is returnable only if it is a sale of a service, product or gift card and it has not been used. Currently, only the comp payment method is supported.
operationId: returnSale
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReturnSaleRequest'
examples:
ReturnsaleRequestExample:
summary: Default returnSale request example
x-microcks-default: true
value:
SaleId: 123456
ReturnReason: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReturnSaleResponse'
examples:
Returnsale200Example:
summary: Default returnSale 200 example
x-microcks-default: true
value:
ReturnSaleID: 1
TrainerID: 1
Amount: 49.99
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/updateproductprice:
post:
tags:
- Sale
summary: Mindbody This Endpoint Updates the Retail Price and an Online Price for a
description: This endpoint updates the retail price and an online price for a product. Passing at least one of them is mandatory.
operationId: updateProductPrice
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProductPriceRequest'
examples:
UpdateproductpriceRequestExample:
summary: Default updateProductPrice request example
x-microcks-default: true
value:
BarcodeId: example-value
Price: 49.99
OnlinePrice: 49.99
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProductPriceResponse'
examples:
Updateproductprice200Example:
summary: Default updateProductPrice 200 example
x-microcks-default: true
value:
Product: {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/sale/updatesaledate:
put:
tags:
- Sale
summary: Mindbody This Endpoint Updates the SaleDate and Returns the Details of the Sale
description: This endpoint updates the SaleDate and returns the details of the sale.
operationId: updateSaleDate
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSaleDateRequest'
examples:
UpdatesaledateRequestExample:
summary: Default updateSaleDate request example
x-microcks-default: true
value:
SaleID: 1
SaleDate: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSaleDateResponse'
examples:
Updatesaledate200Example:
summary: Default updateSaleDate 200 example
x-microcks-default: true
value:
Sale: {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
components:
schemas:
StatusEnum:
type: string
description: StatusEnum enumeration.
enum:
- None
- Requested
- Booked
- Completed
- Confirmed
- Arrived
- NoShow
- Cancelled
- LateCancelled
BookingWindow:
type: object
description: Implementation of the 'BookingWindow' model. The booking window for registration
properties:
StartDateTime:
type: string
format: date-time
description: Date and time that the booking window opens; that is, the first day of sales.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: Date and time that the booking window closes; that is, the last day of sales.
example: '2026-05-28T14:30:00Z'
DailyStartTime:
type: string
format: date-time
description: The time that the booking window opens; that is, the time that the store opens.
example: '2026-05-28T14:30:00Z'
DailyEndTime:
type: string
format: date-time
description: The time that the booking window closes; that is, the time that the store closes.
example: '2026-05-28T14:30:00Z'
PurchasedItem:
type: object
description: Implementation of the 'PurchasedItem' model.
properties:
SaleDetailId:
type: integer
format: int32
description: The ID which gets assigned to the item when item is added to the cart.
example: 123456
Id:
type: integer
format: int32
description: The ID of the purchased item. Use this ID when calling the GET Services or GET Products endpoint.
example: 123456
IsService:
type: boolean
description: When `true`, indicates that the purchased item was a pricing option for a service.
example: true
BarcodeId:
type: string
description: The barcode number of the purchased item. Use this ID when calling the GET Products endpoint.
example: example-value
Description:
type: string
description: The description of the sale transaction/pricing option.
example: Example note for Mindbody Public API.
ContractId:
type: integer
format: int32
description: The contract purchased by the client. Use this ID when calling the GET Contract endpoint.
example: 123456
CategoryId:
type: integer
format: int32
description: The revenue category ID used for sale. Use this ID when calling the GET Categories endpoint.
example: 123456
SubCategoryId:
type: integer
format: int32
description: The ID of revenue subcategory.
example: 123456
UnitPrice:
type: number
format: double
description: er Unit Price of the item purchased.
example: 49.99
Quantity:
type: integer
format: int32
description: 'Quantity of the purchased item, applicable for products only. Note: Negative numbers indicate returned items.'
example: 10
DiscountPercent:
type: number
format: double
description: The percent discount that was applied to the items subtotal.
example: 1.0
DiscountAmount:
type: number
format: double
description: The total discount amount that was applied to the items subtotal.
example: 49.99
Tax1:
type: number
format: double
description: A decimal representation of the first tax rate that was applied to the items subtotal.
example: 1.0
Tax2:
type: number
format: double
description: A decimal representation of the second tax rate that was applied to the items subtotal.
example: 1.0
Tax3:
type: number
format: double
description: A decimal representation of the third tax rate that was applied to the items subtotal.
example: 1.0
Tax4:
type: number
format: double
description: A decimal representation of the fourth tax rate that was applied to the items subtotal.
example: 1.0
Tax5:
type: number
format: double
description: A decimal representation of the fifth tax rate that was applied to the items subtotal.
example: 1.0
TaxAmount:
type: number
format: double
description: Total tax amount that is summation of tax1, tax2, tax3, tax4 and tax5.
example: 49.99
TotalAmount:
type: number
format: double
description: The items total, once discounts and/or tax was applied.
example: 49.99
Notes:
type: string
description: Note made by the customer while purchasing item.
example: Example note for Mindbody Public API.
Returned:
type: boolean
description: When `true`, indicates that the purchased item is returned, `false` otherwise.
example: true
PaymentRefId:
type: integer
format: int32
description: The payment reference ID generated during payment of sold item.
example: 123456
ExpDate:
type: string
format: date-time
description: The expiration date of the pricing option purchased.
example: '2026-05-28T14:30:00Z'
ActiveDate:
type: string
format: date-time
description: The activation date of pricing option purchased.
example: '2026-05-28T14:30:00Z'
GiftCardBarcodeId:
type: string
description: Gift Card BarcodeId
example: example-value
AlternativePaymentMethod:
type: object
description: Implementation of the 'AlternativePaymentMethod' model. DTO object for alternative payment methods.
properties:
Id:
type: integer
format: int32
description: The ID of the alternative payment method.
example: 123456
Name:
type: string
description: The name of the alternative payment method.
example: Sunset Yoga Studio
ScheduleTypeEnum:
type: string
description: ScheduleTypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest:
type: object
description: Implementation of the 'CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest' model. The API Request model for Complete Checkout Shopping Cart API.
properties:
AccessToken:
type: string
description: The Access Token generated during Pre-Payment step.
example: example-value
ClientId:
type: string
description: The RSSID of the client making the purchase. A cart can be validated without a client ID, but a client ID must be specified to complete a sale.
example: example-value
Test:
type: boolean
description: 'When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.
When `false`, the transaction takes place and the database is affected.
Default: **false**'
example: true
GetServicesResponse:
type: object
description: Implementation of the 'GetServicesResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Services:
type: array
items:
$ref: '#/components/schemas/Service'
description: Contains information about the services.
example:
- {}
ResourceAvailability:
type: object
description: Implementation of the 'ResourceAvailability' model. An availability of a resource
properties:
ResourceId:
type: integer
format: int32
description: Id
example: 123456
StartDateTime:
type: string
format: date-time
description: Starts
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: Ends
example: '2026-05-28T14:30:00Z'
UpdateProductPriceResponse:
type: object
description: Implementation of the 'UpdateProductPriceResponse' model. Update Product Price Response Model
properties:
Product:
$ref: '#/components/schemas/Product'
description: Contains information about the product.
ContractItem:
type: object
description: Implementation of the 'ContractItem' model.
properties:
Id:
type: string
description: The ID of the item.
example: example-value
Name:
type: string
description: The name of the item.
example: Sunset Yoga Studio
Description:
type: string
description: A description of the item.
example: Example note for Mindbody Public API.
Type:
type: string
description: The type of the item.
example: example-value
Price:
type: number
format: double
description: The price of the item.
example: 49.99
Quantity:
type: integer
format: int32
description: The quantity of the item.
example: 10
OneTimeItem:
type: boolean
description: When `true`, indicates that the item is charged only once.
When `false`, indicates that the item is charged multiple times.
example: true
Liability:
type: object
description: Implementation of the 'Liability' model.
properties:
AgreementDate:
type: string
format: date-time
description: The date and time at which the client agreed to the liability waiver for the business.
example: '2026-05-28T14:30:00Z'
IsReleased:
type: boolean
description: The client’s liability release status.
When `true`, indicates that the client has agreed to the liability release for the business.
When `false`, indicates that the client has not agreed to the liability release for the business.
example: true
ReleasedBy:
type: integer
format: int32
description: An ID indicating who released liability for the client. If the client agreed to the liability waiver by signing into an account online, this value is `null`. If a staff member marked the waiver as signed on behalf of the client, it is the staff member’s ID. `0` indicates that the business owner marked the liability waiver as signed on behalf of the client.
example: 1
CustomClientFieldValue:
type: object
description: Implementation of the 'CustomClientFieldValue' model. The value of a custom client field
properties:
Value:
type: string
description: The value of a specific custom field for a client.
example: example-value
Id:
type: integer
format: int32
description: The ID of the custom client field.
example: 123456
DataType:
type: string
description: The data type of the field.
example: example-value
Name:
type: string
description: The name of the field.
example: Sunset Yoga Studio
ClassSchedule:
type: object
description: Implementation of the 'ClassSchedule' model. Represents a single class instance. The class meets at the start time, goes until the end time.
properties:
Classes:
type: array
items:
$ref: '#/components/schemas/Class'
description: Contains information about a class.
example:
- {}
Clients:
type: array
items:
$ref: '#/components/schemas/Client'
description: Contains information about clients.
example:
- {}
Course:
$ref: '#/components/schemas/Course'
description: Contains information about the course that the enrollment is a part of.
SemesterId:
type: integer
format: int32
description: The semester ID for the enrollment (if any).
example: 123456
IsAvailable:
type: boolean
description: When `true`, indicates that the enrollment shows in consumer mode, has not started yet, and there is room in each class of the enrollment.
When `false`, indicates that either the enrollment does not show in consumer mode, has already started, or there is no room in some classes of the enrollment.
example: true
Id:
type: integer
format: int32
description: The unique ID of the class schedule.
example: 123456
ClassDescription:
$ref: '#/components/schemas/ClassDescription'
description: Contains information about the class.
DaySunday:
type: boolean
description: When `true`, indicates that this schedule occurs on Sundays.
example: true
DayMonday:
type: boolean
description: When `true`, indicates that this schedule occurs on Mondays.
example: true
DayTuesday:
type: boolean
description: When `true`, indicates that this schedule occurs on Tuesdays.
example: true
DayWednesday:
type: boolean
description: When `true`, indicates that this schedule occurs on Wednesdays.
example: true
DayThursday:
type: boolean
description: When `true`, indicates that this schedule occurs on Thursdays.
example: true
DayFriday:
type: boolean
description: When `true`, indicates that this schedule occurs on Fridays.
example: true
DaySaturday:
type: boolean
description: When `true`, indicates that this schedule occurs on Saturdays.
example: true
AllowOpenEnrollment:
type: boolean
description: When `true`, indicates that the enrollment allows booking after the enrollment has started.
example: true
AllowDateForwardEnrollment:
type: boolean
description: When `true`, indicates that this the enrollment shows in consumer mode, the enrollment has not started yet, and there is room in each class of the enrollment.
example: true
StartTime:
type: string
format: date-time
description: The time this class schedule starts.
example: '2026-05-28T14:30:00Z'
EndTime:
type: string
format: date-time
description: The time this class schedule ends.
example: '2026-05-28T14:30:00Z'
StartDate:
type: string
format: date-time
description: The date this class schedule starts.
example: '2026-05-28T14:30:00Z'
EndDate:
type: string
format: date-time
description: The date this class schedule ends.
example: '2026-05-28T14:30:00Z'
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff member who is regularly scheduled to teach the class.
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the regularly scheduled location of this class.
FrequencyType:
$ref: '#/components/schemas/FrequencyTypeEnum'
description: The class schedule recurrence type.
FrequencyInterval:
type: integer
format: int32
description: The interval between class schedule occurencies.
example: 1
Course:
type: object
description: Implementation of the 'Course' model. A course.
properties:
Id:
type: integer
format: int32
description: The course ID.
example: 123456
Name:
type: string
description: The course name.
example: Sunset Yoga Studio
Description:
type: string
description: A description of the course.
example: Example note for Mindbody Public API.
Notes:
type: string
description: Any notes that have been written about the course.
example: Example note for Mindbody Public API.
StartDate:
type: string
format: date-time
description: Date and time that the course starts.
example: '2026-05-28T14:30:00Z'
EndDate:
type: string
format: date-time
description: Date and time that the course ends.
example: '2026-05-28T14:30:00Z'
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the location.
Organizer:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff member in charge of organizing the event.
Program:
$ref: '#/components/schemas/Program'
description: Contains information about the service category to which the course belongs.
ImageUrl:
type: string
description: The URL of the image associated with this course, if one exists.
example: https://example.mindbodyonline.com/resource/abc123
Sale:
type: object
description: Implementation of the 'Sale' model. Contains the Sale details.
properties:
Id:
type: integer
format: int32
description: The sale ID.
example: 123456
SaleDate:
type: string
format: date-time
description: The date the item was sold.
example: '2026-05-28T14:30:00Z'
SaleTime:
type: string
description: The time the item was sold.
example: example-value
SaleDateTime:
type: string
format: date-time
description: The date and time the item was sold.
example: '2026-05-28T14:30:00Z'
OriginalSaleDateTime:
type: string
format: date-time
description: The date and time the item was sold originally.
example: '2026-05-28T14:30:00Z'
SalesRepId:
type: integer
format: int32
description: The sales representative ID
example: 123456
ClientId:
type: string
description: The ID of the client who made the purchase.
example: example-value
RecipientClientId:
type: integer
format: int32
description: Recipient Client Id
example: 123456
PurchasedItems:
type: array
items:
$ref: '#/components/schemas/PurchasedItem'
description: Contains the `PurchasedItem` objects that describe the purchased items.
example:
- {}
LocationId:
type: integer
format: int32
description: The ID of the location where the sale takes place.
example: 123456
Payments:
type: array
items:
$ref: '#/components/schemas/SalePayment'
description: Contains the `SalePayment` objects that describe the payments that contributed to this sale.
example:
- {}
GetCustomPaymentMethodsResponse:
type: object
description: Implementation of the 'GetCustomPaymentMethodsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
PaymentMethods:
type: array
items:
$ref: '#/components/schemas/CustomPaymentMethod'
description: Contains information about the custom payment methods.
example:
- {}
PurchaseContractResponseTotals:
type: object
description: Implementation of the 'PurchaseContractResponseTotals' model. Totals for the purchase
properties:
Total:
type: number
format: double
description: Total payment amount
example: 49.99
SubTotal:
type: number
format: double
description: Sub total. For VAT, sum of asking prices (include taxes, excludes discounts). For non vat, excludes taxes and discounts.
example: 49.99
Discount:
type: number
format: double
description: Discount
example: 1.0
Tax:
type: number
format: double
description: Tax
example: 1.0
Color:
type: object
description: Implementation of the 'Color' model. A color used by products.
properties:
Id:
type: integer
format: int32
description: The unique ID of the product color.
example: 123456
Name:
type: string
description: The name of the color of product.
example: Sunset Yoga Studio
AssignedClientIndex:
type: object
description: Implementation of the 'AssignedClientIndex' model. Represents a client index value assigned to a client
properties:
Id:
type: integer
format: int32
description: The index ID assigned to the client.
example: 123456
ValueId:
type: integer
format: int32
description: The index’s value ID.
example: 123456
AppointmentGenderPreferenceEnum:
type: string
description: AppointmentGenderPreferenceEnum enumeration.
enum:
- None
- Female
- Male
CreditCardInfo:
type: object
description: Implementation of the 'CreditCardInfo' model. Information about an individual credit card
properties:
CreditCardNumber:
type: string
description: The model property of type str.
example: example-value
ExpMonth:
type: string
description: The model property of type str.
example: example-value
ExpYear:
type: string
description: The model property of type str.
example: example-value
BillingName:
type: string
description: The model property of type str.
example: example-value
BillingAddress:
type: string
description: The model property of type str.
example: 123 Market St
BillingCity:
type: string
description: The model property of type str.
example: example-value
BillingState:
type: string
description: The model property of type str.
example: example-value
BillingPostalCode:
type: string
description: The model property of type str.
example: example-value
SaveInfo:
type: boolean
description: The model property of type bool.
example: true
CardId:
type: string
description: Card Id of a stored instruments card
example: example-value
CVV:
type: string
description: CVV of the card
example: example-value
GiftCard:
type: object
description: Implementation of the 'GiftCard' model.
properties:
Id:
type: integer
format: int32
description: The gift card's `ProductID`.
example: 123456
LocationIds:
type: array
items:
type: integer
format: int32
description: The IDs of the locations where the gift card is sold.
example:
- 1
Description:
type: string
description: A description of the gift card.
example: Example note for Mindbody Public API.
EditableByConsumer:
type: boolean
description: When `true`, indicates that the gift card can be edited by the client.
example: true
CardValue:
type: number
format: double
description: The value of the gift card.
example: 1.0
SalePrice:
type: number
format: double
description: The sale price of the gift card, if applicable.
example: 49.99
SoldOnline:
type: boolean
description: When `true`, indicates that the gift card is sold online.
example: true
MembershipRestrictionIds:
type: array
items:
type: integer
format: int32
description: A list of IDs for membership restrictions, if this card is restricted to members with certain types of memberships.
example:
- 1
GiftCardTerms:
type: string
description: The terms of the gift card.
example: example-value
ContactInfo:
type: string
description: Contact information for the gift card.
example: example-value
DisplayLogo:
type: boolean
description: When `true`, indicates that the logo should be displayed on the gift card.
example: true
Layouts:
type: array
items:
$ref: '#/components/schemas/GiftCardLayout'
description: A list of layouts available for the gift card.
example:
- {}
AppointmentStatusEnum:
type: string
description: AppointmentStatusEnum enumeration.
enum:
- None
- Requested
- Booked
- Completed
- Confirmed
- Arrived
- NoShow
- Cancelled
- LateCancelled
Appointment:
type: object
description: Implementation of the 'Appointment' model. Contains information about an appointment.
properties:
GenderPreference:
$ref: '#/components/schemas/GenderPreferenceEnum'
description: 'The prefered gender of the appointment provider. Possible values are: * None * Female * Male'
Duration:
type: integer
format: int32
description: The duration of the appointment.
example: 1
ProviderId:
type: string
description: If a user has Complementary and Alternative Medicine features enabled, this property indicates the provider assigned to the appointment.
example: example-value
Id:
type: integer
format: int32
description: The unique ID of the appointment.
example: 123456
Status:
$ref: '#/components/schemas/StatusEnum'
description: 'The status of this appointment. Possible values are: * None * Requested * Booked * Completed * Confirmed * Arrived * NoShow * Cancelled * LateCancelled'
StartDateTime:
type: string
format: date-time
description: The date and time the appointment is to start.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the appointment is to end.
example: '2026-05-28T14:30:00Z'
Notes:
type: string
description: Any notes associated with the appointment.
example: Example note for Mindbody Public API.
PartnerExternalId:
type: string
description: Optional external key for api partners.
example: example-value
StaffRequested:
type: boolean
description: When `true`, indicates that the staff member was requested specifically by the client.
example: true
ProgramId:
type: integer
format: int32
description: The ID of the program to which this appointment belongs.
example: 123456
SessionTypeId:
type: integer
format: int32
description: The ID of the session type of this appointment.
example: 123456
LocationId:
type: integer
format: int32
description: The ID of the location where this appointment is to take place.
example: 123456
StaffId:
type: integer
format: int32
description: The ID of the staff member providing the service for this appointment.
example: 123456
Staff:
$ref: '#/components/schemas/AppointmentStaff'
description: Staff for the appointment
ClientId:
type: string
description: The RSSID of the client who is booked for this appointment.
example: example-value
FirstAppointment:
type: boolean
description: When `true`, indicates that this is the client’s first appointment at this site.
example: true
IsWaitlist:
type: boolean
description: 'When `true`, indicates that the client should be added to a specific appointment waiting list. When `false`, the client should not be added to the waiting list. Default: *false*'
example: true
WaitlistEntryId:
type: integer
format: int32
description: The unique ID of the appointment waitlist.
example: 123456
ClientServiceId:
type: integer
format: int32
description: The ID of the pass on the client’s account that is to pay for this appointment.
example: 123456
Resources:
type: array
items:
$ref: '#/components/schemas/ResourceSlim'
description: The resources this appointment is to use.
example:
- {}
AddOns:
type: array
items:
$ref: '#/components/schemas/AddOnSmall'
description: Any AddOns associated with the appointment
example:
- {}
OnlineDescription:
type: string
description: Online Description associated with the appointment
example: Example note for Mindbody Public API.
ClassDescription:
type: object
description: Implementation of the 'ClassDescription' model. Represents a class definition. The class meets at the start time, goes until the end time.
properties:
Active:
type: boolean
description: When `true`, indicates that the business can assign this class description to new class schedules.
When `false`, indicates that the business cannot assign this class description to new class schedules.
example: true
Description:
type: string
description: The long version of the class description.
example: Example note for Mindbody Public API.
Id:
type: integer
format: int32
description: The class description's ID.
example: 123456
ImageURL:
type: string
description: The class description's image URL, if any. If it does not exist, nothing is returned.
example: example-value
LastUpdated:
type: string
format: date-time
description: The date this class description was last modified.
example: '2026-05-28T14:30:00Z'
Level:
$ref: '#/components/schemas/Level'
description: The level information about this class.
Name:
type: string
description: The name of this class description.
example: Sunset Yoga Studio
Notes:
type: string
description: Any notes about the class description.
example: Example note for Mindbody Public API.
Prereq:
type: string
description: Any prerequisites for the class.
example: example-value
Program:
$ref: '#/components/schemas/Program'
description: Contains information about the class description's program.
SessionType:
$ref: '#/components/schemas/SessionType'
description: Contains information about the class description's session type.
Category:
type: string
description: The category of this class description.
example: example-value
CategoryId:
type: integer
format: int32
description: The category ID of this class description.
example: 123456
Subcategory:
type: string
description: The subcategory of this class description.
example: example-value
SubcategoryId:
type: integer
format: int32
description: The subcategory ID of this class description.
example: 123456
PurchaseContractResponse:
type: object
description: Implementation of the 'PurchaseContractResponse' model. Response model for POST PurchaseContract endpoint
properties:
ClientId:
type: string
description: The ID of the client who is purchasing the contract.
example: example-value
UniqueClientId:
type: integer
format: int32
description: The Unique ID of the client who is purchasing the contract.
example: 123456
LocationId:
type: integer
format: int32
description: The ID of the location where the contract is being purchased.
example: 123456
ContractId:
type: integer
format: int32
description: The ID of the general contract being purchased.
example: 123456
ClientContractId:
type: integer
format: int32
description: The ID of the specific contract being purchased by this specific client, not to be confused with the `ContractId`, which refers to a general contract that the business offers.
example: 123456
Totals:
$ref: '#/components/schemas/PurchaseContractResponseTotals'
description: Purchase totals
PaymentProcessingFailures:
type: array
items:
$ref: '#/components/schemas/PaymentProcessingFailure'
description: Contains information only if SCA challenge is indicated.
example:
- {}
GiftCardLayout:
type: object
description: Implementation of the 'GiftCardLayout' model. Gift card layout
properties:
LayoutId:
type: integer
format: int32
description: The ID of the layout.
example: 123456
LayoutName:
type: string
description: The name of the layout.
example: example-value
LayoutUrl:
type: string
description: The URL of the layout.
example: https://example.mindbodyonline.com/resource/abc123
Availability:
type: object
description: Implementation of the 'Availability' model. A staff availability entry
properties:
Id:
type: integer
format: int32
description: The ID of the availability.
example: 123456
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about staff members.
SessionType:
$ref: '#/components/schemas/SessionType'
description: Contains information about the types of sessions.
Programs:
type: array
items:
$ref: '#/components/schemas/Program'
description: Contains information about the programs.
example:
- {}
StartDateTime:
type: string
format: date-time
description: The date and time the availability starts in the site local time zone.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the availability ends in the site local time zone.
example: '2026-05-28T14:30:00Z'
BookableEndDateTime:
type: string
format: date-time
description: The time of day that the last appointment can start in the site local time zone.
example: '2026-05-28T14:30:00Z'
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the location.
PrepTime:
type: integer
format: int32
description: Prep time in minutes
example: 1
FinishTime:
type: integer
format: int32
description: Finish time in minutes
example: 1
IsMasked:
type: boolean
description: When `true`, indicates that the staff member's name for availabilty is masked. When `false`, indicates that the staff member's name for availabilty is not masked.
example: true
ShowPublic:
type: boolean
description: When `true`, indicates that the schedule is shown to the clients. When `false`, indicates that the schedule is hidden from the clients.
example: true
ResourceAvailabilities:
type: array
items:
$ref: '#/components/schemas/ResourceAvailability'
description: Contains information about resources availability for the specified session type.
example:
- {}
Client:
type: object
description: Implementation of the 'Client' model. The Client.
properties:
AppointmentGenderPreference:
$ref: '#/components/schemas/AppointmentGenderPreference1Enum'
description: The gender of staff member with whom the client prefers to book appointments.
BirthDate:
type: string
format: date-time
description: The client’s date of birth.
example: '2026-05-28T14:30:00Z'
Country:
type: string
description: The client’s country.
example: US
CreationDate:
type: string
format: date-time
description: The date the client’s profile was created and added to the business, either by the client from the online store, or by a staff member. This value always returns in the format `yyyy-mm-ddThh:mm:ss:ms`.
example: '2026-05-28T14:30:00Z'
CustomClientFields:
type: array
items:
$ref: '#/components/schemas/CustomClientFieldValue'
description: Contains information about the custom fields used for clients in the business.
example:
- {}
ClientCreditCard:
$ref: '#/components/schemas/ClientCreditCard'
description: Contains information about the client’s credit card.
ClientIndexes:
type: array
items:
$ref: '#/components/schemas/AssignedClientIndex'
description: Contains the IDs of the client’s assigned ClientIndexes and ClientIndexValues. If an index is already assigned to the client, it is overwritten with the passed index value. You cannot currently remove client indexes using the Public API. Only the indexes passed in the request are returned in the response.
example:
- {}
ClientRelationships:
type: array
items:
$ref: '#/components/schemas/ClientRelationship'
description: Contains information about the relationship between two clients. This parameter does not include all of the relationships assigned to the client, only the ones passed in the request.
example:
- {}
FirstAppointmentDate:
type: string
format: date-time
description: The date of the client’s first booked appointment at the business.
example: '2026-05-28T14:30:00Z'
FirstClassDate:
type: string
format: date-time
description: The date of the clients first booked class at the business.
example: '2026-05-28T14:30:00Z'
FirstName:
type: string
description: The client’s first name.
example: Alex
Id:
type: string
description: The client’s ID, as configured by the business owner. This is the client’s barcode ID if the business owner assigns barcodes to clients. This ID is used throughout the Public API for client-related Public API calls. When used in a POST `UpdateClient` request, the `Id` is used to identify the client for the update.
example: example-value
IsCompany:
type: boolean
description: When `true`, indicates that the client should be marked as a company at the business.
When `false`, indicates the client is an individual and does not represent a company.
example: true
IsProspect:
type: boolean
description: This value is set only if the business owner allows individuals to be prospects.
When `true`, indicates that the client should be marked as a prospect for the business.
When `false`, indicates that the client should not be marked as a prospect for the business.
example: true
LastName:
type: string
description: The client’s last name.
example: Lane
Liability:
$ref: '#/components/schemas/Liability'
description: Contains the client’s liability agreement information for the business.
LiabilityRelease:
type: boolean
description: 'Passing `true` sets the client’s liability information as follows: * `IsReleased` is set to `true`. * `AgreementDate` is set to the time zone of the business when the call was processed. * `ReleasedBy` is set to `null` if the call is made by the client, `0` if the call was made by the business owner, or to a specific staff member’s ID if a staff member made the call. Passing `false` sets the client’s liability information as follows: * `IsReleased` is set to `false`. * `AgreementDate` is set to '
example: true
MembershipIcon:
type: integer
format: int32
description: The ID of the [membership icon](https://support.mindbodyonline.com/s/article/203259703-Member ship-Setup-screen?language=en_US) displayed next to the client’s name, if the client has a membership on their account.
example: 1
MobileProvider:
type: integer
format: int32
description: The client’s mobile provider.
example: 1
Notes:
type: string
description: Any notes entered on the client’s account by staff members. This value should never be shown to clients unless the business owner has a specific reason for showing them.
example: Example note for Mindbody Public API.
State:
type: string
description: The client’s state.
example: CA
UniqueId:
type: integer
format: int32
description: The client’s system-generated ID at the business. This value cannot be changed by business owners and is always unique across all clients at the business. This ID is not widely used in the Public API, but can be used by your application to uniquely identify clients.
example: 123456
LastModifiedDateTime:
type: string
format: date-time
description: The UTC date and time when the client’s information was last modified.
example: '2026-05-28T14:30:00Z'
RedAlert:
type: string
description: Contains any red alert information entered by the business owner for the client.
example: example-value
YellowAlert:
type: string
description: Contains any yellow alert information entered by the business owner for the client.
example: example-value
MiddleName:
type: string
description: The client’s middle name.
example: example-value
ProspectStage:
$ref: '#/components/schemas/ProspectStage'
description: Contains information about the client [prospect stage](https://support.mindbodyonline.com/s/article/206176457-Prosp ect-Stages?language=en_US).
Email:
type: string
description: The client’s email address.
example: kinlane@example.com
MobilePhone:
type: string
description: The client’s mobile phone number.
example: '+15551234567'
HomePhone:
type: string
description: The client’s home phone number.
example: '+15551234567'
WorkPhone:
type: string
description: The client’s work phone number.
example: '+15551234567'
AccountBalance:
type: number
format: double
description: The client’s current [account balance](https://mindbody-online-support.force.com/support/s/articl e/203262013-Adding-account-payments-video-tutorial?language=en_US).
example: 49.99
AddressLine1:
type: string
description: The first line of the client’s street address.
example: 123 Market St
AddressLine2:
type: string
description: The second line of the client’s street address, if needed.
example: 123 Market St
City:
type: string
description: The client’s city.
example: San Francisco
PostalCode:
type: string
description: The client’s postal code.
example: '94110'
WorkExtension:
type: string
description: The client’s work phone extension number.
example: example-value
ReferredBy:
type: string
description: Specifies how the client was referred to the business. You can get a list of possible strings using the `GetClientReferralTypes` endpoint.
example: example-value
PhotoUrl:
type: string
description: The URL of the client’s photo for the client profile.
example: https://example.mindbodyonline.com/resource/abc123
EmergencyContactInfoName:
type: string
description: The name of the client’s emergency contact.
example: example-value
EmergencyContactInfoEmail:
type: string
description: The email address of the client’s emergency contact.
example: kinlane@example.com
EmergencyContactInfoPhone:
type: string
description: The phone number of the client’s emergency contact.
example: '+15551234567'
EmergencyContactInfoRelationship:
type: string
description: The client’s relationship with the emergency contact.
example: example-value
Gender:
type: string
description: The gender of the client.
example: example-value
LastFormulaNotes:
type: string
description: The last [formula note](https://support.mindbodyonline.com/s/article/203259903-Appoin tments-Formula-notes?language=en_US) entered for the client.
example: Example note for Mindbody Public API.
Active:
type: boolean
description: When `true`, indicates that the client’s profile is marked as active on the site.
When `false`, the client’s profile is inactive. Defaults to `true` based on the assumption that if a client is currently inactive OR is to be marked inactive, this property will explicitly be mapped/set to `false`.
example: true
SalesReps:
type: array
items:
$ref: '#/components/schemas/SalesRep'
description: A list of sales representatives.
example:
- {}
Status:
type: string
description: 'The status of the client in the business. Possible values are: * Declined * Non-Member * Active * Expired * Suspended * Terminated'
example: Active
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
SendAccountEmails:
type: boolean
description: 'When `true`, indicates that the client has opted to receive general account notifications by email. This property is editable.
Default: **false**'
example: true
SendAccountTexts:
type: boolean
description: When `true`, indicates that the client has opted to receive general account notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
example: true
SendPromotionalEmails:
type: boolean
description: 'When `true`, indicates that the client has opted to receive promotional notifications by email. This property is editable.
Default: **false**'
example: true
SendPromotionalTexts:
type: boolean
description: When `true`, indicates that the client has opted to receive promotional notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
example: true
SendScheduleEmails:
type: boolean
description: 'When `true`, indicates that the client has opted to receive schedule notifications by email. This property is editable.
Default: **false**'
example: true
SendScheduleTexts:
type: boolean
description: When `true`, indicates that the client has opted to receive schedule notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
example: true
HomeLocation:
$ref: '#/components/schemas/Location'
description: Information about the Home Location for this client
LockerNumber:
type: string
description: The clients locker number.
example: example-value
ClientType:
$ref: '#/components/schemas/ClientType'
description: The client's assigned client type. Returns null if the client has no client type assigned. For more information, see [Client Types](https://support.mindbodyonline.com/s/article/203259193-Clien t-Types).
Transaction:
type: object
description: Implementation of the 'Transaction' model.
properties:
TransactionId:
type: integer
format: int32
description: The transaction ID.
example: 123456
SaleId:
type: integer
format: int32
description: The sale ID.
example: 123456
ClientId:
type: integer
format: int32
description: The ID of the client who made the purchase.
example: 123456
Amount:
type: number
format: double
description: The amount charged on the card
example: 49.99
Settled:
type: boolean
description: Whether it is settled or not
example: true
Status:
type: string
description: Status of the transaction
example: Active
TransactionTime:
type: string
format: date-time
description: Time of card swiped
example: '2026-05-28T14:30:00Z'
AuthTime:
type: string
format: date-time
description: Time of card authorized
example: '2026-05-28T14:30:00Z'
LocationId:
type: integer
format: int32
description: The ID of the location where the sale takes place.
example: 123456
MerchantId:
type: string
description: Merchant ID of the studio
example: example-value
TerminalId:
type: string
description: Terminal ID used for payment. Not applicable for CNP/Bank
example: example-value
CardExpirationMonth:
type: string
description: Expiry month of the card
example: example-value
CardExpirationYear:
type: string
description: Expiry year of the card
example: example-value
CCLastFour:
type: string
description: Last 4 digits of CC
example: example-value
CardType:
type: string
description: Type of the card
example: example-value
CCSwiped:
type: boolean
description: Whether card is swiped or not
example: true
ACHLastFour:
type: string
description: Customer’s ACH last 4 digits
example: example-value
CheckoutItemWrapper:
type: object
description: Implementation of the 'CheckoutItemWrapper' model.
properties:
Item:
$ref: '#/components/schemas/CheckoutItem'
description: Information about an item in the cart.
SalesNotes:
type: string
description: Sales Notes for the product
example: Example note for Mindbody Public API.
DiscountAmount:
type: number
format: double
description: The amount the item is discounted. This parameter is ignored for packages.
example: 49.99
AppointmentBookingRequests:
type: array
items:
$ref: '#/components/schemas/CheckoutAppointmentBookingRequest'
description: A list of appointments to be booked then paid for by this item. This parameter applies only to pricing option items.
example:
- {}
EnrollmentIds:
type: array
items:
type: integer
format: int32
description: A list of enrollment IDs that this item is to pay for. This parameter applies only to pricing option items.
example:
- 1
ClassIds:
type: array
items:
type: integer
format: int32
description: A list of class IDs that this item is to pay for. This parameter applies only to pricing option items.
example:
- 1
CourseIds:
type: array
items:
type: integer
format: int32
description: A list of course IDs that this item is to pay for. This parameter applies only to pricing option items.
example:
- 1
VisitIds:
type: array
items:
type: integer
format: int32
description: A list of visit IDs that this item is to pay for. This parameter applies only to pricing option items.
example:
- 1
AppointmentIds:
type: array
items:
type: integer
format: int32
description: A list of appointment IDs that this item is to reconcile.
example:
- 1
Id:
type: integer
format: int32
description: The item’s unique ID within the cart.
example: 123456
Quantity:
type: integer
format: int32
description: The number of this item to be purchased.
example: 10
Staff:
type: object
description: Implementation of the 'Staff' model. The Staff
properties:
Address:
type: string
description: The address of the staff member who is teaching the class.
example: 123 Market St
AppointmentInstructor:
type: boolean
description: When `true`, indicates that the staff member offers appointments.
When `false`, indicates that the staff member does not offer appointments.
example: true
AlwaysAllowDoubleBooking:
type: boolean
description: When `true`, indicates that the staff member can be scheduled for overlapping services.
When `false`, indicates that the staff can only be scheduled for one service at a time in any given time-frame.
example: true
Bio:
type: string
description: The staff member’s biography. This string contains HTML.
example: example-value
City:
type: string
description: The staff member’s city.
example: San Francisco
Country:
type: string
description: The staff member’s country.
example: US
Email:
type: string
description: The staff member’s email address.
example: kinlane@example.com
FirstName:
type: string
description: The staff member’s first name.
example: Alex
DisplayName:
type: string
description: The staff member’s Nickname.
example: example-value
HomePhone:
type: string
description: The staff member’s home phone number.
example: '+15551234567'
Id:
type: integer
format: int32
description: The ID assigned to the staff member.
example: 123456
IndependentContractor:
type: boolean
description: When `true`, indicates that the staff member is an independent contractor. When `false`, indicates that the staff member is not an independent contractor.
example: true
IsMale:
type: boolean
description: When `true`, indicates that the staff member is male. When `false`, indicates that the staff member is female.
example: true
LastName:
type: string
description: The staff member’s last name.
example: Lane
MobilePhone:
type: string
description: The staff member’s mobile phone number.
example: '+15551234567'
Name:
type: string
description: The staff member’s name.
example: Sunset Yoga Studio
PostalCode:
type: string
description: The staff member’s postal code.
example: '94110'
ClassTeacher:
type: boolean
description: When `true`, indicates that the staff member can teach classes. When `false`, indicates that the staff member cannot teach classes.
example: true
SortOrder:
type: integer
format: int32
description: If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.
example: 1
State:
type: string
description: The staff member’s state.
example: CA
WorkPhone:
type: string
description: The staff member’s work phone number.
example: '+15551234567'
ImageUrl:
type: string
description: The URL of the staff member’s image, if one has been uploaded.
example: https://example.mindbodyonline.com/resource/abc123
ClassAssistant:
type: boolean
description: Is the staff an assistant
example: true
ClassAssistant2:
type: boolean
description: Is the staff an assistant2
example: true
EmploymentStart:
type: string
format: date-time
description: The start date of employment
example: '2026-05-28T14:30:00Z'
EmploymentEnd:
type: string
format: date-time
description: The end date of employment
example: '2026-05-28T14:30:00Z'
ProviderIDs:
type: array
items:
type: string
description: A list of ProviderIds for the staff.
example:
- example-value
Rep:
type: boolean
description: return true if staff is sales Rep 1 else false.
example: true
Rep2:
type: boolean
description: return true if staff is sales Rep 2 else false.
example: true
Rep3:
type: boolean
description: return true if staff is sales Rep 3 else false.
example: true
Rep4:
type: boolean
description: return true if staff is sales Rep 4 else false.
example: true
Rep5:
type: boolean
description: return true if staff is sales Rep 5 else false.
example: true
Rep6:
type: boolean
description: return true if staff is sales Rep 6 else false.
example: true
StaffSettings:
$ref: '#/components/schemas/StaffSetting'
description: This object contains the staff settings.
Appointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
description: A list of appointments for the staff.
example:
- {}
Unavailabilities:
type: array
items:
$ref: '#/components/schemas/Unavailability'
description: A list of unavailabilities for the staff.
example:
- {}
Availabilities:
type: array
items:
$ref: '#/components/schemas/Availability'
description: A list of availabilities for the staff.
example:
- {}
EmpID:
type: string
description: The EmpID assigned to the staff member.
example: example-value
Relationship:
type: object
description: Implementation of the 'Relationship' model. Jim is a RelationshipName1 of John. John is a RelationshipName2 of Jim.
properties:
Id:
type: integer
format: int32
description: The ID of the relationship.
example: 123456
RelationshipName1:
type: string
description: The name of the first relationship.
example: example-value
RelationshipName2:
type: string
description: The name of the second relationship.
example: example-value
GetProductsInventoryResponse:
type: object
description: Implementation of the 'GetProductsInventoryResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ProductsInventory:
type: array
items:
$ref: '#/components/schemas/ProductsInventory'
description: Contains information about the products inventory.
example:
- {}
Amenity:
type: object
description: Implementation of the 'Amenity' model. Definition of a location amenity
properties:
Id:
type: integer
format: int32
description: The ID number of the amenity.
example: 123456
Name:
type: string
description: The name of the amenity, for example, food or lockers.
example: Sunset Yoga Studio
AddOnSmall:
type: object
description: Implementation of the 'AddOnSmall' model.
properties:
Id:
type: integer
format: int32
description: The unique ID of the appointment add-on booking.
example: 123456
Name:
type: string
description: The name of the appointment add-on.
example: Sunset Yoga Studio
StaffId:
type: integer
format: int32
description: The ID of the staff member providing the service for this add-on.
example: 123456
TypeId:
type: integer
format: int32
description: The ID of the session type of this appointment.
example: 123456
CheckoutPaymentInfo:
type: object
description: Implementation of the 'CheckoutPaymentInfo' model.
properties:
Type:
type: string
description: 'The type of payment. Possible values are: * CreditCard - Indicates that this payment item is a credit card. * StoredCard - Indicates that this payment item is a credit card stored on the client’s account. * DirectDebit - Indicates that this payment item is a direct debit. * EncryptedTrackData - Indicates that this payment item is a swiped credit card. * TrackData - Indicates that this payment item is a swiped credit card. * DebitAccount - Indicates that funds should be debited from the client’s '
example: example-value
Metadata:
type: string
description: 'Contains information about the cart’s payments. Possible values vary according to the Type property, as below: * CreditCard Keys - amount, creditCardNumber, expMonth, expYear, cvv, billingName, billingAddress, billingCity, billingState, billingPostalCode, saveInfo, cardId * StoredCard Keys - amount, lastFour * DirectDebit Keys - amount * EncryptedTrackData Keys - amount, trackData * TrackData Keys - amount, trackData * DebitAccount Keys - amount * Custom Keys - amount, id * Comp Keys - amount * '
example: example-value
AppointmentStaff:
type: object
description: Implementation of the 'AppointmentStaff' model.
properties:
Id:
type: integer
format: int32
description: The model property of type int.
example: 123456
FirstName:
type: string
description: The model property of type str.
example: Alex
LastName:
type: string
description: The model property of type str.
example: Lane
DisplayName:
type: string
description: The model property of type str.
example: example-value
GetPackagesResponse:
type: object
description: Implementation of the 'GetPackagesResponse' model.
properties:
Packages:
type: array
items:
$ref: '#/components/schemas/Package'
description: Contains information about the resulting packages.
example:
- {}
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
GetSalesResponse:
type: object
description: Implementation of the 'GetSalesResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Sales:
type: array
items:
$ref: '#/components/schemas/Sale'
description: Contains the Sale objects, each of which describes the sale and payment for a purchase event.
example:
- {}
PricingRelationships:
type: object
description: Implementation of the 'PricingRelationships' model.
properties:
PaysFor:
type: array
items:
type: integer
format: int32
description: The model property of type List[int].
example:
- 1
PaidBy:
type: array
items:
type: integer
format: int32
description: The model property of type List[int].
example:
- 1
ShoppingCart:
type: object
description: Implementation of the 'ShoppingCart' model. Represents a shopping cart.
properties:
Id:
type: string
description: The shopping cart ID.
example: example-value
CartItems:
type: array
items:
$ref: '#/components/schemas/CartItem'
description: Contains information about the items in the shopping cart.
example:
- {}
SubTotal:
type: number
format: double
description: The cart’s total cost before taxes and discounts were applied.
example: 49.99
DiscountTotal:
type: number
format: double
description: The monetary amount removed from the cart’s total cost by applied discounts.
example: 49.99
TaxTotal:
type: number
format: double
description: The monetary amount paid in taxes, included in the cart’s `GrandTotal`.
example: 49.99
GrandTotal:
type: number
format: double
description: The cart’s total cost, including taxes and discounts.
example: 49.99
Transactions:
type: array
items:
$ref: '#/components/schemas/TransactionResponse'
description: Contains information returned from the first call to CheckoutShoppingCart.
example:
- {}
SaleId:
type: integer
format: int32
description: The ID of the sale associated with the shopping cart.
example: 123456
InitiatePurchaseContractRequest:
type: object
description: Implementation of the 'InitiatePurchaseContractRequest' model. Request to initiate a purchase contract.
properties:
ClientId:
type: string
description: The ID of the client. Note that this is not the same as the client’s unique ID.
example: example-value
ContractId:
type: integer
format: int32
description: The ID of the contract being purchased.
example: 123456
PaymentMethodId:
type: integer
format: int32
description: 'The type of alternative payment. Possible values are: * 997 - Indicates that the payment method is iDEAL. * 801 - Indicates that the payment method is Apple Pay.'
example: 123456
Test:
type: boolean
description: 'When `true`, the Public API validates input information, but does not commit it, so no client data is affected.
When `false` or omitted, the transaction is committed, and client data is affected.
This endpoint DOES NOT support the `Test` parameter.
Default: **false**'
example: true
LocationId:
type: integer
format: int32
description: 'The ID of the location where the client is purchasing the contract; used for AutoPays. If no location ID is supplied, it defaults to the online store, represented by a null value. Default: **null** (Online store location)'
example: 123456
PromotionCode:
type: string
description: A promotion code, if one applies. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.
example: example-value
PromotionCodes:
type: array
items:
type: string
description: Promotion codes, if they apply. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.
example:
- example-value
SendNotifications:
type: boolean
description: 'When `true`, indicates that email and SMS notifications should be sent to the client after purchase.
Default: **true**'
example: true
SalesRepId:
type: integer
format: int32
description: The ID of the staff member to be marked as the sales rep for this contract sale.
example: 123456
PaymentAuthenticationCallbackUrl:
type: string
description: The URL consumer is redirected to after the payment.
example: https://example.mindbodyonline.com/resource/abc123
ClientService:
type: object
description: Implementation of the 'ClientService' model. A service that is on a client's account.
properties:
ActiveDate:
type: string
format: date-time
description: The date that this pricing option became active and could be used to pay for services.
example: '2026-05-28T14:30:00Z'
Count:
type: integer
format: int32
description: The number of service sessions this pricing option contained when first purchased.
example: 10
Current:
type: boolean
description: When `true`, there are service sessions remaining on the pricing option that can be used pay for the current session.
When `false`, the client cannot use this pricing option to pay for other services.
example: true
ExpirationDate:
type: string
format: date-time
description: The date when the pricing option expires and can no longer be used to pay for services, even if unused service sessions remain on the option; expressed as UTC.
example: '2026-05-28T14:30:00Z'
Id:
type: integer
format: int32
description: The unique ID assigned to this pricing option, specific to when it was purchased by the client.
example: 123456
ProductId:
type: integer
format: int32
description: The unique ID of this pricing option, not specific to any client's purchase of it.
example: 123456
Name:
type: string
description: The name of this pricing option.
example: Sunset Yoga Studio
PaymentDate:
type: string
format: date-time
description: The date on which the client paid for this pricing option.
example: '2026-05-28T14:30:00Z'
Program:
$ref: '#/components/schemas/Program'
description: Contains information about the service category this service falls under.
Remaining:
type: integer
format: int32
description: The number of service sessions remaining in the pricing option that can still be used.
example: 1
SiteId:
type: integer
format: int32
description: The ID of the subscriber site associated with this pricing option.
example: -99
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
ClientID:
type: string
description: The Client ID assigned to this pricing option, specific to when it was purchased by the client.
example: example-value
Returned:
type: boolean
description: Identification for purchased service is returned or not.
example: true
Class:
type: object
description: Implementation of the 'Class' model. Represents a single class instance. The class meets at the start time, goes until the end time.
properties:
ClassScheduleId:
type: integer
format: int32
description: The ID used to retrieve the class schedule for the desired class.
example: 123456
Visits:
type: array
items:
$ref: '#/components/schemas/Visit'
description: Contains information about visits.
example:
- {}
Clients:
type: array
items:
$ref: '#/components/schemas/Client'
description: Contains information about clients.
example:
- {}
Location:
$ref: '#/components/schemas/Location'
description: Contains information about a location.
Resource:
$ref: '#/components/schemas/ResourceSlim'
description: Contains information about a resource, such as a room, assigned to a class.
MaxCapacity:
type: integer
format: int32
description: The maximum number of clients allowed in the class.
example: 1
WebCapacity:
type: integer
format: int32
description: The maximum number of clients allowed to sign up online for the class.
example: 1
TotalBooked:
type: integer
format: int32
description: The total number of clients booked in the class.
example: 1
TotalSignedIn:
type: integer
format: int32
description: The total number of clients signed into the class.
example: 1
TotalBookedWaitlist:
type: integer
format: int32
description: The total number of booked clients on the waiting list for the class.
example: 1
WebBooked:
type: integer
format: int32
description: The total number of clients who signed up online for the class.
example: 1
SemesterId:
type: integer
format: int32
description: The ID of the semester that the class is a part of, if any.
example: 123456
IsCanceled:
type: boolean
description: When `true`, indicates that the class has been cancelled.
When `false`, indicates that the class has not been cancelled.
example: true
Substitute:
type: boolean
description: When `true`, indicates that the class is being taught by a substitute teacher.
When `false`, indicates that the class is being taught by its regular teacher.
example: true
Active:
type: boolean
description: When `true`, indicates that the class is shown to clients when in consumer mode.
When `false`, indicates that the class is not shown to clients when in consumer mode.
example: true
IsWaitlistAvailable:
type: boolean
description: When `true`, indicates that the clients can be placed on a waiting list for the class.
When `false`, indicates that the clients cannot be placed on a waiting list for the class.
example: true
IsEnrolled:
type: boolean
description: When `true`, indicates that the client with the given `ClientId` is enrolled in this class.
When `false`, indicates that the client with the given `ClientId` is not enrolled in this class.
example: true
HideCancel:
type: boolean
description: When `true`, indicates that this class is hidden when cancelled.
When `false`, indicates that this class is not hidden when cancelled.
example: true
Id:
type: integer
format: int32
description: The unique identifier for the class.
example: 123456
IsAvailable:
type: boolean
description: When `true`, indicates that the client with the given client ID can book this class.
When `false`, indicates that the client with the given client ID cannot book this class.
example: true
StartDateTime:
type: string
format: date-time
description: The time this class is scheduled to start.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The time this class is scheduled to end.
example: '2026-05-28T14:30:00Z'
LastModifiedDateTime:
type: string
format: date-time
description: The last time this class was modified.
example: '2026-05-28T14:30:00Z'
ClassDescription:
$ref: '#/components/schemas/ClassDescription'
description: Contains information that defines the class.
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff member.
BookingWindow:
$ref: '#/components/schemas/BookingWindow'
description: Contains information about the window for booking.
BookingStatus:
$ref: '#/components/schemas/BookingStatusEnum'
description: Contains the booking’s payment status.
VirtualStreamLink:
type: string
description: The link to the Mindbody-hosted live stream for the class. This is `null` when no live stream is configured for the class.
example: example-value
WaitListSize:
type: integer
format: int32
description: The maximum number allowed on the waiting list for the class.
example: 1
ClassNotes:
type: string
description: Notes for the class
example: Example note for Mindbody Public API.
ReturnSaleResponse:
type: object
description: Implementation of the 'ReturnSaleResponse' model. ReturnSaleResponse
properties:
ReturnSaleID:
type: integer
format: int32
description: The returned sale ID
example: 1
TrainerID:
type: integer
format: int32
description: The trainer ID who returned the sale
example: 1
Amount:
type: number
format: double
description: The returned amount
example: 49.99
ProductsInventory:
type: object
description: Implementation of the 'ProductsInventory' model.
properties:
ProductId:
type: integer
format: int32
description: A ProductId of the product.
example: 123456
BarcodeId:
type: string
description: The Id is barcode Id of the product.
example: example-value
LocationId:
type: integer
format: int32
description: The LocationId of the product.
example: 123456
UnitsLogged:
type: integer
format: int32
description: UnitsLogged of the product.
example: 1
UnitsSold:
type: integer
format: int32
description: UnitsSold of the product.
example: 1
UnitsInStock:
type: integer
format: int32
description: The units in stock of the product
example: 1
ReorderLevel:
type: integer
format: int32
description: ReorderLevel of the product.
example: 1
MaxLevel:
type: integer
format: int32
description: MaxLevel of the product.
example: 1
CreatedDateTimeUTC:
type: string
format: date-time
description: CreatedDateTimeUTC of the product.
example: '2026-05-28T14:30:00Z'
ModifiedDateTimeUTC:
type: string
format: date-time
description: ModifiedDateTimeUTC of the product.
example: '2026-05-28T14:30:00Z'
Visit:
type: object
description: Implementation of the 'Visit' model. Represents a specific visit to a class
properties:
AppointmentId:
type: integer
format: int32
description: The appointment’s ID.
example: 123456
AppointmentGenderPreference:
$ref: '#/components/schemas/AppointmentGenderPreferenceEnum'
description: 'The gender of staff member with whom the client prefers to book appointments. Possible values are: * Female - Indicates that the client prefers to book appointments with female staff members. * Male - Indicates that the client prefers to book appointments with male staff members. * None - Indicates that the client does not have a staff member gender preference.'
AppointmentStatus:
$ref: '#/components/schemas/AppointmentStatusEnum'
description: The status of the appointment.
ClassId:
type: integer
format: int32
description: The class ID that was used to retrieve the visits.
example: 123456
ClientId:
type: string
description: The ID of the client associated with the visit.
example: example-value
ClientPhotoUrl:
type: string
description: PhotoUrl for the client
example: https://example.mindbodyonline.com/resource/abc123
ClientUniqueId:
type: integer
format: int32
description: The unique ID of the client associated with the visit.
example: 123456
StartDateTime:
type: string
format: date-time
description: The time this class is scheduled to start.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the visit ends. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.
example: '2026-05-28T14:30:00Z'
Id:
type: integer
format: int32
description: The ID of the visit.
example: 123456
LastModifiedDateTime:
type: string
format: date-time
description: When included in the request, only records modified on or after the specified `LastModifiedDate` are included in the response. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.
example: '2026-05-28T14:30:00Z'
LateCancelled:
type: boolean
description: When `true`, indicates that the class has been `LateCancelled`.
When `false`, indicates that the class has not been `LateCancelled`.
example: true
SiteId:
type: integer
format: int32
description: The ID of the business where the visit is booked.
example: -99
LocationId:
type: integer
format: int32
description: The ID of the location where the visit took place or is to take place.
example: 123456
MakeUp:
type: boolean
description: 'When `true`, the client can make up this session and a session is not deducted from the pricing option that was used to sign the client into the enrollment. When the client has the make-up session, a session is automatically removed from a pricing option that matches the service category of the enrollment and is within the same date range of the missed session.
When `false`, the client cannot make up this session. See [Enrollments: Make-ups](https://support.mindbodyonline.com/s/article/203'
example: true
Name:
type: string
description: The name of the class.
example: Sunset Yoga Studio
ServiceId:
type: integer
format: int32
description: The unique ID assigned to this pricing option when it was purchased by the client.
example: 123456
ServiceName:
type: string
description: The name of the pricing option at the site where it was purchased.
example: example-value
Service:
$ref: '#/components/schemas/ClientService'
description: The details of the pricing option at the site where it was purchased.
ProductId:
type: integer
format: int32
description: The ID of the pricing option at the site where it was purchased.
example: 123456
SignedIn:
type: boolean
description: When `true`, indicates that the client has been signed in.
When `false`, indicates that the client has not been signed in.
example: true
StaffId:
type: integer
format: int32
description: The ID of the staff member who is teaching the class.
example: 123456
WebSignup:
type: boolean
description: When `true`, indicates that the client signed up online.
When `false`, indicates that the client was signed up by a staff member.
example: true
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
Missed:
type: boolean
description: When `true`, indicates that the class has been `Missed`.
When `false`, indicates that the class has not been `Missed`.
example: true
VisitType:
type: integer
format: int32
description: Indicates the Id of visit type.
example: 1
TypeGroup:
type: integer
format: int32
description: Indicates the Id of type group.
example: 1
TypeTaken:
type: string
description: Indicates the service type taken.
example: example-value
SalesRep:
type: object
description: Implementation of the 'SalesRep' model.
properties:
FirstName:
type: string
description: The first name of the sales representative.
example: Alex
Id:
type: integer
format: int32
description: The staff ID of the sales representative.
example: 123456
LastName:
type: string
description: The last name of the sales representative.
example: Lane
SalesRepNumber:
type: integer
format: int32
description: This value is the number that identifies the type of sales representative assigned to this client. One to six types of sales representatives can be assigned to a client at any given time, depending on site settings.
example: 1
SalesRepNumbers:
type: array
items:
type: integer
format: int32
description: A list of the different types of sales representative functions assigned to this staff member.
example:
- 1
SalePayment:
type: object
description: Implementation of the 'SalePayment' model.
properties:
Id:
type: integer
format: int32
description: A unique identifier for this payment.
example: 123456
Amount:
type: number
format: double
description: The total amount of sales that were made on the sale date, including all payment methods that were used and taxes that were collected.
example: 49.99
Method:
type: integer
format: int32
description: The method used to make this payment.
example: 1
Type:
type: string
description: The payment method type used for the client’s purchase.
example: example-value
Notes:
type: string
description: Payment notes that are entered under the selected payment method in the Retail screen before completing the sale.
example: Example note for Mindbody Public API.
TransactionId:
type: integer
format: int32
description: The ID of transaction. Use this ID when calling the GET Transactions endpoint.
example: 123456
PaginationResponse:
type: object
description: Implementation of the 'PaginationResponse' model. Contains information about the pagination to use.
properties:
RequestedLimit:
type: integer
format: int32
description: Limit from pagination request
example: 10
RequestedOffset:
type: integer
format: int32
description: Offset from pagination request
example: 10
PageSize:
type: integer
format: int32
description: Number of results returned in this response
example: 1
TotalResults:
type: integer
format: int32
description: Total number of results in dataset
example: 1
GenderPreferenceEnum:
type: string
description: GenderPreferenceEnum enumeration.
enum:
- None
- Female
- Male
CheckoutAlternativePaymentInfo:
type: object
description: Implementation of the 'CheckoutAlternativePaymentInfo' model. Request object to capture Alternative Payment information.
properties:
PaymentMethodId:
type: integer
format: int32
description: 'The type of alternative payment. Possible values are: * 997 - Indicates that this payment item is iDEAL. * 801 - Indicates that this payment item is Apple Pay.'
example: 123456
Amount:
type: number
format: double
description: The amount to be paid
example: 49.99
ClientType:
type: object
description: Implementation of the 'ClientType' model. Represents a client's type classification.
properties:
Id:
type: integer
format: int32
description: The unique identifier for the client type.
example: 123456
Name:
type: string
description: The display name of the client type.
example: Sunset Yoga Studio
Location:
type: object
description: Implementation of the 'Location' model.
properties:
AdditionalImageURLs:
type: array
items:
type: string
description: A list of URLs of any images associated with this location.
example:
- example-value
Address:
type: string
description: The first line of the location’s street address.
example: 123 Market St
Address2:
type: string
description: A second address line for the location’s street address, if needed.
example: 123 Market St
Amenities:
type: array
items:
$ref: '#/components/schemas/Amenity'
description: A list of strings representing amenities available at the location.
example:
- {}
BusinessDescription:
type: string
description: The business description for the location, as configured by the business owner.
example: Example note for Mindbody Public API.
City:
type: string
description: The location’s city.
example: San Francisco
Description:
type: string
description: A description of the location.
example: Example note for Mindbody Public API.
HasClasses:
type: boolean
description: When `true`, indicates that classes are held at this location.
When `false`, Indicates that classes are not held at this location.
example: true
Id:
type: integer
format: int32
description: The ID assigned to this location.
example: 123456
Latitude:
type: number
format: double
description: The location’s latitude.
example: 1.0
Longitude:
type: number
format: double
description: The location’s longitude.
example: 1.0
Name:
type: string
description: The name of this location.
example: Sunset Yoga Studio
Phone:
type: string
description: The location’s phone number.
example: '+15551234567'
PhoneExtension:
type: string
description: The location’s phone extension.
example: example-value
PostalCode:
type: string
description: The location’s postal code.
example: '94110'
SiteID:
type: integer
format: int32
description: The ID number assigned to this location.
example: 1
StateProvCode:
type: string
description: The location’s state or province code.
example: example-value
Tax1:
type: number
format: double
description: A decimal representation of the location’s first tax rate. Tax properties are provided to apply all taxes to the purchase price that the purchase is subject to. Use as many tax properties as needed to represent all the taxes that apply in the location. Enter a decimal number that represents the appropriate tax rate. For example, for an 8% sales tax, enter 0.08.
example: 1.0
Tax2:
type: number
format: double
description: A decimal representation of the location’s second tax rate. See the example in the description of Tax1.
example: 1.0
Tax3:
type: number
format: double
description: A decimal representation of the location’s third tax rate. See the example in the description of Tax1.
example: 1.0
Tax4:
type: number
format: double
description: A decimal representation of the location’s fourth tax rate. See the example in the description of Tax1.
example: 1.0
Tax5:
type: number
format: double
description: A decimal representation of the location’s fifth tax rate. See the example in the description of Tax1.
example: 1.0
TotalNumberOfRatings:
type: integer
format: int32
description: The number of reviews that clients have left for this location.
example: 1
AverageRating:
type: number
format: double
description: The average rating for the location, out of five stars.
example: 1.0
TotalNumberOfDeals:
type: integer
format: int32
description: The number of distinct introductory pricing options available for purchase at this location.
example: 1
GetAlternativePaymentMethodsResponse:
type: object
description: Implementation of the 'GetAlternativePaymentMethodsResponse' model. Response for the GetAlternativePaymentMethods method.
properties:
PaymentMethods:
type: array
items:
$ref: '#/components/schemas/AlternativePaymentMethod'
description: Contains information about the alternative payment methods.
example:
- {}
AutopaySchedule:
type: object
description: Implementation of the 'AutopaySchedule' model.
properties:
FrequencyType:
type: string
description: 'Defines how often clients are charged. Possible values are: * SetNumberOfAutopays * MonthToMonth'
example: example-value
FrequencyValue:
type: integer
format: int32
description: The interval of AutoPay frequency, combined with `FrequencyTimeUnit`. This value is null if `FrequencyType` is `MonthToMonth`.
example: 1
FrequencyTimeUnit:
type: string
description: 'Defines the time unit that sets how often to run the AutoPay, combined with `FrequencyValue`. This value is null if `FrequencyType` is `MonthToMonth`. Possible values are: * Weekly * Monthly * Yearly'
example: example-value
PurchaseAccountCreditRequest:
type: object
description: Implementation of the 'PurchaseAccountCreditRequest' model.
properties:
ClientId:
type: string
description: The ID of the location where the account credit is being sold.
example: example-value
Test:
type: boolean
description: When `true`, allows you to test the request without affecting the database. When `false`, the request is carried out and the database is affected.
example: true
LocationId:
type: integer
format: int32
description: The ID of the location where the account credit is being sold.
example: 123456
SendEmailReceipt:
type: boolean
description: When `true`, indicates that a purchase receipt email should be sent to the purchasing client, if all settings are correctly configured.
When `false`, no email is sent to the purchaser.
example: true
SalesRepId:
type: integer
format: int32
description: The ID of the staff member to be marked as the sales rep for this account credit sale.
example: 123456
ConsumerPresent:
type: boolean
description: 'When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be false as that could very likely lead to a bank declining all transactions for the merchant. Defaults to false. Default: **false**'
example: true
PaymentAuthenticationCallbackUrl:
type: string
description: The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is true.
example: https://example.mindbodyonline.com/resource/abc123
PaymentInfo:
$ref: '#/components/schemas/CheckoutPaymentInfo'
description: Contains information about the payment.
Size:
type: object
description: Implementation of the 'Size' model.
properties:
Id:
type: integer
format: int32
description: The unique ID of the product size.
example: 123456
Name:
type: string
description: The name of the size of product.
example: Sunset Yoga Studio
Program:
type: object
description: Implementation of the 'Program' model.
properties:
Id:
type: integer
format: int32
description: The service category’s ID.
example: 123456
Name:
type: string
description: The name of this service category.
example: Sunset Yoga Studio
ScheduleType:
$ref: '#/components/schemas/ScheduleTypeEnum'
description: 'The service category’s schedule type. Possible values are: * All * Class * Enrollment * Appointment * Resource * Arrival'
CancelOffset:
type: integer
format: int32
description: The offset to use for the service category.
example: 10
ContentFormats:
type: array
items:
type: string
description: 'The content delivery platform(s) used by the service category. Possible values are: * InPerson * Livestream:Mindbody * Livestream:Other'
example:
- example-value
PricingRelationships:
$ref: '#/components/schemas/PricingRelationships'
description: Pricing relationships
UpdateSaleDateRequest:
type: object
description: Implementation of the 'UpdateSaleDateRequest' model. Update Sales Date Request Model
properties:
SaleID:
type: integer
format: int32
description: The Sale ID for which saleDate needs to be updated. This is the `Sale[].Id` returned from GET Sales.
example: 1
SaleDate:
type: string
format: date-time
description: The sale date which needs to be modified.
example: '2026-05-28T14:30:00Z'
ResourceSlim:
type: object
description: Implementation of the 'ResourceSlim' model. Contains information about resources, such as rooms.
properties:
Id:
type: integer
format: int32
description: The ID of the resource being used for this appointment.
example: 123456
Name:
type: string
description: The name of the resource being used for this appointment.
example: Sunset Yoga Studio
CustomPaymentMethod:
type: object
description: Implementation of the 'CustomPaymentMethod' model.
properties:
Id:
type: integer
format: int32
description: The ID of the custom payment method.
example: 123456
Name:
type: string
description: The name of the custom payment method.
example: Sunset Yoga Studio
ProspectStage:
type: object
description: Implementation of the 'ProspectStage' model.
properties:
Active:
type: boolean
description: When `true`, indicates that the client is a prospect at the business and has not yet purchased any of the business pricing options. When `false`, indicates that the client has already purchased at least one pricing option from the business.
example: true
Description:
type: string
description: A description of the prospect stage.
example: Example note for Mindbody Public API.
Id:
type: integer
format: int32
description: The ID of the prospect stage assigned to the client.
example: 123456
PurchaseGiftCardResponse:
type: object
description: Implementation of the 'PurchaseGiftCardResponse' model.
properties:
BarcodeId:
type: string
description: The barcode ID assigned to the purchased gift card.
example: example-value
Value:
type: number
format: double
description: The monetary value of the gift card.
example: 1.0
AmountPaid:
type: number
format: double
description: The amount paid for the gift card by the purchaser.
example: 49.99
FromName:
type: string
description: The name of the purchaser.
example: example-value
LayoutId:
type: integer
format: int32
description: The ID of the layout used for this gift card.
example: 123456
EmailReceipt:
type: boolean
description: Whether or not an email receipt was sent to the purchaser. If true, a receipt was sent.
example: true
PurchaserClientId:
type: string
description: The client ID of the purchaser.
example: example-value
PurchaserEmail:
type: string
description: The purchaser’s email address.
example: kinlane@example.com
RecipientEmail:
type: string
description: The recipient’s email address.
example: kinlane@example.com
SaleId:
type: integer
format: int32
description: The sale ID of the gift card.
example: 123456
PaymentProcessingFailures:
type: array
items:
$ref: '#/components/schemas/PaymentProcessingFailure'
description: Any cart processing failures, for example when SCA challenged, the cart is in PaymentAuthenticationRequired state and at least one of the failures listed will provide an authentication Url.
example:
- {}
CheckoutItem:
type: object
description: Implementation of the 'CheckoutItem' model.
properties:
Type:
type: string
description: 'The type of item. Possible values are: * Service - Indicates that this item is a pricing option. * Product - Indicates that this item is a retail product. * Package - Indicates that this item is a package. * Tip - Indicates that this item is a tip.'
example: example-value
Metadata:
type: string
description: Contains information about the item to be purchased. See [Cart Item Metadata](https://developers.mindbodyonline.com/PublicDocumentation /V6#cart-item-metadata) for more information.
example: example-value
GetGiftCardResponse:
type: object
description: Implementation of the 'GetGiftCardResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
GiftCards:
type: array
items:
$ref: '#/components/schemas/GiftCard'
description: Contains information about the gift cards.
example:
- {}
ClientCreditCard:
type: object
description: Implementation of the 'ClientCreditCard' model. A client credit card.
properties:
Address:
type: string
description: The billing address for the credit card.
example: 123 Market St
CardHolder:
type: string
description: The name of the card holder.
example: example-value
CardNumber:
type: string
description: The credit card number.
example: example-value
CardType:
type: string
description: The type of credit card, for example Visa or MasterCard.
example: example-value
City:
type: string
description: The city in which the billing address is located.
example: San Francisco
ExpMonth:
type: string
description: The month in which the credit card expires.
example: example-value
ExpYear:
type: string
description: The year in which the credit card expires.
example: example-value
LastFour:
type: string
description: The last four digits of the credit card number.
example: example-value
PostalCode:
type: string
description: The postal code where the billing address is located.
example: '94110'
State:
type: string
description: The state that the billing address is located in.
example: CA
GetGiftCardBalanceResponse:
type: object
description: Implementation of the 'GetGiftCardBalanceResponse' model.
properties:
BarcodeId:
type: string
description: The gift card's barcode ID.
example: example-value
RemainingBalance:
type: number
format: double
description: The gift card's remaining balance.
example: 49.99
PaymentProcessingFailure:
type: object
description: Implementation of the 'PaymentProcessingFailure' model. Contains information about any payment processing failure. Specifically for when an SCA challenge is
properties:
Type:
type: string
description: Returned only if SCA challenge is indicated.
example: example-value
Message:
type: string
description: Returned only if SCA challenge is indicated.
example: example-value
AuthenticationRedirectUrl:
type: string
description: Returned only if SCA challenge is indicated.
example: https://example.mindbodyonline.com/resource/abc123
ClientRelationship:
type: object
description: Implementation of the 'ClientRelationship' model. A relation between two clients.
properties:
RelatedClientId:
type: string
description: The RSSID of the related client.
example: example-value
RelatedUniqueId:
type: integer
format: int32
description: The UniqueId of the related client.
example: 123456
Relationship:
$ref: '#/components/schemas/Relationship'
description: Contains details about the relationship between two clients.
RelationshipName:
type: string
description: The name of the relationship of the related client.
example: example-value
Delete:
type: boolean
description: 'When true, the associated relationship is removed from the client’s list of relationships. This property is ignored in all other use cases. Default: *false*'
example: true
PurchaseGiftCardRequest:
type: object
description: Implementation of the 'PurchaseGiftCardRequest' model.
properties:
LocationId:
type: integer
format: int32
description: The ID of the location where the gift card is being sold.
example: 123456
PurchaserClientId:
type: string
description: The RSSID of the client who is purchasing the gift card.
example: example-value
GiftCardId:
type: integer
format: int32
description: The product ID of the gift card being purchased.
example: 123456
Test:
type: boolean
description: When `true`, allows you to test the request without affecting the database.
When `false`, the request is carried out and the database is affected.
example: true
LayoutId:
type: integer
format: int32
description: The ID of the layout used for the gift card’s image.
example: 123456
SendEmailReceipt:
type: boolean
description: When `true`, indicates that a purchase receipt email should be sent to the purchasing client, if all settings are correctly configured.
When `false`, no email is sent to the purchaser.
example: true
RecipientEmail:
type: string
description: 'The email address to send the gift card image to. This parameter is required if the `LayoutId` is not 0.
Maximum length: **100**'
example: kinlane@example.com
RecipientName:
type: string
description: 'The name of the person who is to receive the gift card. This parameter is required if the `LayoutId` is not 0.
Maximum length: **20**'
example: example-value
Title:
type: string
description: 'The text to use as the title of the gift card, for example: Happy Birthday, Maria! This parameter is required if the `LayoutId` is not 0.
Maximum length: **20**'
example: example-value
GiftMessage:
type: string
description: 'A personal message to include in the gift card.
Maximum length: **300**'
example: example-value
DeliveryDate:
type: string
format: date-time
description: 'The date that the gift card’s image is to be delivered to the recipient. This parameter cannot be set to a date in the past. This parameter is required if the `LayoutId` is not 0. Default: **today** Minimum: **today**'
example: '2026-05-28T14:30:00Z'
PaymentInfo:
$ref: '#/components/schemas/CheckoutPaymentInfo'
description: Contains information about the payment.
SalesRepId:
type: integer
format: int32
description: The ID of the staff member who is to be marked as the sales rep for this gift card purchase.
example: 123456
ConsumerPresent:
type: boolean
description: 'When `true`, indicates that the consumer is available to address any SCA challenge issued by the bank. EU Only.
Default: **false**'
example: true
PaymentAuthenticationCallbackUrl:
type: string
description: This is the Url the consumer will be redirected back to after completion of the Banks SCA challenge.
example: https://example.mindbodyonline.com/resource/abc123
BarcodeId:
type: string
description: 'Sets the barcode ID of the giftcard. When not provided, a barcode ID is automatically generated.
If a giftcard with the given barcode ID already exists and the site supports reloadable giftcards, the existing giftcard is reloaded
Maximum length: **100**'
example: example-value
SenderName:
type: string
description: 'Overrides the name that would otherwise be populated by specifying PurchaserClientId.
Maximum length: **20**'
example: example-value
Unavailability:
type: object
description: Implementation of the 'Unavailability' model.
properties:
Id:
type: integer
format: int32
description: The ID of the unavailability.
example: 123456
StartDateTime:
type: string
format: date-time
description: The date and time the unavailability starts.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the unavailability ends.
example: '2026-05-28T14:30:00Z'
Description:
type: string
description: A description of the unavailability.
example: Example note for Mindbody Public API.
StoredCardInfo:
type: object
description: Implementation of the 'StoredCardInfo' model.
properties:
LastFour:
type: string
description: The model property of type str.
example: example-value
Service:
type: object
description: Implementation of the 'Service' model.
properties:
Price:
type: number
format: double
description: The cost of the pricing option when sold at a physical location.
example: 49.99
OnlinePrice:
type: number
format: double
description: The cost of the pricing option when sold online.
example: 49.99
TaxIncluded:
type: number
format: double
description: The amount of tax included in the price, if inclusive pricing is enabled.
example: 1.0
ProgramId:
type: integer
format: int32
description: The ID of the program that this pricing option applies to.
example: 123456
TaxRate:
type: number
format: double
description: The tax rate applied to the pricing option. This field is populated only when you include a `LocationID` in the request.
example: 1.0
ProductId:
type: integer
format: int32
description: The unique ID of this pricing option. This is the `PurchasedItems[].Id` returned from GET Sales.
example: 123456
Id:
type: string
description: The barcode ID of the pricing option. This is the `PurchasedItems[].BarcodeId` returned from GET Sales.
example: example-value
Name:
type: string
description: The name of the pricing option.
example: Sunset Yoga Studio
Count:
type: integer
format: int32
description: The initial count of usages available for the pricing option.
example: 10
SellOnline:
type: boolean
description: 'When true, filters to the pricing options that can be sold online. Default: *false*'
example: true
SaleInContractOnly:
type: boolean
description: When `true`, indicates that the pricing option is allowed to be purchased in a contract or package. When `false`, indicates that the pricing option is not allowed to be purchased in a contract or package.
example: true
Type:
type: string
description: The type of the pricing option, either Drop-in, Series, or Unlimited.
example: example-value
ExpirationType:
type: string
description: The date the pricing option begins its activation, either the date of sale or the date the client first used it for a visit.
example: example-value
ExpirationUnit:
type: string
description: The unit, either days or months, of `ExpirationLength`, indicating how long the pricing option is active for.
example: example-value
ExpirationLength:
type: integer
format: int32
description: The number of days or months that the pricing option is active for.
example: 1
RevenueCategory:
type: string
description: The revenue category of the pricing option.
example: example-value
MembershipId:
type: integer
format: int32
description: The ID that this pricing option grants membership to.
example: 123456
SellAtLocationIds:
type: array
items:
type: integer
format: int32
description: The location IDs where this pricing option is sold.
example:
- 1
UseAtLocationIds:
type: array
items:
type: integer
format: int32
description: The location IDs where this pricing option may be used.
example:
- 1
Priority:
type: string
description: The priority of the pricing option, either High, Medium, or Low.
example: example-value
IsIntroOffer:
type: boolean
description: Indicates if this pricing option is an introductory offer.
example: true
IntroOfferType:
type: string
description: When `IsIntroOffer` is true, this indicates if this introductory offer may be purchased by new clients or new and existing clients.
example: example-value
IsThirdPartyDiscountPricing:
type: boolean
description: Indicates whether this pricing option is sold at discounted rates by third-party services, such as ClassPass.
example: true
Program:
type: string
description: The name of the service category the pricing option belongs to.
example: example-value
Discontinued:
type: boolean
description: If the pricing option has been marked discontinued.
example: true
RestrictToMembershipIds:
type: array
items:
type: integer
format: int32
description: Restricted to members of these membership ids.
example:
- 1
ApplyMemberDiscountsOfMembershipIds:
type: array
items:
type: integer
format: int32
description: Discounts applied of these membership ids.
example:
- 1
ReturnSaleRequest:
type: object
description: Implementation of the 'ReturnSaleRequest' model. ReturnSaleRequest
properties:
SaleId:
type: integer
format: int32
description: The Sale ID of the sale item to be returned.
example: 123456
ReturnReason:
type: string
description: The reason for the return.
example: example-value
StaffSetting:
type: object
description: Implementation of the 'StaffSetting' model. contains the information about the staff settings.
properties:
UseStaffNicknames:
type: boolean
description: When `true`, `DisplayName` of the staff will be displayed. When `false`, `DisplayName` will be displayed as null.
example: true
ShowStaffLastNamesOnSchedules:
type: boolean
description: When `true`, indicates that the Name contains both the `FirstName` and `LastName` of the staff. When `false`, indicates that the Name contains only the `FirstName` of the staff.
example: true
SessionType:
type: object
description: Implementation of the 'SessionType' model. SessionType contains information about the session types in a business.
properties:
Type:
$ref: '#/components/schemas/TypeEnum'
description: 'Contains the class description session type. Possible values are: * All * Class * Enrollment * Appointment * Resource * Media * Arrival'
DefaultTimeLength:
type: integer
format: int32
description: The default amount of time that a session of this type typically lasts.
example: 1
StaffTimeLength:
type: integer
format: int32
description: The amount of time that a session of this type will last for a specific Staff (when applicable.)
example: 1
Id:
type: integer
format: int32
description: This session type’s unique ID.
example: 123456
Name:
type: string
description: The name of this session type.
example: Sunset Yoga Studio
OnlineDescription:
type: string
description: The online description associated with the appointment.
example: Example note for Mindbody Public API.
NumDeducted:
type: integer
format: int32
description: The number of sessions that this session type deducts from the pricing option used to pay for this type of session.
example: 1
ProgramId:
type: integer
format: int32
description: This session type’s service category ID.
example: 123456
Category:
type: string
description: This session type’s category.
example: example-value
CategoryId:
type: integer
format: int32
description: This session type’s category ID.
example: 123456
Subcategory:
type: string
description: This session type’s subcategory.
example: example-value
SubcategoryId:
type: integer
format: int32
description: This session type’s subcategory ID.
example: 123456
AvailableForAddOn:
type: boolean
description: This session type’s Add On Flag.
example: true
UpdateSaleDateResponse:
type: object
description: Implementation of the 'UpdateSaleDateResponse' model. Update Sale Date Response Properties
properties:
Sale:
$ref: '#/components/schemas/Sale'
description: The updated Sale corresponding to the modified date
Level:
type: object
description: Implementation of the 'Level' model. A session level.
properties:
Id:
type: integer
format: int32
description: Contains the Id given to this level.
example: 123456
Name:
type: string
description: Contains the name given to this level.
example: Sunset Yoga Studio
Description:
type: string
description: Contains a description of this level.
example: Example note for Mindbody Public API.
Contract:
type: object
description: Implementation of the 'Contract' model.
properties:
Id:
type: integer
format: int32
description: The contract’s ID at the subscriber’s business.
example: 123456
Name:
type: string
description: The name of the contract.
example: Sunset Yoga Studio
Description:
type: string
description: A description of the contract.
example: Example note for Mindbody Public API.
AssignsMembershipId:
type: integer
format: int32
description: The ID of the membership that was assigned to the client when the client signed up for a contract.
example: 123456
AssignsMembershipName:
type: string
description: The name of the membership that was assigned to the client when the client signed up for this contract.
example: example-value
SoldOnline:
type: boolean
description: When `true`, indicates that this membership is intended to be shown to clients in client experiences.
When `false`, this contract should only be shown to staff members.
example: true
ContractItems:
type: array
items:
$ref: '#/components/schemas/ContractItem'
description: Contains information about the items in the contract.
example:
- {}
IntroOffer:
type: string
description: 'Defines whether this contract is treated as an introductory offer. If this is an introductory offer, then clients are always charged a set number of times rather than month to month, using their AutoPays. Possible values are: * None * NewConsumer * NewAndReturningConsumer'
example: example-value
AutopaySchedule:
$ref: '#/components/schemas/AutopaySchedule'
description: Contains information about the AutoPay schedule. This parameter is null if `AutopayTriggerType` has a value of `PricingOptionRunsOutOrExpires`.
NumberOfAutopays:
type: integer
format: int32
description: The number of times that the AutoPay is to be run. This value is null if `FrequencyType` is `MonthToMonth`.
example: 1
AutopayTriggerType:
type: string
description: 'Defines whether the AutoPay, if applicable to this contract, runs on a set schedule or when the pricing option runs out or expires. Possible values are: * OnSetSchedule * PricingOptionRunsOutOrExpires'
example: example-value
ActionUponCompletionOfAutopays:
type: string
description: 'The renewal action to be taken when this AutoPay is completed. Possible values are: * ContractExpires * ContractAutomaticallyRenews'
example: example-value
ClientsChargedOn:
type: string
description: 'The value that indicates when clients are charged. Possible values are: * OnSaleDate * FirstOfTheMonth * FifteenthOfTheMonth * LastDayOfTheMonth * FirstOrFifteenthOfTheMonth * FirstOrSixteenthOfTheMonth * FifteenthOrEndOfTheMonth * SpecificDate'
example: example-value
ClientsChargedOnSpecificDate:
type: string
format: date-time
description: If `ClientsChargedOn` is defined as a specific date, this property holds the value of that date. Otherwise, this property is null.
example: '2026-05-28T14:30:00Z'
DiscountAmount:
type: number
format: double
description: The calculated discount applied to the items in this contract.
example: 49.99
DepositAmount:
type: number
format: double
description: The amount of the deposit required for this contract.
example: 49.99
FirstAutopayFree:
type: boolean
description: When `true`, indicates that the first payment for the AutoPay is free.
example: true
LastAutopayFree:
type: boolean
description: When `true`, indicates that the last payment for the AutoPay is free.
example: true
ClientTerminateOnline:
type: boolean
description: When `true`, indicates that the client can terminate this contract on the Internet.
example: true
MembershipTypeRestrictions:
type: array
items:
$ref: '#/components/schemas/MembershipTypeRestriction'
description: Contains information about the memberships that can purchase this contract. If null, then no membership restrictions exist, and anyone can purchase the contract.
example:
- {}
LocationPurchaseRestrictionIds:
type: array
items:
type: integer
format: int32
description: The IDs of the locations where this contract may be sold. If there are no restrictions, this value is null.
example:
- 1
LocationPurchaseRestrictionNames:
type: array
items:
type: string
description: Location names where the contract may be purchased. If this value is null, there are no restrictions.
example:
- example-value
AgreementTerms:
type: string
description: Business-defined terms and conditions for the contract.
example: example-value
RequiresElectronicConfirmation:
type: boolean
description: When `true`, clients who purchase the contract are prompted to agree to the terms of the contract the next time that they log in.
example: true
AutopayEnabled:
type: boolean
description: When `true`, this contract establishes an AutoPay on the client’s account.
example: true
FirstPaymentAmountSubtotal:
type: number
format: double
description: The subtotal of the amount that the client is to be charged when signing up for the contract.
example: 49.99
FirstPaymentAmountTax:
type: number
format: double
description: The amount of tax that the client is to be charged when signing up for the contract.
example: 49.99
FirstPaymentAmountTotal:
type: number
format: double
description: The total amount that the client is to be charged when signing up for the contract.
example: 49.99
RecurringPaymentAmountSubtotal:
type: number
format: double
description: The subtotal amount that the client is to be charged on an ongoing basis.
example: 49.99
RecurringPaymentAmountTax:
type: number
format: double
description: The amount of tax the client is to be charged on an ongoing basis.
example: 49.99
RecurringPaymentAmountTotal:
type: number
format: double
description: The total amount that the client is to be charged on an ongoing basis.
example: 49.99
TotalContractAmountSubtotal:
type: number
format: double
description: The subtotal amount that the client is to be charged over the lifespan of the contract.
example: 49.99
TotalContractAmountTax:
type: number
format: double
description: The total amount of tax the client is to be charged over the lifespan of the contract.
example: 49.99
TotalContractAmountTotal:
type: number
format: double
description: The total amount the client is to be charged over the lifespan of the contract.
example: 49.99
PromoPaymentAmountSubtotal:
type: number
format: double
description: Subtotal promotional period
example: 49.99
PromoPaymentAmountTax:
type: number
format: double
description: Taxes of promotional period
example: 49.99
PromoPaymentAmountTotal:
type: number
format: double
description: Total of promotional period
example: 49.99
NumberOfPromoAutopays:
type: integer
format: int32
description: Number of times that the AutoPay runs under the promotional period
example: 1
CheckoutShoppingCartRequest:
type: object
description: Implementation of the 'CheckoutShoppingCartRequest' model.
properties:
Items:
type: array
items:
$ref: '#/components/schemas/CheckoutItemWrapper'
description: A list of the items in the cart.
example:
- {}
Payments:
type: array
items:
$ref: '#/components/schemas/CheckoutPaymentInfo'
description: A list of payment information objects to be applied to payment against the items in the cart.
example:
- {}
CartId:
type: string
description: The unique ID of the shopping cart to be processed. You can use this value to maintain a persistent cart. If you do not specify a cart ID, the MINDBODY software generates one.
example: example-value
ClientId:
type: string
description: The RSSID of the client making the purchase. A 'ClientId' OR 'UniqueClientId' must be specified to complete a sale.
example: example-value
UniqueClientId:
type: integer
format: int32
description: 'The UniqueId of the client making the purchase. A ''ClientId'' OR ''UniqueClientId'' must be specified to complete a sale. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.'
example: 123456
PayerClientId:
type: string
description: The RSSID of the client paying for the purchase. This client needs to have a relationship of type "Pays for" with the client specified in the 'ClientId' or 'UniqueClientId' fields.
example: example-value
UniquePayerClientId:
type: integer
format: int32
description: 'The UniqueId of the client paying for the purchase. This client needs to have a relationship of type "Pays for" with the client specified in the ''ClientId'' or ''UniqueClientId'' field. Note: you need to provide the ''UniquePayerClientId'' OR the ''PayerClientId''. If both are provided, the ''UniquePayerClientId'' takes precedence.'
example: 123456
Test:
type: boolean
description: 'When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.
When `false`, the transaction takes place and the database is affected.
Default: **false**'
example: true
InStore:
type: boolean
description: 'When `true`, indicates that the cart is to be completed by a staff member and is to take place at one of the business’ physical locations.
When `false`, indicates that the cart is to be completed by a client from the business’ online store.
Default: **false**'
example: true
CalculateTax:
type: boolean
description: 'When `true`, indicates that the tax should be calculated. When `false`, indicates that the tax should not be calculated. Default: **true**'
example: true
PromotionCode:
type: string
description: Promotion code to be applied to the cart.
example: example-value
SendEmail:
type: boolean
description: 'When `true`, sends a purchase receipt email to the client. Note that all appropriate permissions and settings must be enabled for the client to receive an email.
Default: **false**'
example: true
LocationId:
type: integer
format: int32
description: 'The location ID to be used for pulling business mode prices and taxes. If no location ID is supplied, it defaults to the online store, represented by a null value. Default: **null** (the online store)'
example: 123456
Image:
type: string
description: The byte array data of the signature image.
example: example-value
ImageFileName:
type: string
description: The name of the signature image being uploaded.
example: example-value
ConsumerPresent:
type: boolean
description: When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be `false` as that could very likely lead to a bank declining all transactions for the merchant. Defaults to `false`.
example: true
PaymentAuthenticationCallbackUrl:
type: string
description: The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is `true`
example: https://example.mindbodyonline.com/resource/abc123
TransactionIds:
type: array
items:
type: integer
format: int32
description: The list of TransactionIds provided with initial response containing SCA Challenge URLs for ConsumerPresent transactions
example:
- 1
IsBillingPostalCodeRequired:
type: boolean
description: the flag to check billing post code is required or not.
example: true
EnforceLocationRestrictions:
type: boolean
description: 'When `true`, enforces "sell at" location restrictions on the cart items. When `false`, "sell at" location restrictions are not enforced. Default: **false**'
example: true
GetContractsResponse:
type: object
description: Implementation of the 'GetContractsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Contracts:
type: array
items:
$ref: '#/components/schemas/Contract'
description: Contains information about each contract.
example:
- {}
CheckoutAppointmentBookingRequest:
type: object
description: Implementation of the 'CheckoutAppointmentBookingRequest' model.
properties:
StaffId:
type: integer
format: int32
description: The ID of the staff member who is to provide the service being booked.
example: 123456
LocationId:
type: integer
format: int32
description: The ID of the location where the appointment is to take place.
example: 123456
SessionTypeId:
type: integer
format: int32
description: The ID of the session type of this appointment.
example: 123456
Resources:
type: array
items:
$ref: '#/components/schemas/ResourceSlim'
description: Contains information about the resources to be used for the appointment.
example:
- {}
StartDateTime:
type: string
format: date-time
description: The date and time that the appointment is to start in the business’ timezone. This value must be passed in the format yyyy-mm-ddThh:mm:ss.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time that the appointment is to end in the business’ timezone. This value must be passed in the format yyyy-mm-ddThh:mm:ss.
example: '2026-05-28T14:30:00Z'
ProviderId:
type: string
description: The National Provider Identifier (NPI) of the staff member who is to provide the service. For an explanation of Provider IDs, see [Provider IDs](https://support.mindbodyonline.com/s/article/204075743-Provide r-IDs?language=en_US).
example: example-value
UpdateServiceResponse:
type: object
description: Implementation of the 'UpdateServiceResponse' model. A response from the Update Services API method.
properties:
Services:
type: array
items:
$ref: '#/components/schemas/Service'
description: List of services as response
example:
- {}
MembershipTypeRestriction:
type: object
description: Implementation of the 'MembershipTypeRestriction' model.
properties:
Id:
type: integer
format: int32
description: The ID of the membership that is allowed to purchase the contract.
example: 123456
Name:
type: string
description: The name of the membership type.
example: Sunset Yoga Studio
Product:
type: object
description: Implementation of the 'Product' model. Represents a product.
properties:
ProductId:
type: integer
format: int32
description: The unique ID associated with product.
example: 123456
Id:
type: string
description: The barcode number of the product. This is the `PurchasedItems[].BarcodeId` returned from GET Sales.
example: example-value
CategoryId:
type: integer
format: int32
description: The revenue category ID of the product. Use this ID when calling the GET Categories endpoint.
example: 123456
SubCategoryId:
type: integer
format: int32
description: The SubCategory ID of the product. Use this ID when calling the GET Categories endpoint.
example: 123456
SecondaryCategoryId:
type: integer
format: int32
description: The SecondaryCategory ID of the product. Use this ID when calling the GET Categories endpoint.
example: 123456
Price:
type: number
format: double
description: The price of the product.
example: 49.99
TaxIncluded:
type: number
format: double
description: If tax inclusive-pricing is enabled, this field shows how much tax was added to the price. To fetch this value `LocationId` must be passed as a query parameter.
example: 1.0
TaxRate:
type: number
format: double
description: The tax rate that was applied to this purchase. To fetch this value `LocationId` must be passed as a query parameter.
example: 1.0
GroupId:
type: integer
format: int32
description: The unique ID of the product group.
example: 123456
Name:
type: string
description: The name of the product.
example: Sunset Yoga Studio
OnlinePrice:
type: number
format: double
description: The online price of the product.
example: 49.99
ShortDescription:
type: string
description: A short text description of the product.
example: Example note for Mindbody Public API.
LongDescription:
type: string
description: A long, more detailed text description of the product.
example: Example note for Mindbody Public API.
TypeGroup:
type: integer
format: int32
description: The Type group of the product.
example: 1
SupplierId:
type: integer
format: int32
description: The unique ID of the supplier of product.
example: 123456
SupplierName:
type: string
description: The Supplier Name of the product.
example: example-value
ImageURL:
type: string
description: The URL of the image associated with this product.
example: example-value
Color:
$ref: '#/components/schemas/Color'
description: Contains information about color of the product.
Size:
$ref: '#/components/schemas/Size'
description: Contains information about the size of the product.
ManufacturerId:
type: string
description: The ID number attributed to the product by the manufacturer.
example: example-value
PurchaseAccountCreditResponse:
type: object
description: Implementation of the 'PurchaseAccountCreditResponse' model.
properties:
AmountPaid:
type: number
format: double
description: The amount paid for the gift card by the purchaser.
example: 49.99
ClientId:
type: string
description: The client ID of the purchaser.
example: example-value
SaleId:
type: integer
format: int32
description: The sale ID of the gift card.
example: 123456
EmailReceipt:
type: boolean
description: Whether or not an email receipt was sent to the purchaser. If true, a receipt was sent.
example: true
PaymentProcessingFailures:
type: array
items:
$ref: '#/components/schemas/PaymentProcessingFailure'
description: Any cart processing failures, for example when SCA challenged, the cart is in PaymentAuthenticationRequired state and at least one of the failures listed will provide an authentication Url.
example:
- {}
FrequencyTypeEnum:
type: string
description: FrequencyTypeEnum enumeration.
enum:
- Daily
- Weekly
- Monthly
GetTransactionsResponse:
type: object
description: Implementation of the 'GetTransactionsResponse' model. Get transactions response properties
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Transactions:
type: array
items:
$ref: '#/components/schemas/Transaction'
description: Contains the transaction objects, each of which describes the transaction details for a purchase event.
example:
- {}
Package:
type: object
description: Implementation of the 'Package' model.
properties:
Id:
type: integer
format: int32
description: The ID of the package.
example: 123456
Name:
type: string
description: The name of the package.
example: Sunset Yoga Studio
DiscountPercentage:
type: number
format: double
description: The discount percentage applied to the package.
example: 1.0
SellOnline:
type: boolean
description: When `true`, only products that can be sold online are returned.
When `false`, all products are returned.
example: true
Services:
type: array
items:
$ref: '#/components/schemas/Service'
description: Information about the services in the packages.
example:
- {}
Products:
type: array
items:
$ref: '#/components/schemas/Product'
description: Information about the products in the packages.
example:
- {}
TransactionResponse:
type: object
description: Implementation of the 'TransactionResponse' model.
properties:
TransactionId:
type: integer
format: int32
description: The Transaction ID.
example: 123456
AuthenticationUrl:
type: string
description: The optional valid URL provided by the bank.
example: https://example.mindbodyonline.com/resource/abc123
Action1Enum:
type: string
description: Action1Enum enumeration.
enum:
- None
- Added
- Updated
- Failed
- Removed
CartItem:
type: object
description: Implementation of the 'CartItem' model.
properties:
Item:
$ref: '#/components/schemas/Any'
description: A purchased item; either a pricing option or a retail product.
SalesNotes:
type: string
description: Sales Notes for the Product Purcahsed
example: Example note for Mindbody Public API.
DiscountAmount:
type: number
format: double
description: The amount of the discount applied to the item.
example: 49.99
VisitIds:
type: array
items:
type: integer
format: int32
description: The IDs of the booked classes, enrollments, or courses that were reconciled by this cart item. This list is only returned if a valid visit ID was passed in the request’s `VisitIds` list.
example:
- 1
AppointmentIds:
type: array
items:
type: integer
format: int32
description: Gets or sets the item.
example:
- 1
Appointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
description: The IDs of the appointments that were reconciled by this cart item. This list is only returned if a valid appointment ID was passed in the request’s `AppointmentIds` list.
example:
- {}
Id:
type: integer
format: int32
description: The item’s ID in the current cart.
example: 123456
Quantity:
type: integer
format: int32
description: The quantity of the item being purchased.
example: 10
UpdateProductPriceRequest:
type: object
description: Implementation of the 'UpdateProductPriceRequest' model. Update Product Price Request Model
properties:
BarcodeId:
type: string
description: The barcode number of the product. This is the `Products[].Id` returned from GET Products.
example: example-value
Price:
type: number
format: double
description: The price you sell the product for.
example: 49.99
OnlinePrice:
type: number
format: double
description: The online price of the product.
example: 49.99
TypeEnum:
type: string
description: TypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest:
type: object
description: Implementation of the 'InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest' model. The API Request model for Initiate Checkout Shopping Cart API.
properties:
ClientId:
type: string
description: The RSSID of the client making the purchase. A cart can be validated without a client ID, but a client ID must be specified to complete a sale.
example: example-value
Items:
type: array
items:
$ref: '#/components/schemas/CheckoutItemWrapper'
description: A list of the items in the cart.
example:
- {}
Payments:
type: array
items:
$ref: '#/components/schemas/CheckoutAlternativePaymentInfo'
description: A list of payment information objects to be applied to payment against the items in the cart.
example:
- {}
PaymentAuthenticationCallbackUrl:
type: string
description: The URL consumer is redirected to after the payment.
example: https://example.mindbodyonline.com/resource/abc123
CartId:
type: string
description: The unique ID of the shopping cart to be processed. You can use this value to maintain a persistent cart. If you do not specify a cart ID, the MINDBODY software generates one.
example: example-value
PayerClientId:
type: string
description: The RSSID of the client paying for the purchase. This client needs to have a relationship of type "Pays for" with the client specified in the "ClientId" field.
example: example-value
Test:
type: boolean
description: 'When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.
When `false`, the transaction takes place and the database is affected.
Default: **false**'
example: true
InStore:
type: boolean
description: 'When `true`, indicates that the cart is to be completed by a staff member and is to take place at one of the business’ physical locations.
When `false`, indicates that the cart is to be completed by a client from the business’ online store.
Default: **false**'
example: true
CalculateTax:
type: boolean
description: 'When `true`, indicates that the tax should be calculated. When `false`, indicates that the tax should not be calculated. Default: **true**'
example: true
PromotionCode:
type: string
description: Promotion code to be applied to the cart.
example: example-value
SendEmail:
type: boolean
description: 'When `true`, sends a purchase receipt email to the client. Note that all appropriate permissions and settings must be enabled for the client to receive an email.
Default: **false**'
example: true
LocationId:
type: integer
format: int32
description: 'The location ID to be used for pulling business mode prices and taxes. If no location ID is supplied, it defaults to the online store, represented by a null value. Default: **null** (the online store)'
example: 123456
TransactionIds:
type: array
items:
type: integer
format: int32
description: The list of TransactionIds provided with initial response containing SCA Challenge URLs for ConsumerPresent transactions
example:
- 1
IsBillingPostalCodeRequired:
type: boolean
description: the flag to check billing post code is required or not.
example: true
EnforceLocationRestrictions:
type: boolean
description: 'When `true`, enforces "sell at" location restrictions on the cart items. When `false`, "sell at" location restrictions are not enforced. Default: **false**'
example: true
CheckoutShoppingCartResponse:
type: object
description: Implementation of the 'CheckoutShoppingCartResponse' model. The API Response model for Checkout Shopping Cart APIs
properties:
ShoppingCart:
$ref: '#/components/schemas/ShoppingCart'
description: Contains information about the shopping cart.
Classes:
type: array
items:
$ref: '#/components/schemas/Class'
description: Contains information about the classes.
example:
- {}
Appointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
description: Contains information about the appointments.
example:
- {}
Enrollments:
type: array
items:
$ref: '#/components/schemas/ClassSchedule'
description: Contains information about enrollment class schedules.
example:
- {}
GetProductsResponse:
type: object
description: Implementation of the 'GetProductsResponse' model. Represents the response object for retrieving products.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Products:
type: array
items:
$ref: '#/components/schemas/Product'
description: Contains information about the products.
example:
- {}
BookingStatusEnum:
type: string
description: BookingStatusEnum enumeration.
enum:
- PaymentRequired
- BookAndPayLater
- Free
PurchaseContractRequest:
type: object
description: Implementation of the 'PurchaseContractRequest' model.
properties:
ContractId:
type: integer
format: int32
description: The ID of the contract being purchased.
example: 123456
Test:
type: boolean
description: 'When `true`, the Public API validates input information, but does not commit it, so no client data is affected.
When `false` or omitted, the transaction is committed, and client data is affected.
Default: **false**'
example: true
LocationId:
type: integer
format: int32
description: The ID of the location where the client is purchasing the contract; used for AutoPays.
example: 123456
ClientId:
type: string
description: The ID of the client. Note that this is not the same as the client’s unique ID.
example: example-value
UniqueClientId:
type: integer
format: int32
description: 'The unique ID of the client. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.'
example: 123456
StartDate:
type: string
format: date-time
description: 'The date that the contract starts.
Default: **today’s date**'
example: '2026-05-28T14:30:00Z'
FirstPaymentOccurs:
type: string
description: 'The date on which the first payment is to occur. Possible values: * Instant * `StartDate`'
example: example-value
ClientSignature:
type: string
description: A representation of the client’s signature. This value can take the form of Base64-encoded byte array. The file type should be PNG. The picture of the client’s signature is uploaded and viewable from the Client Documents page in the Core Business Mode software. The title of the document is:
clientContractSignature-{uniquePurchasedClientContractID}-{contract Name}-{contractStartDate}.{fileType}
example: example-value
PromotionCode:
type: string
description: A promotion code, if one applies. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.
example: example-value
PromotionCodes:
type: array
items:
type: string
description: Promotion codes, if they apply. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.
example:
- example-value
CreditCardInfo:
$ref: '#/components/schemas/CreditCardInfo'
description: Contains credit card payment information.
This is only required if `StoredCardInfo` is not passed and both `UseDirectDebit` and `UseAccountCredit` are `false`.
StoredCardInfo:
$ref: '#/components/schemas/StoredCardInfo'
description: Contains information about the stored credit card payment.
This is only required if `CreditCardInfo` is not passed and both `UseDirectDebit` and `UseAccountCredit` and are `false`.
SendNotifications:
type: boolean
description: 'When `true`, indicates that email and SMS notifications should be sent to the client after purchase.
Default: **true**'
example: true
SalesRepId:
type: integer
format: int32
description: The ID of the staff member to be marked as the sales rep for this contract sale.
example: 123456
UseDirectDebit:
type: boolean
description: 'When `true`, indicates that the direct debit information stored on the client''s account is to be used to pay for the contract.
This is only required if both `CreditCardInfo` and `StoredCardInfo` are not passed and `UseAccountCredit` is false.
Default: **false**'
example: true
UseAccountCredit:
type: boolean
description: 'When `true`, indicates that the account credit of the client''s account is to be used to pay for the contract.
This is only required if both `CreditCardInfo` and `StoredCardInfo` are not passed and `UseDirectDebit` is false.
Default: **false**'
example: true
ConsumerPresent:
type: boolean
description: When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be false as that could very likely lead to a bank declining all transactions for the merchant. Defaults to **false**.
example: true
PaymentAuthenticationCallbackUrl:
type: string
description: The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is true.
example: https://example.mindbodyonline.com/resource/abc123
ProrateDate:
type: string
format: date-time
description: Optional, date to prorate contract
example: '2026-05-28T14:30:00Z'
AppointmentGenderPreference1Enum:
type: string
description: AppointmentGenderPreference1Enum enumeration.
enum:
- None
- Female
- Male
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: API-Key
description: Mindbody-issued API key (server-to-server). Required on every request.
OAuth2:
type: oauth2
description: OpenID Connect bearer token issued by Mindbody Identity Service (signin.mindbodyonline.com). Required for endpoints that act on behalf of a staff or client user.
flows:
authorizationCode:
authorizationUrl: https://signin.mindbodyonline.com/connect/authorize
tokenUrl: https://signin.mindbodyonline.com/connect/token
scopes:
openid: OpenID Connect base scope.
profile: User profile claims.
email: User email claim.
offline_access: Issue a refresh token.
Mindbody.Api.Public.v6: Access the Mindbody Public API v6 on behalf of the user.