ClassPass API and MCP server Let your AI agent book your ClassPass classes.

Book classes with credits and run your studio roster and reports. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with ClassPass
ClassPass logo ClassPass Cloud Browser

9 tools Read and write

Classes to payouts

What can you automate in ClassPass? Use an AI agent, a workflow or a script.

  • Find a class within your credits

  • Book around your calendar

  • Cancel before the late fee

  • Read a studio roster

  • Mark no-shows within 48 h

  • Report reservations and payouts

Partners only

Does ClassPass have an MCP server or an API? Only a partner API for studio software.

ClassPass has no member API and no MCP server (checked 28 Oct 2026). Its one official API, the Inventory API, is for approved scheduling software that sends a studio's classes to ClassPass. Cotlet runs 9 ClassPass tools hosted, over MCP for agents and REST for scripts, in your own login.

  • The Inventory API lets ClassPass "obtain a venue's schedules from third parties" and pass back reservations and attendance. The spec sits behind an approved partner login, under API Access Terms dated 6 Jan 2026.
  • Nothing official searches, books or cancels for a member, and the partner portal's reports and payouts have no API. Zapier and n8n have no ClassPass app (both pages return 404).
  • One community MCP server for members appeared on GitHub on 21 Oct 2026; it runs on your computer with your ClassPass password.
The ClassPass Inventory API, a GitHub MCP server and Cotlet compared
What you need Inventory APIGitHub MCP serverCotlet
Who can use it Approved scheduling software Any member Members and studios
Search, book and cancel classes No Yes Yes, after your OK
Rosters and no-shows Through your booking software No Yes, partner portal
Reservation and payout reports No No Yes
Runs with your computer off Yes No Yes, hosted

Checked 28 Oct 2026. Sources: ClassPass Developers: Inventory API · ClassPass Help: ClassPass API Access Terms of Use · ClassPass Partners: Booking integrations · ClassPass Help: How do I cancel a fitness class or wellness reservation? · dvcrn/mcp-server-classpass on GitHub

Set up once

How does Cotlet connect to ClassPass? One account, two ways to connect.

  1. 1Sign in to ClassPass

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run your workflow

    Ask your agent or send an HTTP request.

We never keep your ClassPass password, and no booking, cancel or no-show goes through until you approve it. Who can see your session

Any MCP client

Connect ClassPass to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

  1. 1

    Enable ClassPass for agents. Sign up, log in to ClassPass (member app or partner portal) in its Cloud Browser, then press Enable for agents.

  2. 2

    Add the Cotlet address. Put https://cotlet.dev/mcp/v1 into your agent's MCP server or connector settings.

  3. 3

    Approve the connection. Chat apps open a Cotlet sign-in; editors, n8n and scripts use an API key from the console.

One address, https://cotlet.dev/mcp/v1, serves ClassPass and every other app you enable. Turned ClassPass on after connecting? Refresh the connector to load its tools.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-classpass \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-classpass": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-classpass]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: classpass_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: classpass_write
Scripts and HTTP

How to use the ClassPass REST API

Create your Cotlet API key

Create a Cotlet API key with access to ClassPass and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.

Connect ClassPass in Cotlet and enable it for agents. Account access: Your own ClassPass member account, or your studio login for partners.classpass.com.

Make your first ClassPass API request

REST
curl https://cotlet.dev/api/v1/classpass/reservations \
  -H "Authorization: Bearer $COTLET_API_KEY"

Read my reservations and apply the operation limits

A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt
{
  "status": "success",
  "app": "classpass",
  "tool": "list_reservations",
  "result": {
    "reservations": [
      {
        "reservation_id": "rsv_48213",
        "venue": "Harbor Pilates",
        "class": "Reformer Basics",
        "starts_at": "2026-10-30T18:30:00-04:00",
        "credits": 6,
        "free_cancel_until": "2026-10-30T06:30:00-04:00"
      }
    ]
  }
}

Returns upcoming reservations in start order with venue, start time, credits used and the cancellation deadline shown for each booking. It reads the Upcoming list of the member account.

A studio login has no member reservations and gets an empty list.

Member reads and studio reads require their respective account roles; choose the operations that match your login.

Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.

ClassPass workflows for agents and automations

