Mindbody Pick A Spot API

Pick A Spot operations.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

mindbody-pick-a-spot-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Mindbody Public API v6 Appointment Pick A Spot 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: Pick A Spot
  description: Pick A Spot operations.
paths:
  /public/v6/pickaspot/v1/class:
    get:
      tags:
      - Pick A Spot
      summary: Mindbody This Endpoint Supports Pagination. See Pagination Object for a
      description: This endpoint supports pagination. See Pagination object for a description.
      operationId: getClassList
      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/GetPickASpotClassResponse'
              examples:
                Getclasslist200Example:
                  summary: Default getClassList 200 example
                  x-microcks-default: true
                  value:
                    classes:
                    - {}
                    pagination: {}
                    responseDetails: {}
        '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/pickaspot/v1/class/{classId}:
    get:
      tags:
      - Pick A Spot
      summary: Mindbody Get a Class Filtered by ClassId
      description: Get a class filtered by classId.
      operationId: getClass
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: classId
        in: path
        required: true
        description: The request template parameter.
        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/GetPickASpotClassResponse'
              examples:
                Getclass200Example:
                  summary: Default getClass 200 example
                  x-microcks-default: true
                  value:
                    classes:
                    - {}
                    pagination: {}
                    responseDetails: {}
        '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/pickaspot/v1/reservation/{pathInfo}:
    get:
      tags:
      - Pick A Spot
      summary: Mindbody Retrieves Reservation for Pick a Spot
      description: Retrieves reservation for Pick a Spot.
      operationId: getReservation
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: pathInfo
        in: path
        required: true
        description: The request template parameter.
        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/GetReservationResponse'
              examples:
                Getreservation200Example:
                  summary: Default getReservation 200 example
                  x-microcks-default: true
                  value:
                    Reservations:
                    - {}
                    Pagination: {}
                    ResponseDetails: {}
        '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: []
    put:
      tags:
      - Pick A Spot
      summary: Mindbody A User Token is Required for This Endpoint
      description: A user token is required for this endpoint. This endpoint updates a single reservation.
      operationId: updateReservation
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: pathInfo
        in: path
        required: true
        description: The request template parameter.
        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/UpdateReservationResponse'
              examples:
                Updatereservation200Example:
                  summary: Default updateReservation 200 example
                  x-microcks-default: true
                  value:
                    Reservation: {}
                    ResponseDetails: {}
        '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:
      - Pick A Spot
      summary: Mindbody Creates a Spot Reservation for a Given Pick-a-spot Class. the Actual
      description: 'Creates a spot reservation for a given pick-a-spot class. The actual class visit must be created prior to calling this endpoint. A user token is required for this endpoint. Sample request: POST /pickaspot/v1/reservation { "SiteId": -1147483363, "LocationId": 1, "ClassId": "64b14ac8c20ae8f0afd2d409", "ReservationExternalId": "44724", // this is a Visit.Id and should be linked to a specific class visit "MemberExternalId": "100000136", // this is Client''s UniqueId "SpotNumber": "5", "ReservationDisplayName": "ReservationDisplayName", // optional "ReservationType": "Member", // optional. Can be Member, Guest, Instructor, FamilyMember, "AutoConfirm": false, // optional. Default: false "AutoAssignSpot": false // optional. It will override the "SpotNumber" passed and auto assign one. Default: false }'
      operationId: createReservation
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: pathInfo
        in: path
        required: true
        description: The request template parameter.
        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/CreateReservationResponse'
              examples:
                Createreservation200Example:
                  summary: Default createReservation 200 example
                  x-microcks-default: true
                  value:
                    Reservation: {}
                    ResponseDetails: {}
        '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:
      - Pick A Spot
      summary: Mindbody A User Token is Required for This Endpoint
      description: A user token is required for this endpoint. This endpoint deletes a single reservation.
      operationId: deleteReservation
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: pathInfo
        in: path
        required: true
        description: The request template parameter.
        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/HttpContent'
              examples:
                Deletereservation200Example:
                  summary: Default deleteReservation 200 example
                  x-microcks-default: true
                  value:
                    Headers:
                    - {}
        '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:
    UpdateReservationResponse:
      type: object
      description: Implementation of the 'UpdateReservationResponse' model. Contains information about the update reservation response.
      properties:
        Reservation:
          $ref: '#/components/schemas/Reservation'
          description: Contains information about the reservation details.
        ResponseDetails:
          $ref: '#/components/schemas/ResponseDetails'
          description: Contains information about the response details, e.g. status, transactionId.
    GetReservationResponse:
      type: object
      description: Implementation of the 'GetReservationResponse' model. Contains information about the get reservation response
      properties:
        Reservations:
          type: array
          items:
            $ref: '#/components/schemas/Reservation'
          description: Contains information about the reservation details.
          example:
          - {}
        Pagination:
          $ref: '#/components/schemas/Pagination'
          description: Contains information about the pagination used.
        ResponseDetails:
          $ref: '#/components/schemas/ResponseDetails'
          description: Contains information about the response details, e.g. status, transactionId.
    ResponseDetails:
      type: object
      description: Implementation of the 'ResponseDetails' model. Contains information about the response message detail.
      properties:
        Status:
          type: string
          description: Contains information about the response status.
          example: Active
        TransactionId:
          type: string
          description: The unique transaction ID.
          example: example-value
        Message:
          type: string
          description: Contains information about the response message detail.
          example: example-value
    CreateReservationResponse:
      type: object
      description: Implementation of the 'CreateReservationResponse' model. Contains information about the create reservation response.
      properties:
        Reservation:
          $ref: '#/components/schemas/Reservation'
          description: Contains information about the reservation details.
        ResponseDetails:
          $ref: '#/components/schemas/ResponseDetails'
          description: Contains information about the response details, e.g. status, transactionId.
    M0CultureNeutralPublicKeyTokenB77a5c561934e089:
      type: object
      description: Implementation of the '0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' model.
      properties:
        key:
          type: string
          description: The model property of type str.
          example: example-value
        value:
          type: array
          items:
            type: string
          description: The model property of type List[str].
          example:
          - example-value
    GetPickASpotClassResponse:
      type: object
      description: Implementation of the 'GetPickASpotClassResponse' model. Contains information about the get PickASpot class response.
      properties:
        classes:
          type: array
          items:
            $ref: '#/components/schemas/PickASpotClass'
          description: Contains information about the PickASpot classes.
          example:
          - {}
        pagination:
          $ref: '#/components/schemas/Pagination'
          description: Contains information about the pagination used.
        responseDetails:
          $ref: '#/components/schemas/ResponseDetails'
          description: Contains information about the response details.
    HttpContent:
      type: object
      description: Implementation of the 'HttpContent' model.
      properties:
        Headers:
          type: array
          items:
            $ref: '#/components/schemas/M0CultureNeutralPublicKeyTokenB77a5c561934e089'
          description: The model property of type List[M0CultureNeutralPublicKeyTokenB77a5c561934e089].
          example:
          - {}
    Reservation:
      type: object
      description: Implementation of the 'Reservation' model. Contains information about the reservation.
      properties:
        ReservationId:
          type: string
          description: The unique reservation ID.
          example: example-value
        ReservationExternalId:
          type: string
          description: The unique reservation external ID.
          example: example-value
        ClassId:
          type: string
          description: The unique class ID.
          example: example-value
        ClassExternalId:
          type: string
          description: The unique class external ID.
          example: example-value
        MemberExternalId:
          type: string
          description: The unique member external ID.
          example: example-value
        ReservationType:
          type: string
          description: Contains information about the reservation type.
          example: example-value
        Spots:
          $ref: '#/components/schemas/Spot'
          description: Contains information about the spot details.
        IsConfirmed:
          type: boolean
          description: Boolean value whether it is confirmed.
          example: true
        ConfirmationDate:
          type: string
          format: date-time
          description: Contains information about the confirmation date.
          example: '2026-05-28T14:30:00Z'
    PickASpotClass:
      type: object
      description: Implementation of the 'PickASpotClass' model. Contains information about the PickASpot classes.
      properties:
        SiteId:
          type: integer
          format: int32
          description: The unique ID of the Site.
          example: -99
        LocationId:
          type: integer
          format: int32
          description: The unique ID of the Location.
          example: 123456
        ClassId:
          type: string
          description: The unique ID of the Class.
          example: example-value
        ClassExternalId:
          type: string
          description: The unique Class external ID.
          example: example-value
        ClassName:
          type: string
          description: Contains the class name.
          example: example-value
        ClassStartTime:
          type: string
          format: date-time
          description: Class start time.
          example: '2026-05-28T14:30:00Z'
        ClassEndTime:
          type: string
          format: date-time
          description: Class end time.
          example: '2026-05-28T14:30:00Z'
        ClassMaximumCapacity:
          type: integer
          format: int32
          description: Contains information about the Class maximum capacity.
          example: 1
        RoomId:
          type: string
          description: The unique Room ID.
          example: example-value
        Spots:
          $ref: '#/components/schemas/Spot'
          description: Contains information about the spot detail.
        Reservations:
          type: array
          items:
            $ref: '#/components/schemas/Reservation'
          description: Contains information about the reservation collection.
          example:
          - {}
    Pagination:
      type: object
      description: Implementation of the 'Pagination' model. Contains information about the pagination used.
      properties:
        PageNumber:
          type: integer
          format: int32
          description: Page number of results in dataset.
          example: 1
        PageSize:
          type: integer
          format: int32
          description: Number of results returned in this response.
          example: 1
        TotalResultCount:
          type: integer
          format: int32
          description: Total number of results in dataset.
          example: 10
        TotalPageCount:
          type: integer
          format: int32
          description: Total number of page in dataset.
          example: 10
    Spot:
      type: object
      description: Implementation of the 'Spot' model. Contains information about the spot details.
      properties:
        ReservedSpotNumbers:
          type: array
          items:
            type: integer
            format: int32
          description: Contains information about the collection of reserved spot numbers.
          example:
          - 1
        AvailableSpotNumbers:
          type: array
          items:
            type: integer
            format: int32
          description: Contains information about the collection of available spot numbers.
          example:
          - 1
        UnavailableSpotNumbers:
          type: array
          items:
            type: integer
            format: int32
          description: Contains information about the collection of Unavailable spot numbers.
          example:
          - 1
  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.