Mindbody · Capability

Mindbody Public API v6 — Payroll

Payroll — 4 operations. Lead operation: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if. Self-contained Naftiko capability covering one Mindbody business surface.

Run with Naftiko MindbodyMindbody Public API v6Payroll

What You Can Do

GET
Getcommissions — Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
/v1/payroll/commissions
GET
Getscheduledserviceearnings — Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
/v1/payroll/scheduledserviceearnings
GET
Gettimecards — Mindbody This Endpoint Returns Information for All Locations. the **View
/v1/payroll/timecards
GET
Gettips — Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
/v1/payroll/tips

MCP Tools

staff-authorization-token-is-not

Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if

read-only idempotent
staff-authorization-token-is-not-2

Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if

read-only idempotent
this-endpoint-returns-information-all

Mindbody This Endpoint Returns Information for All Locations. the **View

read-only idempotent
staff-authorization-token-is-not-3

Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if

read-only idempotent

Capability Spec

public-api-v6-payroll.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Mindbody Public API v6 \u2014 Payroll"
  description: "Payroll \u2014 4 operations. Lead operation: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if. Self-contained Naftiko capability covering one Mindbody business\
    \ surface."
  tags:
  - Mindbody
  - Mindbody Public API v6
  - Payroll
  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-payroll
    baseUri: https://api.mindbodyonline.com
    description: "Mindbody Public API v6 \u2014 Payroll business capability. Self-contained, no shared references."
    authentication:
      type: apikey
      key: API-Key
      value: '{{env.MINDBODY_API_KEY}}'
      placement: header
    resources:
    - name: payroll-commissions
      path: /payroll/commissions
      operations:
      - name: getCommissions
        method: GET
        description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
        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.endDateTime
          in: query
          type: string
          required: false
          description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br /> Default: **Today\u2019s date** * If you do not supply an `EndDateTime`,\
            \ the data returns for the period from the `StartDateTime` that you supply to today\u2019s date. * If you do not supply a"
        - 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: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.
        - name: request.offset
          in: query
          type: integer
          required: false
          description: Page offset, defaults to 0.
        - name: request.staffId
          in: query
          type: integer
          required: false
          description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.
        - name: request.startDateTime
          in: query
          type: string
          required: false
          description: The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the
            seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateT
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: payroll-scheduledserviceearnings
      path: /payroll/scheduledserviceearnings
      operations:
      - name: getScheduledServiceEarnings
        method: GET
        description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
        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.endDateTime
          in: query
          type: string
          required: false
          description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br /> Default: **Today\u2019s date** * If you do not supply an `EndDateTime`,\
            \ the data returns for the period from the `StartDateTime` that you supply to today\u2019s date. * If you do not supply a"
        - 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: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.
        - name: request.offset
          in: query
          type: integer
          required: false
          description: Page offset, defaults to 0.
        - name: request.scheduledServiceId
          in: query
          type: integer
          required: false
          description: Filters the results to a single scheduled service. This parameter must be used with a single ScheduledServiceType.
        - name: request.scheduledServiceType
          in: query
          type: string
          required: false
          description: 'Filters the results to schedule service earnings for specific types of services. Possible values: * Class * Appointment'
        - name: request.staffId
          in: query
          type: integer
          required: false
          description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.
        - name: request.startDateTime
          in: query
          type: string
          required: false
          description: The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the
            seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateT
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: payroll-timecards
      path: /payroll/timecards
      operations:
      - name: getTimeCards
        method: GET
        description: Mindbody This Endpoint Returns Information for All Locations. the **View
        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.endDateTime
          in: query
          type: string
          required: false
          description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br /> Default: **Today\u2019s date** * If you do not supply an `EndDateTime`,\
            \ the data returns for the period from the `StartDateTime` that you supply to today\u2019s date. * If you do not supply a"
        - 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: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.
        - name: request.offset
          in: query
          type: integer
          required: false
          description: Page offset, defaults to 0.
        - name: request.staffId
          in: query
          type: integer
          required: false
          description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.
        - name: request.startDateTime
          in: query
          type: string
          required: false
          description: The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the
            seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateT
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: payroll-tips
      path: /payroll/tips
      operations:
      - name: getTips
        method: GET
        description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
        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.endDateTime
          in: query
          type: string
          required: false
          description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br /> Default: **Today\u2019s date** * If you do not supply an `EndDateTime`,\
            \ the data returns for the period from the `StartDateTime` that you supply to today\u2019s date. * If you do not supply a"
        - 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: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.
        - name: request.offset
          in: query
          type: integer
          required: false
          description: Page offset, defaults to 0.
        - name: request.staffId
          in: query
          type: integer
          required: false
          description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.
        - name: request.startDateTime
          in: query
          type: string
          required: false
          description: The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the
            seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateT
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: public-api-v6-payroll-rest
    port: 8080
    description: "REST adapter for Mindbody Public API v6 \u2014 Payroll. One Spectral-compliant resource per consumed operation, prefixed with /v1."
    resources:
    - path: /v1/payroll/commissions
      name: v1-payroll-commissions
      description: REST surface for /v1/payroll/commissions.
      operations:
      - method: GET
        name: getCommissions
        description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
        call: public-api-v6-payroll.getCommissions
        with:
          version: rest.version
          siteId: rest.siteId
          authorization: rest.authorization
          request.endDateTime: rest.request.endDateTime
          request.limit: rest.request.limit
          request.locationId: rest.request.locationId
          request.offset: rest.request.offset
          request.staffId: rest.request.staffId
          request.startDateTime: rest.request.startDateTime
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/payroll/scheduledserviceearnings
      name: v1-payroll-scheduledserviceearnings
      description: REST surface for /v1/payroll/scheduledserviceearnings.
      operations:
      - method: GET
        name: getScheduledServiceEarnings
        description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
        call: public-api-v6-payroll.getScheduledServiceEarnings
        with:
          version: rest.version
          siteId: rest.siteId
          authorization: rest.authorization
          request.endDateTime: rest.request.endDateTime
          request.limit: rest.request.limit
          request.locationId: rest.request.locationId
          request.offset: rest.request.offset
          request.scheduledServiceId: rest.request.scheduledServiceId
          request.scheduledServiceType: rest.request.scheduledServiceType
          request.staffId: rest.request.staffId
          request.startDateTime: rest.request.startDateTime
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/payroll/timecards
      name: v1-payroll-timecards
      description: REST surface for /v1/payroll/timecards.
      operations:
      - method: GET
        name: getTimeCards
        description: Mindbody This Endpoint Returns Information for All Locations. the **View
        call: public-api-v6-payroll.getTimeCards
        with:
          version: rest.version
          siteId: rest.siteId
          authorization: rest.authorization
          request.endDateTime: rest.request.endDateTime
          request.limit: rest.request.limit
          request.locationId: rest.request.locationId
          request.offset: rest.request.offset
          request.staffId: rest.request.staffId
          request.startDateTime: rest.request.startDateTime
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/payroll/tips
      name: v1-payroll-tips
      description: REST surface for /v1/payroll/tips.
      operations:
      - method: GET
        name: getTips
        description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
        call: public-api-v6-payroll.getTips
        with:
          version: rest.version
          siteId: rest.siteId
          authorization: rest.authorization
          request.endDateTime: rest.request.endDateTime
          request.limit: rest.request.limit
          request.locationId: rest.request.locationId
          request.offset: rest.request.offset
          request.staffId: rest.request.staffId
          request.startDateTime: rest.request.startDateTime
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: public-api-v6-payroll-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Mindbody Public API v6 \u2014 Payroll. One tool per consumed operation, routed inline through this capability's consumes block."
    tools:
    - name: staff-authorization-token-is-not
      description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: public-api-v6-payroll.getCommissions
      with:
        version: tools.version
        siteId: tools.siteId
        authorization: tools.authorization
        request.endDateTime: tools.request.endDateTime
        request.limit: tools.request.limit
        request.locationId: tools.request.locationId
        request.offset: tools.request.offset
        request.staffId: tools.request.staffId
        request.startDateTime: tools.request.startDateTime
      outputParameters:
      - type: object
        mapping: $.
    - name: staff-authorization-token-is-not-2
      description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: public-api-v6-payroll.getScheduledServiceEarnings
      with:
        version: tools.version
        siteId: tools.siteId
        authorization: tools.authorization
        request.endDateTime: tools.request.endDateTime
        request.limit: tools.request.limit
        request.locationId: tools.request.locationId
        request.offset: tools.request.offset
        request.scheduledServiceId: tools.request.scheduledServiceId
        request.scheduledServiceType: tools.request.scheduledServiceType
        request.staffId: tools.request.staffId
        request.startDateTime: tools.request.startDateTime
      outputParameters:
      - type: object
        mapping: $.
    - name: this-endpoint-returns-information-all
      description: Mindbody This Endpoint Returns Information for All Locations. the **View
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: public-api-v6-payroll.getTimeCards
      with:
        version: tools.version
        siteId: tools.siteId
        authorization: tools.authorization
        request.endDateTime: tools.request.endDateTime
        request.limit: tools.request.limit
        request.locationId: tools.request.locationId
        request.offset: tools.request.offset
        request.staffId: tools.request.staffId
        request.startDateTime: tools.request.startDateTime
      outputParameters:
      - type: object
        mapping: $.
    - name: staff-authorization-token-is-not-3
      description: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: public-api-v6-payroll.getTips
      with:
        version: tools.version
        siteId: tools.siteId
        authorization: tools.authorization
        request.endDateTime: tools.request.endDateTime
        request.limit: tools.request.limit
        request.locationId: tools.request.locationId
        request.offset: tools.request.offset
        request.staffId: tools.request.staffId
        request.startDateTime: tools.request.startDateTime
      outputParameters:
      - type: object
        mapping: $.