ClassPass workflows you configure
ToolConnect throughExample workflow
n8nHTTP RequestRead one class with its cancellation policy and credit cost. Use get_class in your configured private activity report.
MakeHTTP > Make a requestRead the reservation report of your studio for a date range. Use get_reservation_report in your configured private activity report.
Python or Node.jsREST APIRead the payout reports of your studio. Use get_payout_report in your configured private activity report.

Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads ClassPass; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.

6 read, 3 write

ClassPass API endpoints and MCP tools

Member: classes and reservations5

Results and credit prices follow your account's city and plan. A booking spends credits, so it asks first; read get_class for the late cancel fee before you book.

  • search_classes Search bookable classes and appointments near a place. read

    Returns classes with a bookable spot, earliest first, with venue, start time, credit cost and a class_id. The results are the ones the ClassPass app shows for your account and plan. Studios and prices differ by city.

    MCP callclasspass_read → search_classes

    REST endpointGET https://cotlet.dev/api/v1/classpass/classes/search

    Parameters

    Parameters: search_classes
    NameTypeDescription
    location string required string City, neighborhood or address.
    query string string Activity or studio name, for example pilates.
    date string string Date as YYYY-MM-DD. Defaults to today.
    max_credits integer integer Only classes that cost this many credits or fewer.

    Example input

    {
      "location": "location"
    }

    Example response

    {
      "classes": [
        {
          "class_id": "cls_90417",
          "venue": "Harbor Pilates",
          "name": "Reformer Basics",
          "starts_at": "2026-10-29T18:30:00-04:00",
          "credits": 6,
          "spots_left": 3
        },
        {
          "class_id": "cls_90433",
          "venue": "Studio Rise",
          "name": "Mat Pilates",
          "starts_at": "2026-10-29T19:00:00-04:00",
          "credits": 5,
          "spots_left": 1
        }
      ]
    }
  • get_class Read one class with its cancellation policy and credit cost. read

    Returns the class, venue, start time, credits and the Cancellation Policy ClassPass shows for that booking, including the late cancel fee. Read it before book_class, because the fee differs by booking.

    MCP callclasspass_read → get_class

    REST endpointGET https://cotlet.dev/api/v1/classpass/class/{class_id}

    Parameters

    Parameters: get_class
    NameTypeDescription
    class_id string required string Class id from search_classes.

    Example input

    {
      "class_id": "class_8c41d2"
    }

    Example response

    {
      "class_id": "cls_90417",
      "venue": "Harbor Pilates",
      "name": "Reformer Basics",
      "starts_at": "2026-10-29T18:30:00-04:00",
      "credits": 6,
      "late_cancel_hours": 12,
      "late_cancel_fee": "$15.00"
    }
  • list_reservations List the signed-in member's upcoming reservations. read

    Returns upcoming reservations in start order with venue, start time, credits used and the cancellation deadline shown for each booking. It reads the Upcoming list of the member account. A studio login has no member reservations and gets an empty list.

    MCP callclasspass_read → list_reservations

    REST endpointGET https://cotlet.dev/api/v1/classpass/reservations

    Parameters

    No parameters.

    Example response

    {
      "reservations": [
        {
          "reservation_id": "rsv_48213",
          "venue": "Harbor Pilates",
          "class": "Reformer Basics",
          "starts_at": "2026-10-30T18:30:00-04:00",
          "credits": 6,
          "free_cancel_until": "2026-10-30T06:30:00-04:00"
        }
      ]
    }
  • book_class Book a class with your credits. writeasks first

    Reserves one spot and spends the credits shown on the class. Returns the reservation and its free-cancel deadline. A full class or too few credits returns an error and books nothing. By default you confirm each call; you can switch that off for this tool.

    MCP callclasspass_write → book_class

    REST endpointPOST https://cotlet.dev/api/v1/classpass/class/{class_id}

    Parameters

    Parameters: book_class
    NameTypeDescription
    class_id string required string Class id from search_classes.
    confirm boolean boolean Must be true. Booking spends credits.

    Example input

    {
      "class_id": "cls_90417",
      "confirm": true
    }

    Example response

    {
      "reservation_id": "rsv_48299",
      "class_id": "cls_90417",
      "status": "booked",
      "credits_spent": 6,
      "free_cancel_until": "2026-10-29T06:30:00-04:00"
    }
  • cancel_reservation Cancel one of your reservations. writeasks first

    Cancels through ClassPass, as the app does. Before the free-cancel deadline the credits return at once. Inside the late window ClassPass returns the credits and may charge a late cancellation fee, which the call shows before it acts. By default you confirm each call; you can switch that off for this tool.

    MCP callclasspass_write → cancel_reservation

    REST endpointPOST https://cotlet.dev/api/v1/classpass/reservations/{reservation_id}/cancel

    Parameters

    Parameters: cancel_reservation
    NameTypeDescription
    reservation_id string required string Reservation id from list_reservations.
    confirm boolean boolean Must be true. A late cancel can charge a fee.

    Example input

    {
      "reservation_id": "reservation_8c41d2"
    }

    Example response

    {
      "reservation_id": "rsv_48299",
      "status": "cancelled",
      "credits_returned": 6,
      "late_cancel_fee": null
    }

