Health & fitness
Trainerize
Clients, programs, check-ins and messages for your Trainerize business.
14 endpoints
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.
9 tools Read and write
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.
| What you need | Inventory API | GitHub MCP server | Cotlet |
|---|---|---|---|
| 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
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
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
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.
Enable ClassPass for agents. Sign up, log in to ClassPass (member app or partner portal) in its Cloud Browser, then press Enable for agents.
Add the Cotlet address. Put https://cotlet.dev/mcp/v1 into your agent's MCP server or connector settings.
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.
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" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-classpass": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-classpass]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: classpass_read 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 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.
curl https://cotlet.dev/api/v1/classpass/reservations \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"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.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read one class with its cancellation policy and credit cost. Use get_class in your configured private activity report. |
| Make | HTTP > Make a request | Read the reservation report of your studio for a date range. Use get_reservation_report in your configured private activity report. |
| Python or Node.js | REST API | Read 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.
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.
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
| Name | Type | Description |
|---|---|---|
| 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. |
{
"location": "location"
} {
"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
}
]
} 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}
| Name | Type | Description |
|---|---|---|
| class_id string required | string | Class id from search_classes. |
{
"class_id": "class_8c41d2"
} {
"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"
} 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
No parameters.
{
"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"
}
]
} 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}
| Name | Type | Description |
|---|---|---|
| class_id string required | string | Class id from search_classes. |
| confirm boolean | boolean | Must be true. Booking spends credits. |
{
"class_id": "cls_90417",
"confirm": true
} {
"reservation_id": "rsv_48299",
"class_id": "cls_90417",
"status": "booked",
"credits_spent": 6,
"free_cancel_until": "2026-10-29T06:30:00-04:00"
} 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
| Name | Type | Description |
|---|---|---|
| reservation_id string required | string | Reservation id from list_reservations. |
| confirm boolean | boolean | Must be true. A late cancel can charge a fee. |
{
"reservation_id": "reservation_8c41d2"
} {
"reservation_id": "rsv_48299",
"status": "cancelled",
"credits_returned": 6,
"late_cancel_fee": null
} 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.
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
| Name | Type | Description |
|---|---|---|
| date string required | string | Date as YYYY-MM-DD. |
| class_name string | string | Only classes whose name contains this text. |
{
"date": "date"
} {
"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"
}
]
}
]
} 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
| Name | Type | Description |
|---|---|---|
| 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. |
{
"class_id": "class_8c41d2",
"client_name": "client name",
"status": "status"
} {
"class_id": "cls_90100",
"client_name": "Lee M.",
"status": "no_show"
} 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
| Name | Type | Description |
|---|---|---|
| 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. |
{
"start_date": "start date",
"end_date": "end date"
} {
"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
}
]
} 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
| Name | Type | Description |
|---|---|---|
| month string | string | Month as YYYY-MM. Defaults to the latest payout. |
{
"month": "2026-09",
"payout_total": 4180.5,
"currency": "USD",
"reservations": 312,
"paid_on": "2026-10-06"
} Your logged-in ClassPass profile, AES-256-GCM, in Finland. Not the password.
The 9 ClassPass tools. No password, no token.
Your credits and bookings, or for a studio its rosters and payouts.
Your plan, payment card, credit top-ups and account settings.
Your agent gets a link and you log in again yourself.
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.
"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;"
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.
Ask for a few classes at a time. A search that sweeps a whole city every hour is what 7 (m) calls data mining.
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.
| Action | Undo |
|---|---|
| Book a class | Cancel it; before the free-cancel deadline the credits come back |
| Cancel a reservation | Book again if a spot is still free |
| Cancel inside the late window | No, the fee in the Cancellation Policy may apply |
| Mark a no-show | Set 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.
{
"name": "book_class",
"arguments": {
"class_id": "cls_90417",
"confirm": true
}
} 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}' {
"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.
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.
| Job | Calls | Credits |
|---|---|---|
| Find and book a class that fits the calendar | 3 × 6 | 180 |
| Look at the week ahead, weekly | 1 × 4 | 40 |
| Cancel before the late window | 2 × 2 | 40 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 1,760 |
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.
| 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.
| Option | What it does | Where it stops |
|---|---|---|
| dvcrn/mcp-server-classpass | Member 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_bot | Books 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 scraper | Studio lead lists by city, from $0.45 per 1,000 venues, also as MCP. | Public listings only, nothing in your account. |
| Your booking software | Mindbody, 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.
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.
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.
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.
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.
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.
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.
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.
No. No tool tops up credits, changes your plan or touches your card. book_class spends credits you already have.
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.
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.
No. Cotlet is independent and not affiliated with ClassPass or Playlist.
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.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy