Site — 20 operations. Lead operation: Mindbody Before You Can Use This Endpoint, MINDBODY Must Approve Your Developer. Self-contained Naftiko capability covering one Mindbody business surface.
naftiko: 1.0.0-alpha2
info:
label: "Mindbody Public API v6 \u2014 Site"
description: "Site \u2014 20 operations. Lead operation: Mindbody Before You Can Use This Endpoint, MINDBODY Must Approve Your Developer. Self-contained Naftiko capability covering one Mindbody business\
\ surface."
tags:
- Mindbody
- Mindbody Public API v6
- Site
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-site
baseUri: https://api.mindbodyonline.com
description: "Mindbody Public API v6 \u2014 Site business capability. Self-contained, no shared references."
authentication:
type: apikey
key: API-Key
value: '{{env.MINDBODY_API_KEY}}'
placement: header
resources:
- name: site-activationcode
path: /site/activationcode
operations:
- name: getActivationCode
method: GET
description: Mindbody Before You Can Use This Endpoint, MINDBODY Must Approve Your Developer
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-categories
path: /site/categories
operations:
- name: getCategories
method: GET
description: Mindbody Gets the Categories
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.active
in: query
type: boolean
required: false
description: 'When `true`, the response only contains categories which are activated. When `false`, only deactivated categories are returned. Default: **All Categories**'
- name: request.categoryIds
in: query
type: array
required: false
description: When included, the response only contains details about the specified category Ids.
- 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.service
in: query
type: boolean
required: false
description: 'When `true`, the response only contains details about Revenue Categories. When `false`, only Product Revenue Categories are returned. Default: **All Categories**'
- name: request.subCategoryIds
in: query
type: array
required: false
description: When included, the response only contains details about the specified subcategory Ids.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-genders
path: /site/genders
operations:
- name: getGenders
method: GET
description: Mindbody The Endpoint Returns a List of Configured Client Gender Options for a
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.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-liabilitywaiver
path: /site/liabilitywaiver
operations:
- name: getLiabilityWaiver
method: GET
description: Mindbody Gets Liability Waiver Content at the Specified 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.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-locations
path: /site/locations
operations:
- name: getLocations
method: GET
description: Mindbody Get Locations for a 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: 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: site-memberships
path: /site/memberships
operations:
- name: getMemberships
method: GET
description: Mindbody Get the Memberships at a 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: request.membershipIds
in: query
type: array
required: false
description: "The requested membership IDs.<br /> Default: **all** IDs that the authenticated user\u2019s access level allows."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-mobileproviders
path: /site/mobileproviders
operations:
- name: getMobileProviders
method: GET
description: Mindbody Get the List of Mobile Providers That Are Supported by the 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.active
in: query
type: boolean
required: false
description: 'When `true`, the response only contains mobile providers which are activated. When `false`, only deactivated mobile providers are returned. Default: **All Mobile Providers**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-paymenttypes
path: /site/paymenttypes
operations:
- name: getPaymentTypes
method: GET
description: Mindbody Get Payment Types for a 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: request.active
in: query
type: boolean
required: false
description: 'When `true`, the response only contains payment types which are activated. When `false`, only deactivated payment types are returned. Default: **All Payment Types**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-programs
path: /site/programs
operations:
- name: getPrograms
method: GET
description: Mindbody Get Service Categories Offered at a 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: 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.onlineOnly
in: query
type: boolean
required: false
description: 'If `true`, filters results to show only those programs that are shown online.<br /> If `false`, all programs are returned.<br /> Default: **false**'
- name: request.programIds
in: query
type: array
required: false
description: Program Ids to filter for
- name: request.scheduleType
in: query
type: string
required: false
description: 'A schedule type used to filter the returned results. Possible values are: * All * Class * Enrollment * Appointment * Resource * Media * Arrival'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-promocodes
path: /site/promocodes
operations:
- name: getPromoCodes
method: GET
description: Mindbody Gets a List of Promocodes at the Specified Business. This Endpoint
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.activeOnly
in: query
type: boolean
required: false
description: 'If true, filters results to show only promocodes that are active. If **false**, all promocodes are returned. Default: **true**'
- name: request.endDate
in: query
type: string
required: false
description: Filters results to promocodes that were activated before this date.
- name: request.lastModifiedDate
in: query
type: string
required: false
description: Filters results to promocodes that were 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.onlineOnly
in: query
type: boolean
required: false
description: 'If `true`, filters results to show only promocodes that can be used for online sale. If `false`, all promocodes are returned. Default: **false**'
- name: request.startDate
in: query
type: string
required: false
description: Filters results to promocodes that were activated after this date.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-prospectstages
path: /site/prospectstages
operations:
- name: getProspectStages
method: GET
description: Mindbody Get the List of Prospect Stages That Represent the Prospect Stage
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.active
in: query
type: boolean
required: false
description: 'When `true`, the response only contains prospect stages which are activated. When `false`, only deactivated prospect stages are returned. Default: **All Prospect Stages**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-relationships
path: /site/relationships
operations:
- name: getRelationships
method: GET
description: Mindbody This Endpoint Retrieves the Business Site Relationships
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.active
in: query
type: boolean
required: false
description: 'When `true`, the response only contains relationships which are activated. When `false`, only deactivated relationships are returned. Default: **All Relationships**'
- 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: site-resourceavailabilities
path: /site/resourceavailabilities
operations:
- name: getResourceAvailabilities
method: GET
description: Mindbody Get Resource Availabilities Used at a 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: request.endDate
in: query
type: string
required: false
description: End date. If default, StartDate is used.
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.locationIds
in: query
type: array
required: false
description: Filter by location ids (optional)
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.programIds
in: query
type: array
required: false
description: Filter by program ids (optional)
- name: request.resourceIds
in: query
type: array
required: false
description: Filter on resourceIds
- name: request.scheduleTypes
in: query
type: array
required: false
description: Filter by schedule types (optional)
- name: request.startDate
in: query
type: string
required: false
description: Start time
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-resources
path: /site/resources
operations:
- name: getResources
method: GET
description: Mindbody Get Resources Used at a 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: request.includeInactive
in: query
type: boolean
required: false
description: Enable to include inactive
- name: request.limit
in: query
type: integer
required: false
description: Number of results to include, defaults to 100
- name: request.locationIds
in: query
type: array
required: false
description: Filter by location ids (optional)
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.programIds
in: query
type: array
required: false
description: Filter by program ids (optional)
- name: request.resourceIds
in: query
type: array
required: false
description: Filter on resourceIds
- name: request.scheduleTypes
in: query
type: array
required: false
description: Filter by schedule types (optional)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-sessiontypes
path: /site/sessiontypes
operations:
- name: getSessionTypes
method: GET
description: Mindbody Get the Session Types Used at a 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: 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.onlineOnly
in: query
type: boolean
required: false
description: 'When `true`, indicates that only the session types that can be booked online should be returned.<br /> Default: **false**'
- name: request.programIDs
in: query
type: array
required: false
description: Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-sites
path: /site/sites
operations:
- name: getSites
method: GET
description: Mindbody Gets a List of Sites That the Developer Has Permission to View
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.includeLeadChannels
in: query
type: boolean
required: false
description: This is an optional parameter to get lead channels for a Site.
- name: request.includePerStaffPricing
in: query
type: boolean
required: false
description: Include whether or not studios have per staff pricing enabled.
- 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.siteIds
in: query
type: array
required: false
description: List of the requested site IDs. When omitted, returns all sites that the source has access to.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-addclientindex
path: /site/addclientindex
operations:
- name: addClientIndex
method: POST
description: Mindbody Creates a New Client Index Record at the Specified 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-addpromocode
path: /site/addpromocode
operations:
- name: addPromoCode
method: POST
description: Mindbody Creates a New Promocode Record at the Specified 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-deactivatepromocode
path: /site/deactivatepromocode
operations:
- name: deactivatePromoCode
method: POST
description: Mindbody Deactivates an Existing Promocode Record at the Specified 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: site-updateclientindex
path: /site/updateclientindex
operations:
- name: updateClientIndex
method: POST
description: Mindbody Updates an Exisitng Client Index Record at the Specified 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: public-api-v6-site-rest
port: 8080
description: "REST adapter for Mindbody Public API v6 \u2014 Site. One Spectral-compliant resource per consumed operation, prefixed with /v1."
resources:
- path: /v1/site/activationcode
name: v1-site-activationcode
description: REST surface for /v1/site/activationcode.
operations:
- method: GET
name: getActivationCode
description: Mindbody Before You Can Use This Endpoint, MINDBODY Must Approve Your Developer
call: public-api-v6-site.getActivationCode
with:
version: rest.version
authorization: rest.authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/site/categories
name: v1-site-categories
description: REST surface for /v1/site/categories.
operations:
- method: GET
name: getCategories
description: Mindbody Gets the Categories
call: public-api-v6-site.getCategories
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
request.active: rest.request.active
request.categoryIds: rest.request.categoryIds
request.limit: rest.request.limit
request.offset: rest.request.offset
request.service: rest.request.service
request.subCategoryIds: rest.request.subCategoryIds
outputParameters:
- type: object
mapping: $.
- path: /v1/site/genders
name: v1-site-genders
description: REST surface for /v1/site/genders.
operations:
- method: GET
name: getGenders
description: Mindbody The Endpoint Returns a List of Configured Client Gender Options for a
call: public-api-v6-site.getGenders
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/site/liabilitywaiver
name: v1-site-liabilitywaiver
description: REST surface for /v1/site/liabilitywaiver.
operations:
- method: GET
name: getLiabilityWaiver
description: Mindbody Gets Liability Waiver Content at the Specified Business
call: public-api-v6-site.getLiabilityWaiver
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/site/locations
name: v1-site-locations
description: REST surface for /v1/site/locations.
operations:
- method: GET
name: getLocations
description: Mindbody Get Locations for a Site
call: public-api-v6-site.getLocations
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
request.limit: rest.request.limit
request.offset: rest.request.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/site/memberships
name: v1-site-memberships
description: REST surface for /v1/site/memberships.
operations:
- method: GET
name: getMemberships
description: Mindbody Get the Memberships at a Site
call: public-api-v6-site.getMemberships
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
request.membershipIds: rest.request.membershipIds
outputParameters:
- type: object
mapping: $.
- path: /v1/site/mobileproviders
name: v1-site-mobileproviders
description: REST surface for /v1/site/mobileproviders.
operations:
- method: GET
name: getMobileProviders
description: Mindbody Get the List of Mobile Providers That Are Supported by the Business
call: public-api-v6-site.getMobileProviders
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
request.active: rest.request.active
outputParameters:
- type: object
mapping: $.
- path: /v1/site/paymenttypes
name: v1-site-paymenttypes
description: REST surface for /v1/site/paymenttypes.
operations:
- method: GET
name: getPaymentTypes
description: Mindbody Get Payment Types for a Site
call: public-api-v6-site.getPaymentTypes
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
request.active: rest.request.active
outputParameters:
- type: object
mapping: $.
- path: /v1/site/programs
name: v1-site-programs
description: REST surface for /v1/site/programs.
operations:
- method: GET
name: getPrograms
description: Mindbody Get Service Categories Offered at a Site
call: public-api-v6-site.getPrograms
with:
version: rest.version
siteId: rest.siteId
authorization: rest.authorization
request.limit: rest.request.limit
request.offset: rest.request.offset
request.onlineOnly: rest.request.onlineOnly
request.programIds: rest.request.programIds
request.scheduleType: rest.request.scheduleType
outputParameters:
- type: object
mapping: $.
- path: /v1/site/promocodes
name: v1-site-promocodes
description: REST surface fo
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mindbody/refs/heads/main/capabilities/public-api-v6-site.yaml