Studio: rosters, reports and payouts4

Needs a partner portal login. Attendance can change only within 48 hours after a class, and a no-show can cost the member a fee.

  • list_class_roster List the ClassPassers on a class at your studio. read

    Returns each class of the day with its roster: name, status and whether the client is new or repeat. ClassPass marks everyone Attended by default and gives you 48 hours after the class to change a status. Needs a studio login to the partner portal.

    MCP callclasspass_read → list_class_roster

    REST endpointGET https://cotlet.dev/api/v1/classpass/class-rosters

    Parameters

    Parameters: list_class_roster
    NameTypeDescription
    date string required string Date as YYYY-MM-DD.
    class_name string string Only classes whose name contains this text.

    Example input

    {
      "date": "date"
    }

    Example response

    {
      "classes": [
        {
          "class_id": "cls_90100",
          "name": "Evening Flow",
          "starts_at": "2026-10-27T18:30:00-04:00",
          "roster": [
            {
              "name": "Dana K.",
              "status": "attended",
              "visit": "repeat"
            },
            {
              "name": "Lee M.",
              "status": "attended",
              "visit": "new"
            }
          ]
        }
      ]
    }
  • mark_attendance Mark a ClassPasser as attended or no-show on a roster. writeasks first

    Sets the roster status you would set with the check or X icon. It must happen within 48 hours after the class. A no-show can lead to a missed reservation fee for the member, so it reaches money and waits for your OK. By default you confirm each call; you can switch that off for this tool.

    MCP callclasspass_write → mark_attendance

    REST endpointPOST https://cotlet.dev/api/v1/classpass/class/{class_id}/attendance/mark

    Parameters

    Parameters: mark_attendance
    NameTypeDescription
    class_id string required string Class id from list_class_roster.
    client_name string required string Name as shown on the roster.
    status string required string attended or no_show.

    Example input

    {
      "class_id": "class_8c41d2",
      "client_name": "client name",
      "status": "status"
    }

    Example response

    {
      "class_id": "cls_90100",
      "client_name": "Lee M.",
      "status": "no_show"
    }
  • get_reservation_report Read the reservation report of your studio for a date range. read

    Returns the totals and the rows of Reports > Reservations: reserved, attended, late-canceled and no-show. Same data as the CSV download in the partner portal. Needs a studio login.

    MCP callclasspass_read → get_reservation_report

    REST endpointGET https://cotlet.dev/api/v1/classpass/reservation-report

    Parameters

    Parameters: get_reservation_report
    NameTypeDescription
    start_date string required string First day as YYYY-MM-DD.
    end_date string required string Last day as YYYY-MM-DD.
    location string string Location name when the studio has several.

    Example input

    {
      "start_date": "start date",
      "end_date": "end date"
    }

    Example response

    {
      "range": {
        "start": "2026-10-19",
        "end": "2026-10-25"
      },
      "totals": {
        "reserved": 118,
        "attended": 96,
        "late_canceled": 14,
        "no_show": 8
      },
      "rows": [
        {
          "class": "Evening Flow",
          "date": "2026-10-21",
          "reserved": 12,
          "attended": 10,
          "late_canceled": 1,
          "no_show": 1
        }
      ]
    }
  • get_payout_report Read the payout reports of your studio. read

    Returns the payout summary and the earnings by reservation that the partner portal shows for the month. ClassPass calculates the balance after month end and pays it out in the first week of the next month. Needs a studio login.

    MCP callclasspass_read → get_payout_report

    REST endpointGET https://cotlet.dev/api/v1/classpass/payout-report

    Parameters

    Parameters: get_payout_report
    NameTypeDescription
    month string string Month as YYYY-MM. Defaults to the latest payout.

    Example response

    {
      "month": "2026-09",
      "payout_total": 4180.5,
      "currency": "USD",
      "reservations": 312,
      "paid_on": "2026-10-06"
    }
