openapi: 3.0.3
info:
title: Mindbody Public API v6 Appointment Client 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: Client
description: Client operations.
paths:
/public/v6/client/activeclientmemberships:
get:
tags:
- Client
summary: Mindbody Please Note That Client Memberships with Location Restrictions Can
description: Please note that client memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization.
operationId: getActiveClientMemberships
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The ID of the client for whom memberships are returned.
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.clientAssociatedSitesOffset
in: query
required: false
description: Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` s
schema:
type: integer
format: int32
example: 10
- name: request.crossRegionalLookup
in: query
required: false
description: Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the
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: Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`.
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.uniqueClientId
in: query
required: false
description: The Unique ID of the client for whom memberships are returned. Note that UniqueClientId takes precedence over ClientId if both are provided.
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetActiveClientMembershipsResponse'
examples:
Getactiveclientmemberships200Example:
summary: Default getActiveClientMemberships 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ClientMemberships:
- {}
'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/client/activeclientsmemberships:
get:
tags:
- Client
summary: Mindbody The Endpoint Returns a List of Memberships for Multiple Clients We
description: The endpoint returns a list of memberships for multiple clients we pass in query parameter. Please note that clients memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization.
operationId: getActiveClientsMemberships
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientIds
in: query
required: true
description: 'The ID of the client for whom memberships are returned. Maximum allowed : 200.'
schema:
type: array
items:
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.clientAssociatedSitesOffset
in: query
required: false
description: Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` s
schema:
type: integer
format: int32
example: 10
- name: request.crossRegionalLookup
in: query
required: false
description: Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the
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: Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`.
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
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetActiveClientsMembershipsResponse'
examples:
Getactiveclientsmemberships200Example:
summary: Default getActiveClientsMemberships 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ClientMemberships:
- {}
'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/client/clientaccountbalances:
get:
tags:
- Client
summary: Mindbody Get Account Balance Information for One or More Client(s)
description: Get account balance information for one or more client(s).
operationId: getClientAccountBalances
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientIds
in: query
required: true
description: The list of clients IDs for which you want account balances.
schema:
type: array
items:
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.balanceDate
in: query
required: false
description: 'The date you want a balance relative to. Default: **the current date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.classId
in: query
required: false
description: The class ID of the event for which you want a balance.
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.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/GetClientAccountBalancesResponse'
examples:
Getclientaccountbalances200Example:
summary: Default getClientAccountBalances 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Clients:
- {}
'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/client/clientcompleteinfo:
get:
tags:
- Client
summary: Mindbody This Endpoint Returns Complete Client Information Along with List of
description: This endpoint returns complete client information along with list of purchased services, contract details, membership details and arrival programs for a specific client.
operationId: getClientCompleteInfo
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: Filters results to client with these ID.
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: consumer-identity-token
in: header
required: false
description: A consumers authorization token to replace the need of clientId in the request.
schema:
type: string
example: example-value
- name: request.clientAssociatedSitesOffset
in: query
required: false
description: Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLooku
schema:
type: integer
format: int32
example: 10
- name: request.crossRegionalLookup
in: query
required: false
description: Used to retrieve a clients pricing options from multiple sites within an organization.When included and set to `true`, it searches a maximum of ten sites with which this client is associated.When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites th
schema:
type: boolean
example: true
- name: request.endDate
in: query
required: false
description: 'Filters results to pricing options that are purchased on or before this date. Default: **today’s date**.'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.excludeInactiveSites
in: query
required: false
description: 'When this flag is set to `true`, will exclude inactive sites from the response Default: **false**'
schema:
type: boolean
example: true
- name: request.requiredClientData
in: query
required: false
description: Used to retrieve list of purchased services, contract details, membership details and arrival programs for a specific client. Default `ClientServices`, `ClientContracts`, `ClientMemberships` and `ClientArrivals` will be returned when `RequiredClientDatais` not set. When `RequiredClientData` is set to `Contracts` then only `ClientContracts` will be returned in the response. When `RequiredClientData` is set to Services then only `ClientServices` will be returned in the response. When `RequiredClie
schema:
type: array
items:
type: string
example:
- example-value
- name: request.showActiveOnly
in: query
required: false
description: 'When `true`, includes active services only. Set this field to `true` when trying to determine if a client has a service that can pay for a class or appointment. Default: **false**'
schema:
type: boolean
example: true
- name: request.startDate
in: query
required: false
description: 'Filters results to pricing options that are purchased on or after this date. Default: **today’s date**.'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.uniqueClientId
in: query
required: false
description: The unique ID of the client who is viewing this class list.
schema:
type: integer
format: int32
example: 123456
- name: request.useActivateDate
in: query
required: false
description: 'When this flag is set to `true`, the date filtering will use activate date to filter the pricing options. When this flag is set to `false`, the date filtering will use purchase date to filter the pricing options. Default: **false**'
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientCompleteInfoResponse'
examples:
Getclientcompleteinfo200Example:
summary: Default getClientCompleteInfo 200 example
x-microcks-default: true
value:
Client: {}
ClientServices:
- {}
ClientContracts:
- {}
ClientMemberships:
- {}
ClientArrivals:
- {}
'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/client/clientcontracts:
get:
tags:
- Client
summary: Mindbody Get Contracts That a Client Has Purchased
description: Get contracts that a client has purchased.
operationId: getClientContracts
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The ID of the client (RssId).
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.clientAssociatedSitesOffset
in: query
required: false
description: 'Determines how many sites are skipped over when retrieving a client’s cross regional contracts. Used when a client ID is linked to more than ten sites in an organization. Only a maximum of ten site databases are queried when this call is made and `CrossRegionalLookup` is set to `true`. To change which sites are queried, change this offset value. Default: **0**'
schema:
type: integer
format: int32
example: 10
- name: request.crossRegionalLookup
in: query
required: false
description: When `true`, indicates that the requesting client’s cross regional contracts are returned, if any.
When `false`, indicates that cross regional contracts are not returned.
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.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.uniqueClientId
in: query
required: false
description: The unique ID of the requested client.
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientContractsResponse'
examples:
Getclientcontracts200Example:
summary: Default getClientContracts 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/client/clientdirectdebitinfo:
get:
tags:
- Client
summary: Mindbody This Endpoint Returns Direct Debit Info Stored on a Client's Account
description: This endpoint returns direct debit info stored on a client's account. This endpoint requires staff user credentials. A null response from this endpoint indicates that the client has no usable direct debit information on their account.Use the POST AddClientDirectDebitInfo endpoint to add direct debit information to a client’s account.
operationId: getDirectDebitInfo
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: clientId
in: query
required: false
description: The ID of the client.
schema:
type: string
example: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DirectDebitInfo'
examples:
Getdirectdebitinfo200Example:
summary: Default getDirectDebitInfo 200 example
x-microcks-default: true
value:
NameOnAccount: example-value
RoutingNumber: example-value
AccountNumber: example-value
AccountType: example-value
'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: []
delete:
tags:
- Client
summary: Mindbody This Endpoint Deletes Direct Debit Info from a Client’s Account. This
description: This endpoint deletes direct debit info from a client’s account. This endpoint requires staff user credentials.
operationId: deleteDirectDebitInfo
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: clientId
in: query
required: false
description: The ID of the client.
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/client/clientduplicates:
get:
tags:
- Client
summary: Mindbody This Endpoint Gets Client Records That Would Be Considered Duplicates
description: This endpoint gets client records that would be considered duplicates based on case-insensitive matching of the client's first name, last name, and email. For there to be results, all three parameters must match a client record. This endpoint requires staff user credentials. An empty `ClientDuplicates` object in the response from this endpoint indicates that there were no client records found that match the first name, last name, and email fields passed in. If one client record is returned, it is not a duplicate itself, but no other client record can be created or updated that would match this client's first name, last name, and email combination. If more than one client record is returned, these clients are duplicates of each other.We recommend discussing with the business how they would like to resolve duplicate records in the event the response contains more than one client record.Businesses can use the Merge Duplicate Clients tool in the Core Business Mode software to resolve the duplicate client records.
operationId: getClientDuplicates
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.email
in: query
required: false
description: The client email to match on when searching for duplicates.
schema:
type: string
example: kinlane@example.com
- name: request.firstName
in: query
required: false
description: The client first name to match on when searching for duplicates.
schema:
type: string
example: example-value
- name: request.lastName
in: query
required: false
description: The client last name to match on when searching for duplicates.
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/GetClientDuplicatesResponse'
examples:
Getclientduplicates200Example:
summary: Default getClientDuplicates 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ClientDuplicates:
- {}
'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/client/clientformulanotes:
get:
tags:
- Client
summary: 'Mindbody ***QueryParams***: Enables to Retrieve Cross Regional Formula Notes'
description: '***QueryParams***: Enables to retrieve cross regional formula notes for a client, or for a specific appointment. The two parameters are optional, however at least one must be provided. This endpoint supports pagination.'
operationId: getClientFormulaNotes
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.appointmentId
in: query
required: false
description: The appointment ID of an appointment in the studio specified in the header of the request.
schema:
type: integer
format: int32
example: 123456
- name: request.clientId
in: query
required: false
description: The client ID of the client whose formula notes are being requested.
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/GetClientFormulaNotesResponse'
examples:
Getclientformulanotes200Example:
summary: Default getClientFormulaNotes 200 example
x-microcks-default: true
value:
PaginationResponse: {}
FormulaNotes:
- {}
'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/client/clientindexes:
get:
tags:
- Client
summary: Mindbody Client Indexes Are Used to Analyze Client Demographics. a Business
description: Client indexes are used to analyze client demographics. A business owner can set up different categories with sets of values which they can assign to each client. Client indexes are used in client searches, for tagging clients so that the owner can send mass emails to similar groups, and for many reports. For more information, see Client Indexes and [Client Index Values (video tutorial)](https://support.mindbodyonline.com/s/article/203261653-Clien t-indexes-and-client-index-values-video-tutorial?language=en_USclient).
operationId: getClientIndexes
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.requiredOnly
in: query
required: false
description: When `true`, filters the results to only indexes that are required on creation.
When `false` or omitted, returns all of the client indexes.
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientIndexesResponse'
examples:
Getclientindexes200Example:
summary: Default getClientIndexes 200 example
x-microcks-default: true
value:
ClientIndexes:
- {}
'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/client/clientpurchases:
get:
tags:
- Client
summary: Mindbody Gets a List of Purchases Made by a Specific Client
description: Gets a list of purchases made by a specific client.
operationId: getClientPurchases
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The ID of the client you are querying for purchases.
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.endDate
in: query
required: false
description: 'Filters results to purchases made before this timestamp.
Default: **end of today**'
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.saleId
in: query
required: false
description: Filters results to the single record associated with this ID.
schema:
type: integer
format: int32
example: 123456
- name: request.startDate
in: query
required: false
description: 'Filters results to purchases made on or after this timestamp.
Default: **now**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.uniqueClientId
in: query
required: false
description: The unique ID of the requested client.
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientPurchasesResponse'
examples:
Getclientpurchases200Example:
summary: Default getClientPurchases 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Purchases:
- {}
'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/client/clientreferraltypes:
get:
tags:
- Client
summary: Mindbody Gets a List of Referral Types. Referral Types Are Options That New
description: Gets a list of referral types. Referral types are options that new clients can choose to identify how they learned about the business. Referral types are typically used for the sign-up process.
operationId: getClientReferralTypes
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.includeInactive
in: query
required: false
description: When `true`, filters the results to include subtypes and inactive referral types.
When `false`, includes no subtypes and only active types. Default:**false**
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientReferralTypesResponse'
examples:
Getclientreferraltypes200Example:
summary: Default getClientReferralTypes 200 example
x-microcks-default: true
value:
ReferralTypes:
- example-value
'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/client/clientrewards:
get:
tags:
- Client
summary: Mindbody Gets the Client Rewards
description: Gets the client rewards.
operationId: getClientRewards
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The ID of the client.
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.endDate
in: query
required: false
description: 'The end date of transaction. Default: **StartDate**'
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.startDate
in: query
required: false
description: 'The start date of transaction. Default: **today**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientRewardsResponse'
examples:
Getclientrewards200Example:
summary: Default getClientRewards 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Balance: 1
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: []
post:
tags:
- Client
summary: Mindbody Earns or Redeems Rewards Points for a Given Client, Based on Site
description: Earns or redeems rewards points for a given client, based on site settings. Cross regional rewards are not supported at this time.
operationId: updateClientRewards
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/UpdateClientRewardsRequest'
examples:
UpdateclientrewardsRequestExample:
summary: Default updateClientRewards request example
x-microcks-default: true
value:
ClientId: example-value
Points: 1
Action: example-value
Source: example-value
SourceId: 123456
ActionDateTime: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientRewardsResponse'
examples:
Updateclientrewards200Example:
summary: Default updateClientRewards 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Balance: 1
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/client/clients:
get:
tags:
- Client
summary: Mindbody This Endpoint Requires Staff User Credentials. This Endpoint Supports
description: This endpoint requires staff user credentials. This endpoint supports pagination. See Pagination for a description of the Pagination information.
operationId: getClients
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.clientIDs
in: query
required: false
description: 'The requested client IDs. Default: **all IDs** that the authenticated user’s access level allows.
Note: You can fetch information for maximum 20 clients at once.'
schema:
type: array
items:
type: string
example:
- example-value
- name: request.includeInactive
in: query
required: false
description: 'When `true`, indicates the results to include active and inactive clients.
When `false`, indicates that only those clients who are marked as active should be returned. Default: **false**'
schema:
type: boolean
example: true
- name: request.isProspect
in: query
required: false
description: When `true`, filters the results to include only those clients marked as prospects for the business.
When `false`, indicates that only those clients who are not marked prospects should be returned.
schema:
type: boolean
example: true
- name: request.lastModifiedDate
in: query
required: false
description: Filters the results to include only the clients that have been modified on or after this date.
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.searchText
in: query
required: false
description: Text to use in the search. Can include FirstName, LastName, and Email. Note that user credentials must be provided.
schema:
type: string
example: example-value
- name: request.uniqueIds
in: query
required: false
description: 'Filters results to clients with these `UniqueIDs`. This parameter cannot be used with `ClientIDs` or `SearchText`. Default: **all UniqueIDs** that the authenticated user’s access level allows.'
schema:
type: array
items:
type: integer
format: int32
example:
- 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientsResponse'
examples:
Getclients200Example:
summary: Default getClients 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Clients:
- {}
'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/client/clientschedule:
get:
tags:
- Client
summary: Mindbody This Endpoint Can Be Utilized to Retrieve Scheduled Visits Which is
description: This endpoint can be utilized to retrieve scheduled visits which is associated with the requested client.
operationId: getClientSchedule
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.clientAssociatedSitesOffset
in: query
required: false
description: The number of sites to skip when returning the site associated with a client.
schema:
type: integer
format: int32
example: 10
- name: request.clientId
in: query
required: false
description: The ID of the requested client.
schema:
type: string
example: example-value
- name: request.crossRegionalLookup
in: query
required: false
description: When `true`, indicates that past and scheduled client visits across all sites in the region are returned. When `false`, indicates that only visits at the current site are returned.
schema:
type: boolean
example: true
- name: request.endDate
in: query
required: false
description: The date past which class visits are not returned. Default is today’s date
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.includeWaitlistEntries
in: query
required: false
description: 'When `true`, waitlist entries are included in the response. When `false`, waitlist entries are removed from the response. 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.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.startDate
in: query
required: false
description: The date before which class visits are not returned. Default is the end date
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.uniqueClientId
in: query
required: false
description: 'The unique ID of the requested client. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.'
schema:
type: integer
format: int32
example: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientScheduleResponse'
examples:
Getclientschedule200Example:
summary: Default getClientSchedule 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Visits:
- {}
'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/client/clientservices:
get:
tags:
- Client
summary: Mindbody Get Pricing Options That a Client Has Purchased
description: Get pricing options that a client has purchased.
operationId: getClientServices
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 results to only those pricing options that can be used to pay for this class.
schema:
type: integer
format: int32
example: 123456
- name: request.classScheduleID
in: query
required: false
description: Filters results to pricing options which are associated with one of the ClassScheduleIDs
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.clientAssociatedSitesOffset
in: query
required: false
description: Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLooku
schema:
type: integer
format: int32
example: 10
- name: request.clientId
in: query
required: false
description: The ID of the client to query. The results are a list of pricing options that the client has purchased. Note that “service” and “pricing option” are synonymous in this section of the documentation.
schema:
type: string
example: example-value
- name: request.clientIds
in: query
required: false
description: The IDs of the clients to query. The results are a list of pricing options that the clients have purchased. ClientId parameter takes priority over ClientIds due to backward compatibility. So if you want to use ClientIds, then ClientId needs to be empty. Either of ClientId or ClientIds need to be specified
schema:
type: array
items:
type: string
example:
- example-value
- name: request.crossRegionalLookup
in: query
required: false
description: Used to retrieve a client’s pricing options from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites
schema:
type: boolean
example: true
- name: request.endDate
in: query
required: false
description: 'Filters results to pricing options that are purchased on or before this date. Default: **today’s date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.excludeInactiveSites
in: query
required: false
description: 'When this flag is set to `true`, will exclude inactive sites from the response. Default: **false**'
schema:
type: boolean
example: true
- name: request.ignoreCrossRegionalSiteLimit
in: query
required: false
description: 'Used to specify if the number of cross regional sites used to search for client’s pricing options should be ignored. 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.locationIds
in: query
required: false
description: Filters results to pricing options that can be used at the listed 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.programIds
in: query
required: false
description: Filters results to pricing options that belong to one of the given program IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.sessionTypeId
in: query
required: false
description: Filters results to pricing options that will pay for the given session type ID. Use this to find pricing options that will pay for a specific appointment type.
schema:
type: integer
format: int32
example: 123456
- name: request.showActiveOnly
in: query
required: false
description: 'When `true`, includes active services only. Default: **false**'
schema:
type: boolean
example: true
- name: request.startDate
in: query
required: false
description: 'Filters results to pricing options that are purchased on or after this date. Default: **today’s date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.uniqueClientId
in: query
required: false
description: The unique ID of the client to query. Note that UniqueClientId takes precedence over ClientId.
schema:
type: integer
format: int32
example: 123456
- name: request.uniqueClientIds
in: query
required: false
description: The Unique IDs of the clients to query. Note that UniqueClientIds collection takes precedence over ClientIds collection.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.useActivateDate
in: query
required: false
description: 'When this flag is set to `true`, the date filtering will use activate date to filter the pricing options. When this flag is set to `false`, the date filtering will use purchase date to filter the pricing options. Default: **false**'
schema:
type: boolean
example: true
- name: request.visitCount
in: query
required: false
description: A filter on the minimum number of visits a service can pay for.
schema:
type: integer
format: int32
example: 10
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientServicesResponse'
examples:
Getclientservices200Example:
summary: Default getClientServices 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ClientServices:
- {}
'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/client/clientvisits:
get:
tags:
- Client
summary: Mindbody Gets the Client Visits for a Specific Client
description: Gets the Client Visits for a specific client.
operationId: getClientVisits
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.clientAssociatedSitesOffset
in: query
required: false
description: The number of sites to skip when returning the site associated with a client.
schema:
type: integer
format: int32
example: 10
- name: request.clientId
in: query
required: false
description: The ID of the requested client.
schema:
type: string
example: example-value
- name: request.crossRegionalLookup
in: query
required: false
description: When `true`, indicates that past and scheduled client visits across all sites in the region are returned.
When `false`, indicates that only visits at the current site are returned.
schema:
type: boolean
example: true
- name: request.endDate
in: query
required: false
description: 'The date past which class visits are not returned. Default: **today''s date**'
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.order
in: query
required: false
description: The sort order for the results.
When `desc`, results are returned in descending order (newest first).
When `asc`, results are returned in ascending order (oldest first).
schema:
type: string
example: example-value
- name: request.startDate
in: query
required: false
description: 'The date before which class visits are not returned. Default: **the end date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.uniqueClientId
in: query
required: false
description: 'The unique ID of the requested client. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.'
schema:
type: integer
format: int32
example: 123456
- name: request.unpaidsOnly
in: query
required: false
description: 'When `true`, indicates that only visits that have not been paid for are returned.
When `false`, indicates that all visits are returned, regardless of whether they have been paid for.
Default: **false**'
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClientVisitsResponse'
examples:
Getclientvisits200Example:
summary: Default getClientVisits 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Visits:
- {}
'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/client/contactlogs:
get:
tags:
- Client
summary: Mindbody This Endpoint Contains a Variety of Filters That Can Return Not Just
description: This endpoint contains a variety of filters that can return not just all contact logs, but also system-generated contact logs, contact logs assigned to specific staff members, and contact logs of specific types or subtypes.
operationId: getContactLogs
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The ID of the client whose contact logs are being requested.
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.endDate
in: query
required: false
description: 'Filters the results to contact logs created before this date.
Default: **the start date**'
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.showSystemGenerated
in: query
required: false
description: 'When `true`, system-generated contact logs are returned in the results.
Default: **false**'
schema:
type: boolean
example: true
- name: request.staffIds
in: query
required: false
description: Filters the results to return contact logs assigned to one or more staff IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.startDate
in: query
required: false
description: 'Filters the results to contact logs created on or after this date.
Default: **the current date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.subtypeIds
in: query
required: false
description: Filters the results to contact logs assigned one or more of these subtype IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.typeIds
in: query
required: false
description: Filters the results to contact logs assigned one or more of these type IDs.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetContactLogsResponse'
examples:
Getcontactlogs200Example:
summary: Default getContactLogs 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ContactLogs:
- {}
'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/client/contactlogtypes:
get:
tags:
- Client
summary: Mindbody This Endpoint Contains a Variety of Filters That Can Return Not Just
description: This endpoint contains a variety of filters that can return not just all contact logs, but also system-generated contact logs, contact logs assigned to specific staff members, and contact logs of specific types or subtypes.
operationId: getContactLogTypes
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.contactLogTypeId
in: query
required: false
description: 'The requested ContactLogType ID. Default: **all** IDs that the authenticated user’s access level allows.'
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.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/GetContactLogTypesResponse'
examples:
Getcontactlogtypes200Example:
summary: Default getContactLogTypes 200 example
x-microcks-default: true
value:
PaginationResponse: {}
ContactLogTypes:
- {}
'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/client/crossregionalclientassociations:
get:
tags:
- Client
summary: Mindbody Returns a List of Sites That a Particular Client ID (also Referred to
description: Returns a list of sites that a particular client ID (also referred to as an RSSID) or a client email address is associated with in a cross-regional organization. Either the `ClientID` or `Email` parameter is required. If both are provided, the `ClientID` is used. Use this endpoint to retrieve information for other Public API endpoints, about the same client at multiple sites within an organization. To use this endpoint, your developer account must have been granted permission to the site's entire organization. Note that this endpoint does not work on the Developer Sandbox site, as it is not set up for cross-regional use cases.
operationId: getCrossRegionalClientAssociations
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: Looks up the cross regional associations by the client’s ID.
schema:
type: string
example: example-value
- name: request.email
in: query
required: false
description: Looks up the cross regional associations by the client’s email address.
schema:
type: string
example: kinlane@example.com
- name: request.excludeInactiveSites
in: query
required: false
description: 'Used to exclude inactive and deleted sites from the results. When this flag is set to `true`, client profiles associated with inactive and deleted sites are not getting returned. When this flag is set to `false`,client profiles associated with inactive and deleted sites are getting returned. Default: **true**'
schema:
type: boolean
example: true
- name: request.firstName
in: query
required: false
description: First name (used for email queries)
schema:
type: string
example: example-value
- name: request.lastName
in: query
required: false
description: Last name (used for email queries)
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
- name: request.uniqueClientId
in: query
required: false
description: 'Looks up the cross regional associations by the unique client’s ID. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId'' OR the ''Email''. ''UniqueClientId'' takes precedence when provided. If not, but both ''ClientId'' and ''Email'' are provided, ''ClientId'' is used by default.'
schema:
type: integer
format: int32
example: 123456
- name: request.v2
in: query
required: false
description: Use newer method
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetCrossRegionalClientAssociationsResponse'
examples:
Getcrossregionalclientassociations200Example:
summary: Default getCrossRegionalClientAssociations 200 example
x-microcks-default: true
value:
PaginationResponse: {}
CrossRegionalClientAssociations:
- {}
'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/client/customclientfields:
get:
tags:
- Client
summary: Mindbody Get a Site's Configured Custom Client Fields
description: Get a site's configured custom client fields.
operationId: getCustomClientFields
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/GetCustomClientFieldsResponse'
examples:
Getcustomclientfields200Example:
summary: Default getCustomClientFields 200 example
x-microcks-default: true
value:
PaginationResponse: {}
CustomClientFields:
- {}
'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/client/requiredclientfields:
get:
tags:
- Client
summary: Mindbody Gets the List of Fields That a New Client Has to Fill Out in Business
description: Gets the list of fields that a new client has to fill out in business mode, specifically for the sign-up process. `AddClient` and `UpdateClient` validate against these fields. This endpoint has no query parameters.
operationId: getRequiredClientFields
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
content:
application/json:
schema:
$ref: '#/components/schemas/GetRequiredClientFieldsResponse'
examples:
Getrequiredclientfields200Example:
summary: Default getRequiredClientFields 200 example
x-microcks-default: true
value:
RequiredClientFields:
- example-value
'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/client/addarrival:
post:
tags:
- Client
summary: Mindbody Marks a Client as Arrived for a Specified Location. a Staff User Token
description: 'Marks a client as arrived for a specified location. A staff user token must be included with staff assigned the LaunchSignInScreen permission. When used on a site that is part of a region, the following additional logic will apply: * When a client exists within the region but not at the studio where the arrival is being logged, a local client record will be automatically created. * If the local client does not have an applicable local membership or pricing option, a membership or pricing option will be automatically used if it exists elsewhere within the region.'
operationId: addArrival
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/AddArrivalRequest'
examples:
AddarrivalRequestExample:
summary: Default addArrival request example
x-microcks-default: true
value:
ClientId: example-value
LocationId: 123456
ArrivalTypeId: 123456
LeadChannelId: 123456
Test: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddArrivalResponse'
examples:
Addarrival200Example:
summary: Default addArrival 200 example
x-microcks-default: true
value:
ArrivalAdded: true
ClientService: {}
'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/client/addclient:
post:
tags:
- Client
summary: Mindbody Starting the Week of May 11th, 2020 All Versions of the Public API
description: Starting the week of May 11th, 2020 all versions of the Public API will no longer allow duplicate clients to be created. This applies to both adding a client and updating a client record. A duplicate client is created when two profiles have the same first name, last name and email.
Creates a new client record at the specified business.Passing a User Token as Authorization will create a client and respect Business Mode required fields.Omitting the token will create a client and respect Consumer Mode required fi elds. To make sure you are collecting all required pieces of information, first run GetRequired ClientFields.
If you have purchased an Ultimate tier then this endpoint will automatically start showing new opportunity on Sales Pipeline.
operationId: addClient
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/AddClientRequest'
examples:
AddclientRequestExample:
summary: Default addClient request example
x-microcks-default: true
value:
FirstName: Alex
LastName: Lane
AccountBalance: 49.99
Action: {}
Active: true
AddressLine1: 123 Market St
AddressLine2: 123 Market St
ApptGenderPrefMale: true
BirthDate: '2026-05-28T14:30:00Z'
City: San Francisco
ClientCreditCard: {}
ClientIndexes:
- {}
ClientRelationships:
- {}
Country: US
CreationDate: '2026-05-28T14:30:00Z'
CustomClientFields:
- {}
Email: kinlane@example.com
EmergencyContactInfoEmail: kinlane@example.com
EmergencyContactInfoName: example-value
EmergencyContactInfoPhone: '+15551234567'
EmergencyContactInfoRelationship: example-value
FirstAppointmentDate: '2026-05-28T14:30:00Z'
Gender: example-value
HomeLocation: {}
HomePhone: '+15551234567'
IsCompany: true
IsProspect: true
LastFormulaNotes: Example note for Mindbody Public API.
LastModifiedDateTime: '2026-05-28T14:30:00Z'
Liability: {}
LiabilityRelease: true
MembershipIcon: 1
MiddleName: example-value
MobilePhone: '+15551234567'
MobileProvider: 1
NewId: example-value
Notes: Example note for Mindbody Public API.
PhotoUrl: https://example.mindbodyonline.com/resource/abc123
PostalCode: '94110'
ProspectStage: {}
RedAlert: example-value
ReferredBy: example-value
SalesReps:
- {}
SiteId: -99
State: CA
Status: Active
Test: true
UniqueId: 123456
WorkExtension: example-value
WorkPhone: '+15551234567'
YellowAlert: example-value
SendScheduleEmails: true
SendAccountEmails: true
SendPromotionalEmails: true
SendScheduleTexts: true
SendAccountTexts: true
SendPromotionalTexts: true
LockerNumber: example-value
ReactivateInactiveClient: true
LeadChannelId: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddClientResponse'
examples:
Addclient200Example:
summary: Default addClient 200 example
x-microcks-default: true
value:
Client: {}
'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/client/addclientdirectdebitinfo:
post:
tags:
- Client
summary: Mindbody This Endpoint Adds Direct Debit Info to a Client’s Account. This
description: This endpoint adds direct debit info to a client’s account. This endpoint requires staff user credentials.
operationId: addClientDirectDebitInfo
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/AddClientDirectDebitInfoRequest'
examples:
AddclientdirectdebitinfoRequestExample:
summary: Default addClientDirectDebitInfo request example
x-microcks-default: true
value:
Test: true
ClientId: example-value
NameOnAccount: example-value
RoutingNumber: example-value
AccountNumber: example-value
AccountType: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddClientDirectDebitInfoResponse'
examples:
Addclientdirectdebitinfo200Example:
summary: Default addClientDirectDebitInfo 200 example
x-microcks-default: true
value:
ClientId: example-value
NameOnAccount: example-value
RoutingNumber: example-value
AccountNumber: example-value
AccountType: example-value
'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/client/addclientformulanote:
post:
tags:
- Client
summary: Mindbody This Endpoint Adds a Formula Note for a Specified Client or Specified
description: This endpoint adds a formula note for a specified client or specified client appointment. A staff user token must be included with staff assigned permission to view client profile or have both ViewAppointmentDetails and ModifyAppointment permissions.
operationId: addFormulaNote
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/AddFormulaNoteRequest'
examples:
AddformulanoteRequestExample:
summary: Default addFormulaNote request example
x-microcks-default: true
value:
ClientId: example-value
Note: example-value
AppointmentId: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FormulaNoteResponse'
examples:
Addformulanote200Example:
summary: Default addFormulaNote 200 example
x-microcks-default: true
value:
Id: 123456
ClientId: example-value
AppointmentId: 123456
EntryDate: '2026-05-28T14:30:00Z'
Note: example-value
SiteId: -99
SiteName: example-value
StaffFirstName: example-value
StaffLastName: example-value
StaffDisplayName: example-value
'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/client/addcontactlog:
post:
tags:
- Client
summary: Mindbody Add a Contact Log to a Client's Account
description: Add a contact log to a client's account.
operationId: addContactLog
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/AddContactLogRequest'
examples:
AddcontactlogRequestExample:
summary: Default addContactLog request example
x-microcks-default: true
value:
ClientId: example-value
ContactMethod: example-value
AssignedToStaffId: 123456
Text: example-value
FollowupByDate: '2026-05-28T14:30:00Z'
ContactName: example-value
IsComplete: true
Comments:
- Example note for Mindbody Public API.
Types:
- {}
Test: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactLog'
examples:
Addcontactlog200Example:
summary: Default addContactLog 200 example
x-microcks-default: true
value:
Id: 123456
Text: example-value
CreatedDateTime: '2026-05-28T14:30:00Z'
FollowupByDate: '2026-05-28T14:30:00Z'
ContactMethod: example-value
ContactName: example-value
Client: {}
CreatedBy: {}
AssignedTo: {}
Comments:
- {}
Types:
- {}
'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/client/mergeclients:
post:
tags:
- Client
summary: Mindbody This Endpoint Helps to Merge Clients
description: This endpoint helps to merge clients.
operationId: mergeClient
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/MergeClientsRequest'
examples:
MergeclientRequestExample:
summary: Default mergeClient request example
x-microcks-default: true
value:
SourceClientId: 123456
TargetClientId: 123456
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/client/sendautoemail:
post:
tags:
- Client
summary: Mindbody This Endpoint Requires Staff User Credentials
description: This endpoint requires staff user credentials.
operationId: sendAutoEmail
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/SendAutoEmailRequest'
examples:
SendautoemailRequestExample:
summary: Default sendAutoEmail request example
x-microcks-default: true
value:
ClientId: example-value
EmailType: 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/client/sendpasswordresetemail:
post:
tags:
- Client
summary: Mindbody Send a Password Reset Email to a Client
description: Send a password reset email to a client.
operationId: sendPasswordResetEmail
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/SendPasswordResetEmailRequest'
examples:
SendpasswordresetemailRequestExample:
summary: Default sendPasswordResetEmail request example
x-microcks-default: true
value:
UserEmail: kinlane@example.com
UserFirstName: example-value
UserLastName: 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/client/suspendcontract:
post:
tags:
- Client
summary: Mindbody Suspend Client Contract
description: Suspend client contract
operationId: suspendContract
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/SuspendContractRequest'
examples:
SuspendcontractRequestExample:
summary: Default suspendContract request example
x-microcks-default: true
value:
ClientId: example-value
ClientContractId: 123456
SuspensionType: example-value
SuspensionStart: '2026-05-28T14:30:00Z'
Duration: 1
DurationUnit: 1
OpenEnded: true
SuspensionNotes: Example note for Mindbody Public API.
SuspensionFee: 1.0
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SuspendContractResponse'
examples:
Suspendcontract200Example:
summary: Default suspendContract 200 example
x-microcks-default: true
value:
Contract: {}
'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/client/terminatecontract:
post:
tags:
- Client
summary: Mindbody This Endpoint Terminates a Client Contract. This Endpoint Requires
description: This endpoint terminates a client contract. This endpoint requires staff user credentials with TerminateClientContract permission.
operationId: terminateContract
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/TerminateContractRequest'
examples:
TerminatecontractRequestExample:
summary: Default terminateContract request example
x-microcks-default: true
value:
ClientId: example-value
ClientContractId: 123456
TerminationDate: '2026-05-28T14:30:00Z'
TerminationCode: example-value
TerminationComments: Example note for Mindbody Public API.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateContractResponse'
examples:
Terminatecontract200Example:
summary: Default terminateContract 200 example
x-microcks-default: true
value:
Contract: {}
'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/client/updateclient:
post:
tags:
- Client
summary: Mindbody Starting the Week of May 11th, 2020 All Versions of the Public API
description: 'Starting the week of May 11th, 2020 all versions of the Public API will no longer allow duplicate clients to be created. This applies to both adding a client and updating a client record. A duplicate client is created when two profiles have the same first name, last name and email.
Updates an existing client for a specific subscriber.Passing a User Token as Authorization respects Business Mode required fields.Omitting the token respects Consumer Mode required fields.To make sure you are collecting all required pieces of information, first run GetRequiredClientFields.
. Use this endpoint as follows: * If you need to update the `ReferredBy` parameter, use this endpoint after calling `GET ClientReferralTypes`. * When updating a client''s home location, use after calling `GET Locations`. * If you are updating a client''s stored credit card, use after calling `GET AcceptedCardTypes` so that you can make sure the card is a type that is accepted at the subscriber. * If this endpoint is used on a cross-regional site, passing in a client''s RSSID and email address creates a cross-regional link. This means that the client is created in cross-regional sites where the client does not exist and `GET CrossRegionalClientAssociations` returns all appropriate cross-regional sites. * When `CrossRegionalUpdate` is omitted or set to `true`, the client''s updated information is propagated to all of the region''s sites. If `CrossRegionalUpdate` is set to `false`, only the local client is updated. * Important: Starting in June 2025, the fields RSSID, Prefix, Name, Email, Birthday, Phone, and Address will automatically update cross-regionally when changed, regardless of the CrossRegionalUpdate setting. The update is rolling out on a per customer basis and is expected to complete to all customers by September 2025. Note that the following items cannot be updated for a cross-regional client: * `ClientIndexes` * `ClientRelationships` * `CustomClientFields` * `SalesReps` * `SendAccountE'
operationId: updateClient
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/UpdateClientRequest'
examples:
UpdateclientRequestExample:
summary: Default updateClient request example
x-microcks-default: true
value:
Client: {}
Test: true
CrossRegionalUpdate: true
NewId: example-value
LeadChannelId: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClientResponse'
examples:
Updateclient200Example:
summary: Default updateClient 200 example
x-microcks-default: true
value:
Client: {}
'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/client/updateclientcontractautopays:
post:
tags:
- Client
summary: Mindbody This Endpoint Can Be Used to Update the Amount And/or the Item of a
description: This endpoint can be used to update the amount and/or the item of a client’s autopay schedule.
operationId: updateClientContractAutopays
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/UpdateClientContractAutopaysRequest'
examples:
UpdateclientcontractautopaysRequestExample:
summary: Default updateClientContractAutopays request example
x-microcks-default: true
value:
ClientContractId: 123456
AutopayStartDate: '2026-05-28T14:30:00Z'
AutopayEndDate: '2026-05-28T14:30:00Z'
ProductId: 123456
ReplaceWithProductId: 123456
Amount: 49.99
OverwriteAllProductIDs: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Contract'
examples:
Updateclientcontractautopays200Example:
summary: Default updateClientContractAutopays 200 example
x-microcks-default: true
value:
Id: 123456
Name: Sunset Yoga Studio
Description: Example note for Mindbody Public API.
AssignsMembershipId: 123456
AssignsMembershipName: example-value
SoldOnline: true
ContractItems:
- {}
IntroOffer: example-value
AutopaySchedule: {}
NumberOfAutopays: 1
AutopayTriggerType: example-value
ActionUponCompletionOfAutopays: example-value
ClientsChargedOn: example-value
ClientsChargedOnSpecificDate: '2026-05-28T14:30:00Z'
DiscountAmount: 49.99
DepositAmount: 49.99
FirstAutopayFree: true
LastAutopayFree: true
ClientTerminateOnline: true
MembershipTypeRestrictions:
- {}
LocationPurchaseRestrictionIds:
- 1
LocationPurchaseRestrictionNames:
- example-value
AgreementTerms: example-value
RequiresElectronicConfirmation: true
AutopayEnabled: true
FirstPaymentAmountSubtotal: 49.99
FirstPaymentAmountTax: 49.99
FirstPaymentAmountTotal: 49.99
RecurringPaymentAmountSubtotal: 49.99
RecurringPaymentAmountTax: 49.99
RecurringPaymentAmountTotal: 49.99
TotalContractAmountSubtotal: 49.99
TotalContractAmountTax: 49.99
TotalContractAmountTotal: 49.99
PromoPaymentAmountSubtotal: 49.99
PromoPaymentAmountTax: 49.99
PromoPaymentAmountTotal: 49.99
NumberOfPromoAutopays: 1
'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/client/updateclientservice:
post:
tags:
- Client
summary: Mindbody Updates the Active Date And/or Expiration Date of a Client Pricing
description: Updates the active date and/or expiration date of a client pricing option. This request requires staff user credentials. If the active date is modified, the expiration date is also modified accordingly. If the expiration date is modified, the active date is unchanged.
operationId: updateClientService
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/UpdateClientServiceRequest'
examples:
UpdateclientserviceRequestExample:
summary: Default updateClientService request example
x-microcks-default: true
value:
ServiceId: 123456
ActiveDate: '2026-05-28T14:30:00Z'
ExpirationDate: '2026-05-28T14:30:00Z'
Count: 10
Test: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClientServiceResponse'
examples:
Updateclientservice200Example:
summary: Default updateClientService 200 example
x-microcks-default: true
value:
ClientService: {}
'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/client/updateclientvisit:
post:
tags:
- Client
summary: Mindbody Updates the Status of the Specified Visit
description: Updates the status of the specified visit.
operationId: updateClientVisit
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/UpdateClientVisitRequest'
examples:
UpdateclientvisitRequestExample:
summary: Default updateClientVisit request example
x-microcks-default: true
value:
VisitId: 123456
Makeup: true
SignedIn: true
ClientServiceId: 123456
Execute: example-value
Test: true
SendEmail: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClientVisitResponse'
examples:
Updateclientvisit200Example:
summary: Default updateClientVisit 200 example
x-microcks-default: true
value:
Visit: {}
'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/client/updatecontactlog:
post:
tags:
- Client
summary: Mindbody Update a Contact Log on a Client's Account
description: Update a contact log on a client's account.
operationId: updateContactLog
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/UpdateContactLogRequest'
examples:
UpdatecontactlogRequestExample:
summary: Default updateContactLog request example
x-microcks-default: true
value:
Id: 123456
Test: true
AssignedToStaffId: 123456
Text: example-value
ContactName: example-value
FollowupByDate: '2026-05-28T14:30:00Z'
ContactMethod: example-value
IsComplete: true
Comments:
- {}
Types:
- {}
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactLog'
examples:
Updatecontactlog200Example:
summary: Default updateContactLog 200 example
x-microcks-default: true
value:
Id: 123456
Text: example-value
CreatedDateTime: '2026-05-28T14:30:00Z'
FollowupByDate: '2026-05-28T14:30:00Z'
ContactMethod: example-value
ContactName: example-value
Client: {}
CreatedBy: {}
AssignedTo: {}
Comments:
- {}
Types:
- {}
'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/client/uploadclientdocument:
post:
tags:
- Client
summary: Mindbody Uploads a Document File for a Specific Client. Returns a String
description: Uploads a document file for a specific client. Returns a string representation of the image byte array. The maximum size file that can be uploaded is **4MB**.
operationId: uploadClientDocument
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/UploadClientDocumentRequest'
examples:
UploadclientdocumentRequestExample:
summary: Default uploadClientDocument request example
x-microcks-default: true
value:
ClientId: example-value
File: {}
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UploadClientDocumentResponse'
examples:
Uploadclientdocument200Example:
summary: Default uploadClientDocument 200 example
x-microcks-default: true
value:
FileSize: 1
FileName: example-value
'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/client/uploadclientphoto:
post:
tags:
- Client
summary: Mindbody Uploads a Client’s Profile Photo. the Maximum File Size is 4 MB and
description: 'Uploads a client’s profile photo. The maximum file size is 4 MB and acceptable file types are: * bmp * jpeg * gif * tiff * png'
operationId: uploadClientPhoto
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/UploadClientPhotoRequest'
examples:
UploadclientphotoRequestExample:
summary: Default uploadClientPhoto request example
x-microcks-default: true
value:
Bytes: example-value
ClientId: example-value
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UploadClientPhotoResponse'
examples:
Uploadclientphoto200Example:
summary: Default uploadClientPhoto 200 example
x-microcks-default: true
value:
ClientId: example-value
PhotoUrl: https://example.mindbodyonline.com/resource/abc123
'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/client/clientformulanote:
delete:
tags:
- Client
summary: Mindbody This Endpoint Deletes an Existing Formula Note. a Staff User Token
description: This endpoint deletes an existing formula note. A staff user token must be included with staff assigned permission to view client profile or have both ViewAppointmentDetails and ModifyAppointment permissions.
operationId: deleteClientFormulaNote
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The client ID of the client whose formula note needs to be deleted.
schema:
type: string
example: example-value
- name: request.formulaNoteId
in: query
required: true
description: The formula note ID for the note to be deleted.
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.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
'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/client/deletecontactlog:
delete:
tags:
- Client
summary: Mindbody This Endpoint Deletes Contactlog of Client. This Endpoint Requires
description: This endpoint deletes contactlog of client. This endpoint requires staff user credentials.
operationId: deleteContactLog
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: request.clientId
in: query
required: true
description: The client ID of the client whose Contact Log is being deleted.
schema:
type: string
example: example-value
- name: request.contactLogId
in: query
required: true
description: The Contact Log ID.
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.test
in: query
required: false
description: When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database. When `false`, the database is updated.
schema:
type: boolean
example: 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: []
components:
schemas:
GetContactLogTypesResponse:
type: object
description: Implementation of the 'GetContactLogTypesResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ContactLogTypes:
type: array
items:
$ref: '#/components/schemas/ContactLogType'
description: The requested Active ContactLogTypes
example:
- {}
UpdateClientRewardsRequest:
type: object
description: Implementation of the 'UpdateClientRewardsRequest' model. Request object for using the API to Earn or Redeem reward points
properties:
ClientId:
type: string
description: The ID of the client that is getting rewards earned or redeemed.
example: example-value
Points:
type: integer
format: int32
description: The amount of points the client is getting earned or redeemed, must be a positive number.
example: 1
Action:
type: string
description: 'Indicates if rewards are getting earned or redeemed. Possible values are: *Earned *Redeemed'
example: example-value
Source:
type: string
description: 'If Action passed as **Earned**, possible values are: * Appointment Booking * Class Booking * Referral * Sale
Omit if Action passed as **Redeemed**.'
example: example-value
SourceId:
type: integer
format: int32
description: 'The unique identifier in the MINDBODY system for the **Source**. If Action is **Earned**, and an optional SourceID is provided, it is validated as follows: * If Source is Appointment Booking, then a provided SourceID must be a valid Visit.AppointmentId for the indicated Client. * If Source is **Class Booking**, then a provided SourceID must be a valid Visit.Id for the indicated client. * If Source is **Sale**, then a provided SourceID must be a valid Sale.Id for the indicated client. * If Source'
example: 123456
ActionDateTime:
type: string
format: date-time
description: 'The date and time when the points were earned or redeemed in UTC format. This date may be in the past, however it may not be in the future. Default: **current date/time**'
example: '2026-05-28T14:30:00Z'
StatusEnum:
type: string
description: StatusEnum enumeration.
enum:
- None
- Requested
- Booked
- Completed
- Confirmed
- Arrived
- NoShow
- Cancelled
- LateCancelled
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
ScheduleTypeEnum:
type: string
description: ScheduleTypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
ClientServiceWithActivationType:
type: object
description: 'Implementation of the ''ClientServiceWithActivationType'' model. Represents a pricing option (service) on a client''s account, including activation behavior details. This model extends ClientService to include additional fields that describe how and when the pricing option becomes active for use. For more information about pricing option activation, see the following support articles: - [How to change a pricing option activation date set to begin on the client''s first visit](https://support.mindbodyonline.com/s/article/203268693-How-do-I-adju st-a-pricing-option-that-activates-on-the-date-of-client-s-first-visit-to-c over-a-visit-before-its-activation-date) - [How to set offset activation dates for contracts](https://support.mindbodyonline.com/s/article/Offset-Activation) - [How do I expire or terminate an unused pricing option that activates on the date of the first visit](https://support.mindbodyonline.com/s/article/How-do-I-expire-termina te-an-unused-pricing-option-that-activates-on-d'
properties:
ActivationType:
$ref: '#/components/schemas/ActivationTypeEnum'
description: 'Specifies how this pricing option is configured to activate. This value reflects the activation behavior defined in the Core system when the pricing option was created. Use this field to determine whether the ActiveDate represents the purchase date or a future date pending the client''s first visit. Possible values: - OnFirstVisit: The pricing option activates on the client''s first visit (check-in) after purchase. The ActiveDate is set to the date of that first visit. Until the client checks in, '
CannotPayForClassesBeforeActivation:
type: boolean
description: 'Indicates whether the site enforces activation date restrictions for booking. This value reflects the site-level setting "EnforceActivationDates" (also known as "Check Activation Dates") for the subscriber identified by SiteId. When integrating with booking workflows, use this field in conjunction with ActivationType to determine if a pricing option can be applied for a booking: - true: The site enforces activation dates. The client cannot use this pricing option to pay for classes or appointmen'
example: true
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
ClientDuplicate:
type: object
description: Implementation of the 'ClientDuplicate' model. A client record that is considered a duplicate based on matching of the client's first name, last name, AND email fields
properties:
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
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
FirstName:
type: string
description: The client’s first name.
example: Alex
LastName:
type: string
description: The client’s last name.
example: Lane
Email:
type: string
description: The client’s email address.
example: kinlane@example.com
GetClientDuplicatesResponse:
type: object
description: Implementation of the 'GetClientDuplicatesResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ClientDuplicates:
type: array
items:
$ref: '#/components/schemas/ClientDuplicate'
description: The requested clients.
example:
- {}
GetCustomClientFieldsResponse:
type: object
description: Implementation of the 'GetCustomClientFieldsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
CustomClientFields:
type: array
items:
$ref: '#/components/schemas/CustomClientField'
description: Contains information about the available custom client fields.
example:
- {}
TerminateContractRequest:
type: object
description: Implementation of the 'TerminateContractRequest' model.
properties:
ClientId:
type: string
description: 'The ID of the client. NOTE: this should be the PayerClientId (from GET ClientContracts and/or GET ClientCompleteInfo), which is the ID of the client who holds the contract.'
example: example-value
ClientContractId:
type: integer
format: int32
description: The unique ID of the sale of the contract
example: 123456
TerminationDate:
type: string
format: date-time
description: The contract termination date.
example: '2026-05-28T14:30:00Z'
TerminationCode:
type: string
description: ex. Illness, Injury, Moving, BreakingContract (Note this can be customized by each studio).
example: example-value
TerminationComments:
type: string
description: The comments for terminating a contract.
example: Example note for Mindbody Public API.
ClientIndex:
type: object
description: Implementation of the 'ClientIndex' model. A client index.
properties:
Id:
type: integer
format: int32
description: The unique ID of the client index.
example: 123456
Name:
type: string
description: The name of the client index.
example: Sunset Yoga Studio
RequiredBusinessMode:
type: boolean
description: When `true`, indicates that the index is required when creating profiles in business mode.
example: true
RequiredConsumerMode:
type: boolean
description: When `true`, indicates that the index is required when creating profiles in consumer mode.
example: true
Values:
type: array
items:
$ref: '#/components/schemas/ClientIndexValue'
description: Contains a list with a single object representing the index value assigned to the client index.
example:
- {}
Action:
$ref: '#/components/schemas/Action8Enum'
description: The action performed on this object.
UpdateContactLogComment:
type: object
description: Implementation of the 'UpdateContactLogComment' model.
properties:
Id:
type: integer
format: int32
description: The ID of the contact log comment to be updated. Pass a value of `0` to add a new comment to the contact log.
example: 123456
Text:
type: string
description: The new text for the comment.
example: example-value
TerminateContractResponse:
type: object
description: Implementation of the 'TerminateContractResponse' model.
properties:
Contract:
$ref: '#/components/schemas/ClientContract'
description: Contains confirmation message for the successful contract termination.
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'
GetClientIndexesResponse:
type: object
description: Implementation of the 'GetClientIndexesResponse' model.
properties:
ClientIndexes:
type: array
items:
$ref: '#/components/schemas/ClientIndex'
description: Contains information about the client indexes.
example:
- {}
AddFormulaNoteRequest:
type: object
description: Implementation of the 'AddFormulaNoteRequest' model.
properties:
ClientId:
type: string
description: The ID of the client who needs to have a formula note added.
example: example-value
Note:
type: string
description: The new formula note text.
example: example-value
AppointmentId:
type: integer
format: int32
description: The appointment ID that the formula note is related to.
example: 123456
DirectDebitInfo:
type: object
description: Implementation of the 'DirectDebitInfo' model.
properties:
NameOnAccount:
type: string
description: The name on the bank account.
example: example-value
RoutingNumber:
type: string
description: The routing number for the bank.
example: example-value
AccountNumber:
type: string
description: The last four of the bank account number.
example: example-value
AccountType:
type: string
description: 'The account type. Possible values: * Checking * Savings'
example: example-value
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
UpdateClientServiceResponse:
type: object
description: Implementation of the 'UpdateClientServiceResponse' model.
properties:
ClientService:
$ref: '#/components/schemas/ClientService'
description: Contains information about the service to be updated.
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
AutopayStatusEnum:
type: string
description: AutopayStatusEnum enumeration.
enum:
- Active
- Inactive
- Suspended
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:
- {}
SendAutoEmailRequest:
type: object
description: Implementation of the 'SendAutoEmailRequest' model.
properties:
ClientId:
type: string
description: The ID of the client email will be sent to.
example: example-value
EmailType:
type: string
description: 'The type of the email that will be sent to a client. Possible values are: * BusinessWelcomeEmail * ConsumerWelcomeEmail'
example: example-value
ContactLogSubType:
type: object
description: Implementation of the 'ContactLogSubType' model. A contact log subtype.
properties:
Id:
type: integer
format: int32
description: The unique ID of the subtype
example: 123456
Name:
type: string
description: The name of the subcontactlog Type.
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
AddClientResponse:
type: object
description: Implementation of the 'AddClientResponse' model.
properties:
Client:
$ref: '#/components/schemas/Client'
description: Contains information about the client.
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.
AddClientRequest:
type: object
description: Implementation of the 'AddClientRequest' model.
properties:
FirstName:
type: string
description: The client’s first name. You must specify a first name when you add a client.
example: Alex
LastName:
type: string
description: The client’s last name. You must specify a last name when you add a client.
example: Lane
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
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
Active:
type: boolean
description: When `true`, indicates that the client is active at the site.
When `false`, indicates that the client is not active at the site.
example: true
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
ApptGenderPrefMale:
type: boolean
description: 'When `true`, indicates that the client prefers services to be provided by a male service provider.
When `false`, indicates that the client prefers services to be provided by a female service provider.
When `null`, indicates that the client has no preference. Default: **null**'
example: true
BirthDate:
type: string
format: date-time
description: The client’s date of birth.
example: '2026-05-28T14:30:00Z'
City:
type: string
description: The client’s city.
example: San Francisco
ClientCreditCard:
$ref: '#/components/schemas/ClientCreditCard'
description: Contains information about the client’s credit card.
ClientIndexes:
type: array
items:
$ref: '#/components/schemas/AssignedClientIndex'
description: Contains a list of the indexes and client index values to be assigned to the client. 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 client relationships that were added or updated for the client. This parameter does not include all of the relationships assigned to the client, only the ones passed in the request.
example:
- {}
Country:
type: string
description: The country in which the client is located.
example: US
CreationDate:
type: string
format: date-time
description: The date when the client was added to the business, either by the client from the online store or by a staff member at the subscriber’s business. 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:
- {}
Email:
type: string
description: The client’s email address.
example: kinlane@example.com
EmergencyContactInfoEmail:
type: string
description: The email address of the client’s emergency contact.
For more information, see [Children’s program features(emergency contact information)](https://support.mindbodyonline.com/s/article/20325928 3-Children-s-program-features-emergency-contact-information?languag e=en_US).
example: kinlane@example.com
EmergencyContactInfoName:
type: string
description: The name of the client’s emergency contact.
example: example-value
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, for example, mother or spouse.
example: example-value
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'
Gender:
type: string
description: The client’s gender.
example: example-value
HomeLocation:
$ref: '#/components/schemas/Location'
description: Sets the client’s home location to the passed location, based on its ID.
HomePhone:
type: string
description: The client’s home phone number.
example: '+15551234567'
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.
If the business owner has enabled the setting to default new client as a Prospect, the isProspect value will always be true. Otherwise,
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
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.
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'
Liability:
$ref: '#/components/schemas/Liability'
description: Contains the client’s liability agreement information for the business.
LiabilityRelease:
type: boolean
description: 'When `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. When `false`, sets the client’s liability information as follows: * `IsReleased` is set to `false`. * `AgreementDate` is set to `null`'
example: true
MembershipIcon:
type: integer
format: int32
description: The ID of the membership icon displayed next to the client’s name, if the client has a membership on their account.
example: 1
MiddleName:
type: string
description: The client’s middle name.
example: example-value
MobilePhone:
type: string
description: The client’s mobile phone number.
example: '+15551234567'
MobileProvider:
type: integer
format: int32
description: The client's mobile provider.
example: 1
NewId:
type: string
description: 'The new RSSID to be used for the client. Use `NewId` to assign a specific alphanumeric value to be a client’s ID. This RSSID must be unique within the subscriber’s site. If this is a cross-regional update, the RSSID must be unique across the region. If the requested value is already in use, the call returns an error. Note: NewId value cannot fall within the reserved default ID range (100000000 -> 101000000)'
example: example-value
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.
PhotoUrl:
type: string
description: The URL for the client’s photo, if one has been uploaded.
example: https://example.mindbodyonline.com/resource/abc123
PostalCode:
type: string
description: The client’s postal code.
example: '94110'
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).
RedAlert:
type: string
description: Contains any red alert information entered by the business owner for the client.
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 `GET ClientReferralTypes` endpoint.
For more information, see [Referral types and referral subtypes](https://support.mindbodyonline.com/s/article/203259393-Re ferral-types-and-referral-subtypes?language=en_US).
example: example-value
SalesReps:
type: array
items:
$ref: '#/components/schemas/SalesRep'
description: Contains information about the sales representatives to be assigned to the new client.
example:
- {}
SiteId:
type: integer
format: int32
description: The ID of the site.
example: -99
State:
type: string
description: The client’s state.
example: CA
Status:
type: string
description: The client’s status.
example: Active
Test:
type: boolean
description: 'When `true`, indicates that test mode is enabled. The method is validated, but no client data is added or updated.
Default: **false**'
example: true
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
WorkExtension:
type: string
description: The client’s work phone extension number.
example: example-value
WorkPhone:
type: string
description: The client’s work phone number.
example: '+15551234567'
YellowAlert:
type: string
description: Contains any yellow alert information entered by the business owner for the client.
example: example-value
SendScheduleEmails:
type: boolean
description: 'When `true`, indicates that the client opts to receive schedule emails. Default : **false**'
example: true
SendAccountEmails:
type: boolean
description: 'When `true`, indicates that the client opts to receive account emails. Default : **false**'
example: true
SendPromotionalEmails:
type: boolean
description: 'When `true`, indicates that the client opts to receive promotional emails. Default : **false**'
example: true
SendScheduleTexts:
type: boolean
description: When `true`, indicates that the client opts to receive schedule texts.
example: true
SendAccountTexts:
type: boolean
description: When `true`, indicates that the client opts to receive account texts.
example: true
SendPromotionalTexts:
type: boolean
description: When `true`, indicates that the client opts to receive promotional texts.
example: true
LockerNumber:
type: string
description: The clients locker number.
example: example-value
ReactivateInactiveClient:
type: boolean
description: When `true`, indicates that the client opts to reactive existing Inactive client.
example: true
LeadChannelId:
type: integer
format: int32
description: The ID of the LeadChannel from LeadManagement. This parameter is required by LeadManagement to track the LeadChannel from where the new client is added. If this value is not supplied then it won't save anything.
example: 123456
AddContactLogType:
type: object
description: Implementation of the 'AddContactLogType' model. Defines what sort of subtypes we want to add to this contact log type
properties:
Id:
type: integer
format: int32
description: The contact log type’s ID.
example: 123456
SubTypes:
type: array
items:
type: integer
format: int32
description: A list of the subtype IDs used to tag this contact log type.
example:
- 1
SuspendContractResponse:
type: object
description: Implementation of the 'SuspendContractResponse' model.
properties:
Contract:
$ref: '#/components/schemas/ClientContract'
description: Contains information about client contract.
GetRequiredClientFieldsResponse:
type: object
description: Implementation of the 'GetRequiredClientFieldsResponse' model.
properties:
RequiredClientFields:
type: array
items:
type: string
description: A list of strings that maps to the client fields that are required by the site.
example:
- example-value
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).
ActivationTypeEnum:
type: string
description: ActivationTypeEnum enumeration.
enum:
- OnFirstVisit
- OnPurchase
UploadClientPhotoResponse:
type: object
description: Implementation of the 'UploadClientPhotoResponse' model.
properties:
ClientId:
type: string
description: The RSSID of the client for whom the photo was uploaded.
example: example-value
PhotoUrl:
type: string
description: The URL of the uploaded photo.
example: https://example.mindbodyonline.com/resource/abc123
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
GetActiveClientsMembershipsResponse:
type: object
description: Implementation of the 'GetActiveClientsMembershipsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ClientMemberships:
type: array
items:
$ref: '#/components/schemas/ClientMemberships'
description: Details about the requested memberships.
example:
- {}
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
ClientMemberships:
type: object
description: Implementation of the 'ClientMemberships' model.
properties:
ClientId:
type: string
description: ID of the client.
example: example-value
Memberships:
type: array
items:
$ref: '#/components/schemas/ClientMembership'
description: Contains information about the Client Memberships details.
example:
- {}
ErrorMessage:
type: string
description: The model property of type str.
example: example-value
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
ClientArrival:
type: object
description: Implementation of the 'ClientArrival' model.
properties:
ArrivalProgramID:
type: integer
format: int32
description: Arrival program id
example: 1
ArrivalProgramName:
type: string
description: Arrival program name
example: example-value
CanAccess:
type: boolean
description: Property to check client can access arrival service.
example: true
LocationsIDs:
type: array
items:
type: integer
format: int32
description: List of locations where arrival service can availed
example:
- 1
UpdateClientResponse:
type: object
description: Implementation of the 'UpdateClientResponse' model.
properties:
Client:
$ref: '#/components/schemas/ClientWithSuspensionInfo'
description: Contains information about the updated client.
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
ClientMembership:
type: object
description: Implementation of the 'ClientMembership' model.
properties:
RestrictedLocations:
type: array
items:
$ref: '#/components/schemas/Location'
description: The locations that the membership is restricted to, if any. Please note that client memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization.
example:
- {}
IconCode:
type: string
description: Text code that represents the `MembershipIcon`.
example: example-value
MembershipId:
type: integer
format: int32
description: The membership's ID.
example: 123456
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
VisitWithWaitlistInfo:
type: object
description: Implementation of the 'VisitWithWaitlistInfo' model. A Visit DTO with Waitlist Information
properties:
WaitlistInfo:
$ref: '#/components/schemas/VisitWaitlistInfo'
description: Contains information about the visit waitlist info.
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
UploadClientDocumentRequest:
type: object
description: Implementation of the 'UploadClientDocumentRequest' model.
properties:
ClientId:
type: string
description: The RSSID of the client for whom the document is to be uploaded.
example: example-value
File:
$ref: '#/components/schemas/ClientDocument'
description: Contains information about the file to be uploaded.
UpdateClientVisitRequest:
type: object
description: Implementation of the 'UpdateClientVisitRequest' model.
properties:
VisitId:
type: integer
format: int32
description: The ID of the visit to be updated.
example: 123456
Makeup:
type: boolean
description: When `true`, indicates that the visit is eligible to be made up.
example: true
SignedIn:
type: boolean
description: When `true`, indicates that the client has signed in for the visit.
example: true
ClientServiceId:
type: integer
format: int32
description: The ID of the service to assign to the visit.
example: 123456
Execute:
type: string
description: 'The execute code used to update this visit. Possible values are: * Cancel * Latecancel * Unlatecancel'
example: example-value
Test:
type: boolean
description: 'When `true`, indicates that test mode is enabled. When test mode is enabled, input information is validated, but not committed.
Default: **false**'
example: true
SendEmail:
type: boolean
description: 'When `true`, indicates that the client should be sent an email for cancellations. Note that email is not sent unless the client has an email address and automatic emails have been set up correctly.
Default: **false**'
example: true
GetClientPurchasesResponse:
type: object
description: Implementation of the 'GetClientPurchasesResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Purchases:
type: array
items:
$ref: '#/components/schemas/ClientPurchaseRecord'
description: Contains information that describes the item sold and the payment.
example:
- {}
UpdateClientServiceRequest:
type: object
description: Implementation of the 'UpdateClientServiceRequest' model.
properties:
ServiceId:
type: integer
format: int32
description: The ID of the service to update.
example: 123456
ActiveDate:
type: string
format: date-time
description: The date that the service became active.
example: '2026-05-28T14:30:00Z'
ExpirationDate:
type: string
format: date-time
description: The date that the service is to expire.
example: '2026-05-28T14:30:00Z'
Count:
type: integer
format: int32
description: The number of client service sessions to update.
example: 10
Test:
type: boolean
description: 'When `true`, indicates that input information is to be validated, but not committed.
When `false` or omitted, the database is affected.
Default: **false**'
example: true
VisitWaitlistInfo:
type: object
description: Implementation of the 'VisitWaitlistInfo' model. A Visit DTO with Waitlist Information
properties:
WaitlistId:
type: integer
format: int32
description: waitlist entry Id
example: 123456
WaitlistOrderNumber:
type: integer
format: int32
description: order of the waitlist entry
example: 1
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
GetClientServicesResponse:
type: object
description: Implementation of the 'GetClientServicesResponse' model. Contains the response for the GetClientServices endpoint.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ClientServices:
type: array
items:
$ref: '#/components/schemas/ClientServiceWithActivationType'
description: Contains information about client pricing options, including activation behavior details. Each item includes ActivationType and CannotPayForClassesBeforeActivation fields to help determine booking eligibility based on the pricing option's activation configuration.
example:
- {}
AddClientDirectDebitInfoResponse:
type: object
description: Implementation of the 'AddClientDirectDebitInfoResponse' model.
properties:
ClientId:
type: string
description: The ID of the client being updated
example: example-value
NameOnAccount:
type: string
description: The name on the bank account being added
example: example-value
RoutingNumber:
type: string
description: The routing number of the bank account being added
example: example-value
AccountNumber:
type: string
description: The bank account number
example: example-value
AccountType:
type: string
description: 'The account type. Possible values: * Checking * Savings'
example: example-value
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
ClientSuspensionInfo:
type: object
description: Implementation of the 'ClientSuspensionInfo' model. A Client DTO with Suspension Information
properties:
BookingSuspended:
type: boolean
description: When 'true', indicates that the client is suspended from booking
example: true
SuspensionStartDate:
type: string
description: Indicates the Date that BookingSuspension starts 'YYYY-MM-DD'
example: example-value
SuspensionEndDate:
type: string
description: Indicates the Date that BookingSuspension ends 'YYYY-MM-DD'
example: example-value
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
ClientWithSuspensionInfo:
type: object
description: Implementation of the 'ClientWithSuspensionInfo' model. A Client DTO with Suspension Information
properties:
SuspensionInfo:
$ref: '#/components/schemas/ClientSuspensionInfo'
description: Contains information about the client account suspension. If **Scheduling Suspensions** setting in General Settings and Options is disabled, this field will be null for GetClients and return validation error for UpdateClient.
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).
UpdateContactLogRequest:
type: object
description: Implementation of the 'UpdateContactLogRequest' model.
properties:
Id:
type: integer
format: int32
description: The ID of the contact log being updated.
example: 123456
Test:
type: boolean
description: When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.
When `false`, the database is updated.
example: true
AssignedToStaffId:
type: integer
format: int32
description: The ID of the staff member to whom the contact log is now being assigned.
example: 123456
Text:
type: string
description: The contact log’s new text.
example: example-value
ContactName:
type: string
description: The name of the new person to be contacted by the assigned staff member.
example: example-value
FollowupByDate:
type: string
format: date-time
description: The new date by which the assigned staff member should complete this contact log.
example: '2026-05-28T14:30:00Z'
ContactMethod:
type: string
description: The new method by which the client wants to be contacted.
example: example-value
IsComplete:
type: boolean
description: When `true`, indicates that the contact log is complete. When `false`, indicates the contact log isn’t complete.
example: true
Comments:
type: array
items:
$ref: '#/components/schemas/UpdateContactLogComment'
description: Contains information about the comments being updated or added to the contact log. Comments that have an ID of `0` are added to the contact log.
example:
- {}
Types:
type: array
items:
$ref: '#/components/schemas/UpdateContactLogType'
description: Contains information about the contact logs types being assigned to the contact log, in addition to the contact log types that are already assigned.
example:
- {}
ClientContract:
type: object
description: Implementation of the 'ClientContract' model. A client contract.
properties:
PayerClientId:
type: integer
format: int32
description: The ID of the client who holds the contract.
example: 123456
AgreementDate:
type: string
format: date-time
description: The date on which the contract was signed.
example: '2026-05-28T14:30:00Z'
AutopayStatus:
$ref: '#/components/schemas/AutopayStatusEnum'
description: The status of the client’s autopay.
AutoRenewing:
type: boolean
description: Determines if the contract is auto-renewing.
example: true
FirstAutoPay:
type: number
format: double
description: The amount of the first autopay transaction.
example: 1.0
LastAutoPay:
type: number
format: double
description: The amount of the last autopay transaction.
example: 1.0
NormalAutoPay:
type: number
format: double
description: The amount of the normal recurring autopay transaction.
example: 1.0
IsMonthToMonth:
type: boolean
description: Indicates if the contract renews on a month-to-month basis.
example: true
AutoRenewClientContractID:
type: integer
format: int32
description: The ID of the contract that this one auto-renews from.
example: 1
ContractText:
type: string
description: The full text of the contract.
example: example-value
ContractAutoRenewed:
type: boolean
description: Indicates whether the contract was auto-renewed from a previous one.
example: true
ContractName:
type: string
description: The name of the contract.
example: example-value
EndDate:
type: string
format: date-time
description: The date that the contract expires.
example: '2026-05-28T14:30:00Z'
Id:
type: integer
format: int32
description: The unique ID of the sale of the contract. Each time a contract is sold, this ID increases sequentially.
example: 123456
OriginationLocationId:
type: integer
format: int32
description: The ID of the location where the contract was issued.
example: 123456
StartDate:
type: string
format: date-time
description: The date that the contract became active.
example: '2026-05-28T14:30:00Z'
SiteId:
type: integer
format: int32
description: The ID of the site where the contract was issued.
example: -99
UpcomingAutopayEvents:
type: array
items:
$ref: '#/components/schemas/UpcomingAutopayEvent'
description: Contains details of the autopay events.
example:
- {}
ContractID:
type: integer
format: int32
description: The ID of the contract.
example: 1
TerminationDate:
type: string
format: date-time
description: The date that the contract was terminated.
example: '2026-05-28T14:30:00Z'
MinimumCommitmentValue:
type: integer
format: int32
description: Minimum commitment value.
example: 1
MinimumCommitmentUnit:
$ref: '#/components/schemas/MinimumCommitmentUnitEnum'
description: Minimum commitment unit type.
MinimumCommitmentEndDate:
type: string
format: date-time
description: The earliest date a contract termination can take effect if a minimum commitment applies. This represents the last day the client is obligated to remain on the contract. Returned even if the commitment has already been fulfilled.
example: '2026-05-28T14:30:00Z'
AddClientDirectDebitInfoRequest:
type: object
description: Implementation of the 'AddClientDirectDebitInfoRequest' model.
properties:
Test:
type: boolean
description: 'When `true`, indicates that test mode is enabled. The information is to be validated, but no data will be added or updated. Default: **false**'
example: true
ClientId:
type: string
description: The ID of the client being updated
example: example-value
NameOnAccount:
type: string
description: The name on the bank account being added
example: example-value
RoutingNumber:
type: string
description: The routing number of the bank account being added
example: example-value
AccountNumber:
type: string
description: The bank account number
example: example-value
AccountType:
type: string
description: 'The account type. Possible values: * Checking * Savings'
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
AddContactLogRequest:
type: object
description: Implementation of the 'AddContactLogRequest' model.
properties:
ClientId:
type: string
description: The ID of the client whose contact log is being added.
example: example-value
ContactMethod:
type: string
description: How the client wants to be contacted.
example: example-value
AssignedToStaffId:
type: integer
format: int32
description: The ID of the staff member to whom the contact log is assigned.
example: 123456
Text:
type: string
description: The body of the contact log.
example: example-value
FollowupByDate:
type: string
format: date-time
description: The date by which the assigned staff member should complete this contact log.
example: '2026-05-28T14:30:00Z'
ContactName:
type: string
description: The name of the person to be contacted by the assigned staff member.
example: example-value
IsComplete:
type: boolean
description: When `true`, indicates that the contact log is complete. When `false`, indicates the contact log isn’t complete.
example: true
Comments:
type: array
items:
type: string
description: Any comments on the contact log.
example:
- Example note for Mindbody Public API.
Types:
type: array
items:
$ref: '#/components/schemas/AddContactLogType'
description: The contact log types used to tag this contact log.
example:
- {}
Test:
type: boolean
description: When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.
When `false`, the database is updated.
example: true
GenderPreferenceEnum:
type: string
description: GenderPreferenceEnum enumeration.
enum:
- None
- Female
- Male
UpdateContactLogType:
type: object
description: Implementation of the 'UpdateContactLogType' model.
properties:
Id:
type: integer
format: int32
description: The ID of the contact log type to update the subtypes of.
example: 123456
SubTypes:
type: array
items:
type: integer
format: int32
description: The subtype IDs that are to be added to the contact log.
example:
- 1
GetClientRewardsResponse:
type: object
description: Implementation of the 'GetClientRewardsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Balance:
type: integer
format: int32
description: The total rewards points available to the indicated client after the above transaction.
example: 1
Transactions:
type: array
items:
$ref: '#/components/schemas/ClientRewardTransaction'
description: Contains information about the reward transaction details.
example:
- {}
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
CustomClientField:
type: object
description: Implementation of the 'CustomClientField' model. A custom client field
properties:
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
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
GetClientFormulaNotesResponse:
type: object
description: Implementation of the 'GetClientFormulaNotesResponse' model. Enables to retrieve cross regional formula notes for a client, or for a specific appointment. The two parameters are optional, however at least one must be provided. This endpoint supports pagination.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
FormulaNotes:
type: array
items:
$ref: '#/components/schemas/FormulaNoteResponse'
description: Contains details about the client’s formula.
example:
- {}
ContactLogType:
type: object
description: Implementation of the 'ContactLogType' model. A contact log type.
properties:
Id:
type: integer
format: int32
description: The Id of the contactlog Type.
example: 123456
Name:
type: string
description: The name of the contactlog Type.
example: Sunset Yoga Studio
SubTypes:
type: array
items:
$ref: '#/components/schemas/ContactLogSubType'
description: Contains the SubType objects, each of which describes the subtypes for a contactlog Type.
example:
- {}
SendPasswordResetEmailRequest:
type: object
description: Implementation of the 'SendPasswordResetEmailRequest' model. Request to send a password reset email to a user
properties:
UserEmail:
type: string
description: The user’s email address. The software uses this parameter as the username.
example: kinlane@example.com
UserFirstName:
type: string
description: The user’s first name. The software uses this parameter to verify the user.
example: example-value
UserLastName:
type: string
description: The user’s last name. The software uses this parameter to verify the user.
example: example-value
UpdateClientRequest:
type: object
description: Implementation of the 'UpdateClientRequest' model.
properties:
Client:
$ref: '#/components/schemas/ClientWithSuspensionInfo'
description: Contains information about the client to be updated. The client ID is used to look up the existing client to update and any specified values are updated.
Test:
type: boolean
description: 'When `true`, indicates that test mode is enabled. The method is validated, but no client data is added or updated.
Default: **false**'
example: true
CrossRegionalUpdate:
type: boolean
description: 'When `true`, the updated information is propagated to all of the region’s sites where the client has a profile.
When `false`, only the local client is updated.
Default: **true**
Important: The fields below will automatically propagate cross-regionally when updated through the UpdateClient endpoint, regardless the CrossRegionalUpdate parameter is set to `true` or `false`. * `RSSID` * `Prefix` * `Name (First, Middle, Last, Nickname)` * `Email` * `Birthday` * `Phone (Home, Mobile,'
example: true
NewId:
type: string
description: 'The new RSSID to be used for the client. Use `NewId` to assign a specific number to be a client’s ID. If that number is not available, the call returns an error. This RSSID must be unique within the subscriber’s site. If this is a cross-regional update, the RSSID must be unique across the region. If the requested number is already in use, an error is returned. Note: NewId value cannot fall within the reserved default ID range (100000000 -> 101000000)'
example: example-value
LeadChannelId:
type: integer
format: int32
description: The ID of the Lead Channel ID from lead management. If this is supplied then it will map lead channel on the lead management. If this is not supplied then it will have Publicapi LeadChannelId. This parameters required to track the lead channel if new client added to the location.
example: 123456
GetClientsResponse:
type: object
description: Implementation of the 'GetClientsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination properties to use.
Clients:
type: array
items:
$ref: '#/components/schemas/ClientWithSuspensionInfo'
description: The requested clients.
example:
- {}
GetClientVisitsResponse:
type: object
description: Implementation of the 'GetClientVisitsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Visits:
type: array
items:
$ref: '#/components/schemas/Visit'
description: Contains information about client visits.
example:
- {}
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
SuspendContractRequest:
type: object
description: Implementation of the 'SuspendContractRequest' model.
properties:
ClientId:
type: string
description: The ID of the client.
example: example-value
ClientContractId:
type: integer
format: int32
description: The unique ID of the sale of the contract.
example: 123456
SuspensionType:
type: string
description: ex. Illness, Injury, Vacation. (Note this can be customized by each studio). If provided, then Duration, DurationUnit, and SuspensionFee (if applicable) are automatically applied. Restrict Days are not supported.
example: example-value
SuspensionStart:
type: string
format: date-time
description: 'The contract suspension start date. Default: *today’s date*'
example: '2026-05-28T14:30:00Z'
Duration:
type: integer
format: int32
description: The number of (DurationUnit) the suspension lasts.
example: 1
DurationUnit:
type: integer
format: int32
description: The unit applied to Duration.
example: 1
OpenEnded:
type: boolean
description: 'When `true`, indicates that suspension is open ended. Also, when `true`, then Duration and DurationUnit are ignored. Default: *false*'
example: true
SuspensionNotes:
type: string
description: The comments for suspending a contract.
example: Example note for Mindbody Public API.
SuspensionFee:
type: number
format: double
description: An optional charge that clients who wish to pause a contract for a set period of time can be charged.
example: 1.0
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
UpdateClientVisitResponse:
type: object
description: Implementation of the 'UpdateClientVisitResponse' model.
properties:
Visit:
$ref: '#/components/schemas/Visit'
description: The updated visit.
GetClientAccountBalancesResponse:
type: object
description: Implementation of the 'GetClientAccountBalancesResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Clients:
type: array
items:
$ref: '#/components/schemas/Client'
description: A list of clients.
example:
- {}
ClientRewardTransaction:
type: object
description: Implementation of the 'ClientRewardTransaction' model. Contains information about the transaction details.
properties:
ActionDateTime:
type: string
format: date-time
description: The date and time when the points were earned or redeemed in the site local time zone.
example: '2026-05-28T14:30:00Z'
Action:
$ref: '#/components/schemas/Action11Enum'
description: Indicates if rewards were earned or redeemed.
Source:
type: string
description: The source of the reward transaction.
example: example-value
SourceID:
type: integer
format: int32
description: The unique identifier in the MINDBODY system for the **Source**.
example: 1
ExpirationDateTime:
type: string
format: date-time
description: The date and time when earned points expire. This is calculated based on site and client rewards settings. This date will be in the site local time zone and may be **null**.
example: '2026-05-28T14:30:00Z'
Points:
type: integer
format: int32
description: The amount of points the client earned or redeemed.
example: 1
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
MinimumCommitmentUnitEnum:
type: string
description: MinimumCommitmentUnitEnum enumeration.
enum:
- Weeks
- Months
- Years
MergeClientsRequest:
type: object
description: Implementation of the 'MergeClientsRequest' model. Request for clients/mergeclients
properties:
SourceClientId:
type: integer
format: int32
description: The client that will be merged into TargetClientId
example: 123456
TargetClientId:
type: integer
format: int32
description: The client that will remain
example: 123456
GetClientContractsResponse:
type: object
description: Implementation of the 'GetClientContractsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Contracts:
type: array
items:
$ref: '#/components/schemas/ClientContract'
description: Contains the details of the client’s contract.
example:
- {}
FormulaNoteResponse:
type: object
description: Implementation of the 'FormulaNoteResponse' model. An individual Client Formula Note.
properties:
Id:
type: integer
format: int32
description: The formula note ID.
example: 123456
ClientId:
type: string
description: The unique Id of the client for the formula note. This is the unique ID for the client in the site where the formula note originated. This is different than the ClientId specified in the request, which is the id for the client assigned by the business.
example: example-value
AppointmentId:
type: integer
format: int32
description: The appointment ID that the formula note is related to.
example: 123456
EntryDate:
type: string
format: date-time
description: The date formula note was created.
example: '2026-05-28T14:30:00Z'
Note:
type: string
description: The new formula note text.
example: example-value
SiteId:
type: integer
format: int32
description: The site Id.
example: -99
SiteName:
type: string
description: The site name.
example: example-value
StaffFirstName:
type: string
description: The first name of the staff for the optional associated appointment. If no appointment ID is provided, this will be null.
example: example-value
StaffLastName:
type: string
description: The last name of the staff for the optional associated appointment. If no appointment ID is provided, this will be null.
example: example-value
StaffDisplayName:
type: string
description: The display name of the staff for the optional associated appointment. If no appointment ID is provided, or no display name is specified for the staff member, this will be null.
example: example-value
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
PaymentMethodEnum:
type: string
description: PaymentMethodEnum enumeration.
enum:
- Other
- CreditCard
- DebitAccount
- ACH
ClientDocument:
type: object
description: Implementation of the 'ClientDocument' model.
properties:
FileName:
type: string
description: The name of the file to be used on the client’s documents page when it is uploaded.
example: example-value
MediaType:
type: string
description: 'The type of file or file extension. Possible values are: * pdf * jpg * jpeg * tif * tiff * png * doc * docx * bmp * txt * rtf * xlsx * xls * gif * zip * ppt * pptx * mov'
example: example-value
Buffer:
type: string
description: A Base64-encoded string representation of the file’s byte array.
example: example-value
Action11Enum:
type: string
description: Action11Enum enumeration.
enum:
- Earned
- Redeemed
- Returned
- Removed
- LateCanceled
UploadClientDocumentResponse:
type: object
description: Implementation of the 'UploadClientDocumentResponse' model.
properties:
FileSize:
type: integer
format: int32
description: The size of the uploaded file.
example: 1
FileName:
type: string
description: The name of the uploaded file.
example: example-value
ClientPurchaseRecord:
type: object
description: Implementation of the 'ClientPurchaseRecord' model. A record of a specific client purchase
properties:
Sale:
$ref: '#/components/schemas/Sale'
description: Contains details about the sale and payment for a purchase event.
Description:
type: string
description: The item name and description.
example: Example note for Mindbody Public API.
AccountPayment:
type: boolean
description: If `true`, the item was a payment credited to an account.
example: true
Price:
type: number
format: double
description: The price paid for the item.
example: 49.99
AmountPaid:
type: number
format: double
description: The amount paid for the item.
example: 49.99
Discount:
type: number
format: double
description: The discount amount that was applied to the item.
example: 1.0
Tax:
type: number
format: double
description: The amount of tax that was applied to the item.
example: 1.0
Returned:
type: boolean
description: The return status of the item. If `true`, this item was returned.
example: true
Quantity:
type: integer
format: int32
description: The quantity of the item purchased.
example: 10
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
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.
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
UpcomingAutopayEvent:
type: object
description: Implementation of the 'UpcomingAutopayEvent' model.
properties:
ClientContractId:
type: integer
format: int32
description: The ID of the contract.
example: 123456
ChargeAmount:
type: number
format: double
description: The amount charged.
example: 49.99
Subtotal:
type: number
format: double
description: Subtotal before tax.
example: 1.0
Tax:
type: number
format: double
description: Tax amount.
example: 1.0
PaymentMethod:
$ref: '#/components/schemas/PaymentMethodEnum'
description: The payment method.
ScheduleDate:
type: string
format: date-time
description: The date and time of the next payment.
example: '2026-05-28T14:30:00Z'
ProductId:
type: integer
format: int32
description: The product id.
example: 123456
AddArrivalRequest:
type: object
description: Implementation of the 'AddArrivalRequest' model.
properties:
ClientId:
type: string
description: The ID of the requested client.
example: example-value
LocationId:
type: integer
format: int32
description: The ID of the location for the requested arrival.
example: 123456
ArrivalTypeId:
type: integer
format: int32
description: 'The ID of the arrival program (service category) under which this arrival is to be logged. If this is not provided, the program ID of the first arrival pricing option found will be used. OPTIONAL: will take first payment found if not provided Default: **null**'
example: 123456
LeadChannelId:
type: integer
format: int32
description: The ID of the Lead Channel ID from lead management. If this is supplied then it will map lead channel on the lead management. If this is not supplied then it wont save anything. This parameters required to track the lead channel if new client added while adding arrival of client on non home location.
example: 123456
Test:
type: boolean
description: 'When `true`, indicates that the arrival log is to be validated, but no new arrival data is added. When `false`, the arrival is logged and the database is affected. Default: **false**'
example: true
GetCrossRegionalClientAssociationsResponse:
type: object
description: Implementation of the 'GetCrossRegionalClientAssociationsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
CrossRegionalClientAssociations:
type: array
items:
$ref: '#/components/schemas/CrossRegionalClientAssociation'
description: Contains information about the client’s cross regional associations.
example:
- {}
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
GetClientCompleteInfoResponse:
type: object
description: Implementation of the 'GetClientCompleteInfoResponse' model. Contains information about the requested client.
properties:
Client:
$ref: '#/components/schemas/ClientWithSuspensionInfo'
description: Contains information about the requested client.
ClientServices:
type: array
items:
$ref: '#/components/schemas/ClientServiceWithActivationType'
description: Contains information about client pricing options, including activation behavior details. Each item includes ActivationType and CannotPayForClassesBeforeActivation fields to help determine booking eligibility based on the pricing option's activation configuration.
example:
- {}
ClientContracts:
type: array
items:
$ref: '#/components/schemas/ClientContract'
description: Contains information about client contract.
example:
- {}
ClientMemberships:
type: array
items:
$ref: '#/components/schemas/ClientMembership'
description: Contains information about client Memberships.
example:
- {}
ClientArrivals:
type: array
items:
$ref: '#/components/schemas/ClientArrival'
description: Contains information about client arrival services.
example:
- {}
UpdateClientContractAutopaysRequest:
type: object
description: Implementation of the 'UpdateClientContractAutopaysRequest' model.
properties:
ClientContractId:
type: integer
format: int32
description: Client Contract Id
example: 123456
AutopayStartDate:
type: string
format: date-time
description: Autopay start date
example: '2026-05-28T14:30:00Z'
AutopayEndDate:
type: string
format: date-time
description: (optional) - Indefinite if not provided
example: '2026-05-28T14:30:00Z'
ProductId:
type: integer
format: int32
description: Product Id to update (optional if contract has only one product)
example: 123456
ReplaceWithProductId:
type: integer
format: int32
description: (optional) - Replaces the product with this product
example: 123456
Amount:
type: number
format: double
description: Overrides autopay amount or amount that would come from ProductId
example: 49.99
OverwriteAllProductIDs:
type: boolean
description: (optional) - If true, will update autopays with any productID
example: true
GetClientScheduleResponse:
type: object
description: Implementation of the 'GetClientScheduleResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Visits:
type: array
items:
$ref: '#/components/schemas/VisitWithWaitlistInfo'
description: Contains information about client visits including waitlist entries info
example:
- {}
UploadClientPhotoRequest:
type: object
description: Implementation of the 'UploadClientPhotoRequest' model.
properties:
Bytes:
type: string
description: A Base64-encoded string representation of the image’s byte array.
example: example-value
ClientId:
type: string
description: The RSSID of the client for whom the photo is to be uploaded.
example: example-value
GetContactLogsResponse:
type: object
description: Implementation of the 'GetContactLogsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ContactLogs:
type: array
items:
$ref: '#/components/schemas/ContactLog'
description: Contains the information about the contact logs.
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
AddArrivalResponse:
type: object
description: Implementation of the 'AddArrivalResponse' model.
properties:
ArrivalAdded:
type: boolean
description: When `true`, indicates that the arrival was added to the database.
example: true
ClientService:
$ref: '#/components/schemas/ClientService'
description: Contains information about the pricing option being used to pay for the client’s current service session.
GetActiveClientMembershipsResponse:
type: object
description: Implementation of the 'GetActiveClientMembershipsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
ClientMemberships:
type: array
items:
$ref: '#/components/schemas/ClientMembership'
description: Details about the requested memberships.
example:
- {}
GetClientReferralTypesResponse:
type: object
description: Implementation of the 'GetClientReferralTypesResponse' model.
properties:
ReferralTypes:
type: array
items:
type: string
description: The list of available referral types.
example:
- example-value
ContactLogComment:
type: object
description: Implementation of the 'ContactLogComment' model. A contact log comment.
properties:
Id:
type: integer
format: int32
description: The comment’s ID.
example: 123456
Text:
type: string
description: The comment’s body text.
example: example-value
CreatedDateTime:
type: string
format: date-time
description: The local time when the comment was created.
example: '2026-05-28T14:30:00Z'
CreatedBy:
$ref: '#/components/schemas/Staff'
description: Information about the staff member who created the comment.
Action1Enum:
type: string
description: Action1Enum enumeration.
enum:
- None
- Added
- Updated
- Failed
- Removed
TypeEnum:
type: string
description: TypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
Action8Enum:
type: string
description: Action8Enum enumeration.
enum:
- None
- Added
- Updated
- Failed
- Removed
CrossRegionalClientAssociation:
type: object
description: Implementation of the 'CrossRegionalClientAssociation' model. A client cross region association
properties:
SiteId:
type: integer
format: int32
description: The ID of the site to which the client belongs.
example: -99
ClientId:
type: string
description: The client’s RSSID.
example: example-value
UniqueId:
type: integer
format: int32
description: The client’s unique ID.
example: 123456
SiteIsActive:
type: boolean
description: Indicates if site is active
example: true
ClientIndexValue:
type: object
description: Implementation of the 'ClientIndexValue' model. A client index value.
properties:
Active:
type: boolean
description: For this call, this value is always `false` and can be ignored. When `false`, indicates that the index value has been deactivated and cannot be assigned to its parent index.
example: true
Id:
type: integer
format: int32
description: The index value’s ID.
example: 123456
Name:
type: string
description: The name of the client index value.
example: Sunset Yoga Studio
ContactLog:
type: object
description: Implementation of the 'ContactLog' model. A contact log.
properties:
Id:
type: integer
format: int32
description: The contact log’s ID.
example: 123456
Text:
type: string
description: The contact log’s body text.
example: example-value
CreatedDateTime:
type: string
format: date-time
description: The local date and time when the contact log was created.
example: '2026-05-28T14:30:00Z'
FollowupByDate:
type: string
format: date-time
description: The date by which the assigned staff member should close or follow up on this contact log.
example: '2026-05-28T14:30:00Z'
ContactMethod:
type: string
description: The method by which the client wants to be contacted.
example: example-value
ContactName:
type: string
description: The name of the client to contact.
example: example-value
Client:
$ref: '#/components/schemas/Client'
description: Information about the client to whom the contact log belongs.
CreatedBy:
$ref: '#/components/schemas/Staff'
description: Information about the staff member who created the contact log.
AssignedTo:
$ref: '#/components/schemas/Staff'
description: Information about the staff member to whom the contact log is assigned for follow up.
Comments:
type: array
items:
$ref: '#/components/schemas/ContactLogComment'
description: Information about the comment.
example:
- {}
Types:
type: array
items:
$ref: '#/components/schemas/ContactLogType'
description: Information about the type of contact log.
example:
- {}
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.