Sale — 25 operations. Lead operation: Mindbody Gets a List of Card Types That the Site Accepts. You Can Also Use `GET. Self-contained Naftiko capability covering one Mindbody business surface.
naftiko: 1.0.0-alpha2
info:
label: "Mindbody Public API v6 \u2014 Sale"
description: "Sale \u2014 25 operations. Lead operation: Mindbody Gets a List of Card Types That the Site Accepts. You Can Also Use `GET. Self-contained Naftiko capability covering one Mindbody business\
\ surface."
tags:
- Mindbody
- Mindbody Public API v6
- Sale
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-sale
baseUri: https://api.mindbodyonline.com
description: "Mindbody Public API v6 \u2014 Sale business capability. Self-contained, no shared references."
authentication:
type: apikey
key: API-Key
value: '{{env.MINDBODY_API_KEY}}'
placement: header
resources:
- name: sale-acceptedcardtypes
path: /sale/acceptedcardtypes
operations:
- name: getAcceptedCardTypes
method: GET
description: Mindbody Gets a List of Card Types That the Site Accepts. You Can Also Use `GET
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: sale-alternativepaymentmethods
path: /sale/alternativepaymentmethods
operations:
- name: getAlternativePaymentMethods
method: GET
description: Mindbody Get Alternative and Local Payment Methods That Are Allowed 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.clientId
in: query
type: string
required: false
description: The client ID
- name: request.locationId
in: query
type: integer
required: false
description: 'The location ID Default: **null** (Online store location)'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-contracts
path: /sale/contracts
operations:
- name: getContracts
method: GET
description: Mindbody Returns the Contracts and Autopay Options That Are Available on a
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: request.locationId
in: query
type: integer
required: true
description: The ID of the location that has the requested contracts and AutoPay options.
- 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.contractIds
in: query
type: array
required: false
description: When included, the response only contains details about the specified contract 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.promoCode
in: query
type: string
required: false
description: PromoCode to apply
- name: request.soldOnline
in: query
type: boolean
required: false
description: 'When `true`, the response only contains details about contracts and AutoPay options that can be sold online. When `false`, all contracts are returned. Default: **false**'
- name: request.uniqueClientId
in: query
type: integer
required: false
description: The ID of the client.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-custompaymentmethods
path: /sale/custompaymentmethods
operations:
- name: getCustomPaymentMethods
method: GET
description: Mindbody Get Payment Methods That Can Be Used to Pay for Sales 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.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-giftcardbalance
path: /sale/giftcardbalance
operations:
- name: getGiftCardBalance
method: GET
description: "Mindbody Returns a Gift Card\u2019s Remaining Balance"
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: barcodeId
in: query
type: string
required: false
description: The barcode ID of the gift card for which you want the balance.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-giftcards
path: /sale/giftcards
operations:
- name: getGiftCards
method: GET
description: Mindbody Returns Information About Gift Cards That Can Be 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 data.
- name: authorization
in: header
type: string
required: false
description: A staff user authorization token.
- name: request.ids
in: query
type: array
required: false
description: 'Filters the results to the requested gift card IDs.<br /> Default: **all** gift cards.'
- name: request.includeCustomLayouts
in: query
type: boolean
required: false
description: 'When `true`, includes custom gift card layouts.<br /> When `false`, includes only system layouts. Default: **false**'
- 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: When included, returns gift cards that are sold at the provided location ID.
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.soldOnline
in: query
type: boolean
required: false
description: 'When `true`, only returns gift cards that are sold online.<br /> Default: **false**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-packages
path: /sale/packages
operations:
- name: getPackages
method: GET
description: Mindbody A Package is Typically Used to Combine Multiple Services And/or
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.locationId
in: query
type: integer
required: false
description: 'The location ID to use to determine the tax for the products that this request returns.<br /> Default: **online store**'
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.packageIds
in: query
type: array
required: false
description: A list of the packages IDs to filter by.
- name: request.sellOnline
in: query
type: boolean
required: false
description: 'When `true`, only returns products that can be sold online.<br /> When `false`, all products are returned.<br /> Default: **false**'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-products
path: /sale/products
operations:
- name: getProducts
method: GET
description: Mindbody Get Retail Products Available for Purchase 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.categoryIds
in: query
type: array
required: false
description: A list of revenue category IDs to filter by. Use this ID when calling the GET Categories endpoint.
- 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: 'The location ID to use to determine the tax for the products that this request returns.<br /> Default: **online store**'
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.productIds
in: query
type: array
required: false
description: The barcode number of the product to be filter by.
- name: request.searchText
in: query
type: string
required: false
description: A search filter, used for searching by term.
- name: request.secondaryCategoryIds
in: query
type: array
required: false
description: A list of secondary categories to filter by. Use this ID when calling the GET Categories endpoint.
- name: request.sellOnline
in: query
type: boolean
required: false
description: 'When `true`, only products that can be sold online are returned.<br /> When `false`, all products are returned.<br /> Default: **false**'
- name: request.subCategoryIds
in: query
type: array
required: false
description: A list of subcategory IDs to filter by. Use this ID when calling the GET Categories endpoint.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: updateProducts
method: PUT
description: Mindbody Update Retail Products Available for Purchase 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-productsinventory
path: /sale/productsinventory
operations:
- name: getProductsInventory
method: GET
description: Mindbody Get Retail Products Inventory Data Available 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.barcodeIds
in: query
type: array
required: false
description: When included, the response only contains details about the specified Barcode Ids.
- 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: When included, the response only contains details about the specified location Ids.
- name: request.offset
in: query
type: integer
required: false
description: Page offset, defaults to 0.
- name: request.productIds
in: query
type: array
required: false
description: When included, the response only contains details about the specified product Ids.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-purchasecontractstatus
path: /sale/purchasecontractstatus
operations:
- name: getPurchaseContractStatus
method: GET
description: Mindbody Fetches the Status of an Initiate Purchase Contract Given AccessToken
inputParameters:
- name: version
in: path
type: string
required: true
description: version of the api.
- name: accessToken
in: query
type: string
required: true
description: The request query parameter.
- 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: sale-sales
path: /sale/sales
operations:
- name: getSales
method: GET
description: Mindbody Get Sales Completed 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.endSaleDateTime
in: query
type: string
required: false
description: Filters results to sales that happened before this date and time.
- 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.paymentMethodId
in: query
type: integer
required: false
description: Filters results to sales paid for by the given payment method ID which indicates payment method(s) (i.e. cash, VISA, AMEX, Check, etc.).
- name: request.saleId
in: query
type: integer
required: false
description: The sale ID associated with the particular item. It Filters results to the requested sale ID.
- name: request.startSaleDateTime
in: query
type: string
required: false
description: Filters results to sales that happened after this date and time.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-services
path: /sale/services
operations:
- name: getServices
method: GET
description: Mindbody Get Pricing Options Available for Purchase 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.classId
in: query
type: integer
required: false
description: Filters to the pricing options for the specified class ID.
- name: request.classScheduleId
in: query
type: integer
required: false
description: Filters to the pricing options for the specified class schedule ID.
- name: request.hideRelatedPrograms
in: query
type: boolean
required: false
description: 'When `true`, indicates that pricing options of related programs are omitted from the response.<br /> Default: **false**'
- name: request.includeDiscontinued
in: query
type: boolean
required: false
description: 'When `true`, indicates that the filtered pricing option list includes discontinued pricing options.<br /> Default: **false**'
- name: request.includeSaleInContractOnly
in: query
type: boolean
required: false
description: 'When `true`, indicates that the filtered pricing option list includes sale in contract only pricing options.<br /> Default: **false**'
- 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: When specified, for each returned pricing option, `TaxRate` and `TaxIncluded` are calculated according to the specified location. Note that this does not filter results to only services
provided at the given location, and for locations where Value-Added Tax (VAT) rules apply, the `TaxRate` is set to
- 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: Filters to pricing options with the specified program IDs.
- name: request.sellOnline
in: query
type: boolean
required: false
description: 'When `true`, filters the pricing options to display only those available for online purchase. This parameter is only applicable in Business Mode (when a staff authentication header
is included) and ignored in Consumer Mode (when no authentication header is passed). <br />Default: `false` (for staff '
- name: request.serviceIds
in: query
type: array
required: false
description: Filters to the pricing options with the specified IDs. In this context, service and pricing option are used interchangeably. These are the `PurchasedItems[].Id` returned from GET
Sales.
- name: request.sessionTypeIds
in: query
type: array
required: false
description: Filters to the pricing options with the specified session types IDs.
- name: request.staffId
in: query
type: integer
required: false
description: Sets `Price` and `OnlinePrice` to the particular pricing of a specific staff member, if allowed by the business.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: updateServices
method: PUT
description: Mindbody Update Unit Price and Online Price of Provided Services
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: sale-transactions
path: /sale/transactions
operations:
- name: getTransactions
method: GET
description: Mindbody This Endpoint Returns a List of Transaction Details of Processed Sales
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.clientId
in: query
type: integer
required: false
description: Filters results to the requested client ID.
- 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 the transaction results with the ID number associated with the location of the sale.
- 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 the transaction results with the ID number associated with the sale.
- name: request.status
in: query
type: string
required: false
description: Filters the transaction results by the estimated transaction status.
- name: request.transactionEndDateTime
in: query
type: string
required: false
description: "Filters the transaction results that happpened before this date and time. Default: **today\u2019s date**"
- name: request.transactionId
in: query
type: integer
required: false
description: Filters the transaction results with the ID number generated when the sale is processed.
- name: request.transactionStartDateTime
in: query
type: string
required: false
description: "Filters the transaction results that happpened after this date and time. Default: **today\u2019s date**"
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-checkoutshoppingcart
path: /sale/checkoutshoppingcart
operations:
- name: checkoutShoppingCart
method: POST
description: Mindbody This Endpoint Provides a Wide Range of Functionality. for Example, You
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: sale-completecheckoutshoppingcart
path: /sale/completecheckoutshoppingcart
operations:
- name: completeCheckoutShoppingCartUsingAlternativePayments
method: POST
description: Mindbody This Endpoint Complements the InitiateCheckoutShoppintCart 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-initiatecheckoutshoppingcart
path: /sale/initiatecheckoutshoppingcart
operations:
- name: initiateCheckoutShoppingCartUsingAlternativePayments
method: POST
description: Mindbody This Endpoint Provides a Wide Range of Functionality. for Example, You
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: sale-initiatepurchasecontract
path: /sale/initiatepurchasecontract
operations:
- name: initiatePurchaseContractUsingAlternativePayments
method: POST
description: Mindbody Allows a Client to Sign Up for a Contract or Autopay Using the
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: sale-purchaseaccountcredit
path: /sale/purchaseaccountcredit
operations:
- name: purchaseAccountCredit
method: POST
description: Mindbody Allows a Client to Purchase Account Credit from 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: body
in: body
type: object
required: true
description: JSON request body.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: sale-purchasecontract
path: /sale/purchasecontract
operations:
- name: purchaseContract
method: POST
description: Mindbody Allows a Client to Sign Up for a Contract or Autopay Using the
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
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mindbody/refs/heads/main/capabilities/public-api-v6-sale.yaml