Encrypted, revocable

Who can see my ClassPass session, and how do I revoke it?

  • What we store

    Your logged-in ClassPass profile, AES-256-GCM, in Finland. Not the password.

  • What your agent gets

    The 9 ClassPass tools. No password, no token.

  • What the session sees

    Your credits and bookings, or for a studio its rosters and payouts.

  • What no tool touches

    Your plan, payment card, credit top-ups and account settings.

  • If ClassPass logs you out

    Your agent gets a link and you log in again yourself.

  • How to cut access

    Disable for agents, reset the browser or delete the key.

ClassPass Terms 7 (c) ban sharing your password; with Cotlet you type it into ClassPass's own login page and Cotlet does not store it. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results); there is no SOC 2 report or third-party pentest yet.

Account risk

Is it against ClassPass's terms? Account safety The Terms ban automated access without written permission.

"Use any robot, spider, scraper, or other automated means to access the Site for any purpose without our express written permission or bypass our robot exclusion headers or other measures we may use to prevent or restrict access to the Site;"
ClassPass Terms of Use, section 7 (s), last updated 29 Oct 2025

Item 7 (m) also bans scripts for "scraping, indexing, surveying, or otherwise data mining", and section 5 lets ClassPass close an account "at any time and without prior notice". An agent in your session could count as automated means, and so could any GitHub server or booking bot. We found no public case of a member or studio account closed for automation (checked 28 Oct 2026), though a Telegram auto-booking bot advertises openly.

How we keep your account looking like you

  • One account, yours, logged in by you
  • One Cloud Browser with a steady IP and cookies
  • Bookings, cancels and no-shows wait for your OK (3 tools)
  • No sniping a spot the second booking opens, no bulk searches
  • If ClassPass objects, we pause the ClassPass tools for everyone within 24 h

Ask for a few classes at a time. A search that sweeps a whole city every hour is what 7 (m) calls data mining.

Tested every 12 h

What happens when ClassPass changes? We repair the tool; your prompts stay the same.

between tests of the ClassPass reads
12 h
between tests of bookings and roster changes
24 h
for a call to a ClassPass tool paused for repair
$0

ClassPass now belongs to Playlist with Mindbody and Booker (June 2025), so its app and partner portal keep moving. When a screen or a field changes, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.

3 tools ask first

Approvals, undo and mistakes No credits spent until you say so.

  1. 01 Searches near you Classes with a free spot, under your credit limit.
  2. 02 Reads the policy Credit cost and late cancel fee of that one booking.
  3. 03 Waits for your OK The booking sits in your Cotlet console until you approve.
  4. 04 Reports back Reservation, credits spent and the free-cancel deadline.
Which ClassPass actions can be undone
ActionUndo
Book a classCancel it; before the free-cancel deadline the credits come back
Cancel a reservationBook again if a spot is still free
Cancel inside the late windowNo, the fee in the Cancellation Policy may apply
Mark a no-showSet it back to attended, within 48 hours of the class

3 of 9 tools ask first: every write, because each one moves credits or fees. Turn the wait off per tool if you trust a weekly booking run.

A full class or too few credits makes book_class fail and nothing is booked. A failed call costs nothing.

