Client — 42 operations. Lead operation: Mindbody Please Note That Client Memberships with Location Restrictions Can. Self-contained Naftiko capability covering one Mindbody business surface.
naftiko: 1.0.0-alpha2
info:
label: "Mindbody Public API v6 \u2014 Client"
description: "Client \u2014 42 operations. Lead operation: Mindbody Please Note That Client Memberships with Location Restrictions Can. Self-contained Naftiko capability covering one Mindbody business\
\ surface."
tags:
- Mindbody
- Mindbody Public API v6
- Client
created: '2026-05-28'
modified: '2026-05-28'
binds:
- namespace: env
keys:
MINDBODY_API_KEY: MINDBODY_API_KEY
capability:
consumes:
- type: http
namespace: public-api-v6-client
baseUri: https://api.mindbodyonline.com
description: "Mindbody Public API v6 \u2014 Client business capability. Self-contained, no shared references."
authentication:
type: apikey
key: API-Key
value: '{{env.MINDBODY_API_KEY}}'
placement: header
resources:
- name: client-activeclientmemberships
path: /client/activeclientmemberships
operations:
- name: getActiveClientMemberships
method: GET
description: Mindbody Please Note That Client Memberships with Location Restrictions Can
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientId
in: query
type: string
required: true
description: The ID of the client for whom memberships are returned.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.clientAssociatedSitesOffset
in: query
type: integer
required: false
description: "Used to retrieve a client\u2019s 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 "
- name: request.crossRegionalLookup
in: query
type: boolean
required: false
description: "Used to retrieve a client\u2019s 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 neede"
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.locationId
in: query
type: integer
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`.
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.uniqueClientId
in: query
type: integer
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.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-activeclientsmemberships
path: /client/activeclientsmemberships
operations:
- name: getActiveClientsMemberships
method: GET
description: Mindbody The Endpoint Returns a List of Memberships for Multiple Clients We
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientIds
in: query
type: array
required: true
description: 'The ID of the client for whom memberships are returned. Maximum allowed : 200.'
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.clientAssociatedSitesOffset
in: query
type: integer
required: false
description: "Used to retrieve a client\u2019s 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 "
- name: request.crossRegionalLookup
in: query
type: boolean
required: false
description: "Used to retrieve a client\u2019s 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 neede"
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.locationId
in: query
type: integer
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`.
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientaccountbalances
path: /client/clientaccountbalances
operations:
- name: getClientAccountBalances
method: GET
description: Mindbody Get Account Balance Information for One or More Client(s)
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientIds
in: query
type: array
required: true
description: The list of clients IDs for which you want account balances.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.balanceDate
in: query
type: string
required: false
description: 'The date you want a balance relative to. Default: **the current date**'
- name: request.classId
in: query
type: integer
required: false
description: The class ID of the event for which you want a balance.
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientcompleteinfo
path: /client/clientcompleteinfo
operations:
- name: getClientCompleteInfo
method: GET
description: Mindbody This Endpoint Returns Complete Client Information Along with List of
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientId
in: query
type: string
required: true
description: Filters results to client with these ID.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: consumer-identity-token
in: header
type: string
required: false
description: A consumers authorization token to replace the need of clientId in the request.
- name: request.clientAssociatedSitesOffset
in: query
type: integer
required: false
description: "Used to retrieve a client\u2019s 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 "
- name: request.crossRegionalLookup
in: query
type: boolean
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 need
- name: request.endDate
in: query
type: string
required: false
description: "Filters results to pricing options that are purchased on or before this date. Default: **today\u2019s date**."
- name: request.excludeInactiveSites
in: query
type: boolean
required: false
description: 'When this flag is set to `true`, will exclude inactive sites from the response Default: **false**'
- name: request.requiredClientData
in: query
type: array
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 t
- name: request.showActiveOnly
in: query
type: boolean
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**'
- name: request.startDate
in: query
type: string
required: false
description: "Filters results to pricing options that are purchased on or after this date. Default: **today\u2019s date**."
- name: request.uniqueClientId
in: query
type: integer
required: false
description: The unique ID of the client who is viewing this class list.
- name: request.useActivateDate
in: query
type: boolean
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**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientcontracts
path: /client/clientcontracts
operations:
- name: getClientContracts
method: GET
description: Mindbody Get Contracts That a Client Has Purchased
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientId
in: query
type: string
required: true
description: The ID of the client (RssId).
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.clientAssociatedSitesOffset
in: query
type: integer
required: false
description: "Determines how many sites are skipped over when retrieving a client\u2019s 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 whi"
- name: request.crossRegionalLookup
in: query
type: boolean
required: false
description: "When `true`, indicates that the requesting client\u2019s cross regional contracts are returned, if any.<br /> When `false`, indicates that cross regional contracts are not returned."
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.uniqueClientId
in: query
type: integer
required: false
description: The unique ID of the requested client.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientdirectdebitinfo
path: /client/clientdirectdebitinfo
operations:
- name: getDirectDebitInfo
method: GET
description: Mindbody This Endpoint Returns Direct Debit Info Stored on a Client's Account
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: clientId
in: query
type: string
required: false
description: The ID of the client.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: deleteDirectDebitInfo
method: DELETE
description: "Mindbody This Endpoint Deletes Direct Debit Info from a Client\u2019s Account. This"
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: clientId
in: query
type: string
required: false
description: The ID of the client.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientduplicates
path: /client/clientduplicates
operations:
- name: getClientDuplicates
method: GET
description: Mindbody This Endpoint Gets Client Records That Would Be Considered Duplicates
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.email
in: query
type: string
required: false
description: The client email to match on when searching for duplicates.
- name: request.firstName
in: query
type: string
required: false
description: The client first name to match on when searching for duplicates.
- name: request.lastName
in: query
type: string
required: false
description: The client last name to match on when searching for duplicates.
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientformulanotes
path: /client/clientformulanotes
operations:
- name: getClientFormulaNotes
method: GET
description: 'Mindbody ***QueryParams***: Enables to Retrieve Cross Regional Formula Notes'
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.appointmentId
in: query
type: integer
required: false
description: The appointment ID of an appointment in the studio specified in the header of the request.
- name: request.clientId
in: query
type: string
required: false
description: The client ID of the client whose formula notes are being requested.
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientindexes
path: /client/clientindexes
operations:
- name: getClientIndexes
method: GET
description: Mindbody Client Indexes Are Used to Analyze Client Demographics. a Business
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.requiredOnly
in: query
type: boolean
required: false
description: When `true`, filters the results to only indexes that are required on creation.<br /> When `false` or omitted, returns all of the client indexes.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientpurchases
path: /client/clientpurchases
operations:
- name: getClientPurchases
method: GET
description: Mindbody Gets a List of Purchases Made by a Specific Client
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientId
in: query
type: string
required: true
description: The ID of the client you are querying for purchases.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.endDate
in: query
type: string
required: false
description: 'Filters results to purchases made before this timestamp.<br /> Default: **end of today**'
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.saleId
in: query
type: integer
required: false
description: Filters results to the single record associated with this ID.
- name: request.startDate
in: query
type: string
required: false
description: 'Filters results to purchases made on or after this timestamp.<br /> Default: **now**'
- name: request.uniqueClientId
in: query
type: integer
required: false
description: The unique ID of the requested client.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientreferraltypes
path: /client/clientreferraltypes
operations:
- name: getClientReferralTypes
method: GET
description: Mindbody Gets a List of Referral Types. Referral Types Are Options That New
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.includeInactive
in: query
type: boolean
required: false
description: When `true`, filters the results to include subtypes and inactive referral types.<br /> When `false`, includes no subtypes and only active types. Default:**false**
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientrewards
path: /client/clientrewards
operations:
- name: getClientRewards
method: GET
description: Mindbody Gets the Client Rewards
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.clientId
in: query
type: string
required: true
description: The ID of the client.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.endDate
in: query
type: string
required: false
description: 'The end date of transaction. Default: **StartDate**'
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.startDate
in: query
type: string
required: false
description: 'The start date of transaction. Default: **today**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: updateClientRewards
method: POST
description: Mindbody Earns or Redeems Rewards Points for a Given Client, Based on Site
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clients
path: /client/clients
operations:
- name: getClients
method: GET
description: Mindbody This Endpoint Requires Staff User Credentials. This Endpoint Supports
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.clientIDs
in: query
type: array
required: false
description: "The requested client IDs. Default: **all IDs** that the authenticated user\u2019s access level allows.<br /> Note: You can fetch information for maximum 20 clients at once."
- name: request.includeInactive
in: query
type: boolean
required: false
description: 'When `true`, indicates the results to include active and inactive clients.<br /> When `false`, indicates that only those clients who are marked as active should be returned. Default:
**false**'
- name: request.isProspect
in: query
type: boolean
required: false
description: When `true`, filters the results to include only those clients marked as prospects for the business.<br /> When `false`, indicates that only those clients who are not marked prospects
should be returned.
- name: request.lastModifiedDate
in: query
type: string
required: false
description: Filters the results to include only the clients that have been modified on or after this date.
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.searchText
in: query
type: string
required: false
description: Text to use in the search. Can include FirstName, LastName, and Email. Note that user credentials must be provided.
- name: request.uniqueIds
in: query
type: array
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\u2019s access\
\ level allows."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientschedule
path: /client/clientschedule
operations:
- name: getClientSchedule
method: GET
description: Mindbody This Endpoint Can Be Utilized to Retrieve Scheduled Visits Which is
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.clientAssociatedSitesOffset
in: query
type: integer
required: false
description: The number of sites to skip when returning the site associated with a client.
- name: request.clientId
in: query
type: string
required: false
description: The ID of the requested client.
- name: request.crossRegionalLookup
in: query
type: boolean
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.
- name: request.endDate
in: query
type: string
required: false
description: "The date past which class visits are not returned. Default is today\u2019s date"
- name: request.includeWaitlistEntries
in: query
type: boolean
required: false
description: 'When `true`, waitlist entries are included in the response. When `false`, waitlist entries are removed from the response. Default: **false**'
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.startDate
in: query
type: string
required: false
description: The date before which class visits are not returned. Default is the end date
- name: request.uniqueClientId
in: query
type: integer
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.'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: client-clientservices
path: /client/clientservices
operations:
- name: getClientServices
method: GET
description: Mindbody Get Pricing Options That a Client Has Purchased
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: siteId
in: header
type: string
required: true
description: ID of the site from which to pull da
# --- truncated at 32 KB (125 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mindbody/refs/heads/main/capabilities/public-api-v6-client.yaml