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.