MCP call
{
  "name": "book_class",
  "arguments": {
    "class_id": "cls_90417",
    "confirm": true
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/classpass/class/cls_90417 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"confirm":true}'
Response
{
  "reservation_id": "rsv_48299",
  "class_id": "cls_90417",
  "status": "booked",
  "credits_spent": 6,
  "free_cancel_until": "2026-10-29T06:30:00-04:00"
}

Scripts and cron jobs reach the same tools over REST at /api/v1/classpass, with the same key and the same price per call. The REST path of each tool is in the tools table above.

Pay per call

How much does the ClassPass MCP server cost?

About $10 a monthfor one member's bookings on a 33-credit plan, 1,760 credits. Your ClassPass plan is billed by ClassPass as before.

A month of ClassPass jobs for one member, in credits
JobCallsCredits
Find and book a class that fits the calendar3 × 6180
Look at the week ahead, weekly1 × 440
Cancel before the late window2 × 240
Cloud Browser, 30 days1,500
Total1,760
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • One-time packs, valid 12 months, no subscription

The month assumes the US plan of 33 credits for $69 and classes at 5 to 7 credits: about 6 bookings. A studio with a daily roster and no-show pass, a weekly report and one payout read comes to 2,150 credits, about $12. Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

ClassPass MCP server on GitHub, a booking bot or hosted: which to use Only Cotlet covers the studio side.

Other ClassPass MCP servers and tools, checked 28 Oct 2026
OptionWhat it doesWhere it stops
dvcrn/mcp-server-classpassMember MCP server in Go: search, venues, slots, book, cancel, bookmarks. 0 stars, first release 21 Oct 2026, AGPL-3.0.Runs on your computer with your password or an app token you read with a proxy; no studio tools.
Telegram @classpass_reservations_botBooks a class the moment booking opens, 1 free booking a month.Takes your ClassPass token; one job only, and exactly what section 7 (s) names.
Apify ClassPass scraperStudio lead lists by city, from $0.45 per 1,000 venues, also as MCP.Public listings only, nothing in your account.
Your booking softwareMindbody, Zen Planner, Vagaro and 100+ others send your schedule to ClassPass.Syncs classes and spots; no partner portal reports or payouts for an agent.

If you are a member who runs your own tools, the GitHub server does the booking side for free. Studios have no other agent route to the partner portal. Cotlet suits both when the agent should run without your computer and ask before it spends credits.

EU company, since 2019

Who runs Cotlet A company you can look up.

Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273), in business since 2019. Its founders are Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev about the ClassPass tools.

ClassPass API and MCP: questions

How do I get access?

Open a free account at https://cotlet.dev, find ClassPass under Integrations in the console and log in to ClassPass in its Cloud Browser. The trial starts with your first app and asks for no card.

How do I connect ClassPass to ChatGPT or Claude?

Sign up at cotlet.dev, log in to ClassPass once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your ClassPass account through Cotlet, in their phone apps too.

What can ChatGPT do in ClassPass?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in ClassPass: find and book a class that fits my calendar; check upcoming reservations and cancel in time; mark attendance after class. You ask in plain words, and anything that reaches other people waits for your OK first.

Do I need a member or a studio account?

It depends on the tool. search_classes, get_class, list_reservations, book_class and cancel_reservation work in a member account. list_class_roster, mark_attendance, get_reservation_report and get_payout_report need a studio login to partners.classpass.com. ClassPass describes both sides in its help center and partner pages.

What does a late cancel cost?

ClassPass lets you cancel up to 12 hours before the start with no charge, unless the booking shows an earlier deadline. Inside that window it returns the credits and may charge a late cancellation fee, shown in the Cancellation Policy of each reservation. Read get_class before booking.

Can the agent grab a spot the second it opens?

No. Cotlet books when you ask, after your OK, and does not poll for openings. Sniping a spot is the kind of automated access ClassPass Terms 7 (s) name.

Does it buy credits or change my plan?

No. No tool tops up credits, changes your plan or touches your card. book_class spends credits you already have.

Does ClassPass have webhooks?

Only for approved partner software inside the Inventory API. To act on new bookings or rosters, run your agent on a schedule, for example a list_class_roster pass each evening.

Is the MCP server different from the REST API?

Only in how you call it. Both carry the same 9 tools, inputs, answers, key and price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with ClassPass?

No. Cotlet is independent and not affiliated with ClassPass or Playlist.

Can I use the ClassPass API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

Let your agent book your next class.

Free 7-day trial with 2,000 credits, no card needed.