canonical: https://jentic.com/apis/clubworx.com/clubworx

# ClubWorx API

Jentic publishes the only available OpenAPI specification for ClubWorx API, keeping it validated and agent-ready. The ClubWorx API is the integration surface for the ClubWorx club and membership management platform used by gyms, martial arts schools, and fitness studios. It exposes endpoints for members, memberships, classes, bookings, payments, and facilities. Authentication uses a JWT Bearer token, and the 16 endpoints cover the day-to-day operational surface needed to run the front desk, take bookings, and process member payments.

## For AI agents

Run a ClubWorx-managed gym or studio programmatically - manage members, memberships, classes, bookings, payments, and facilities.

## Scope

Does not handle card processing, marketing email, or staff payroll - use for ClubWorx member, membership, class, booking, payment recording, and facility operations only.

## Capabilities

- Create, update, list, and delete member records
- Create memberships and list active memberships across the club
- Schedule classes and list the class timetable
- Take and cancel bookings against scheduled classes
- Record payments against memberships and list payment history
- List facilities (rooms, courts, mats) available for booking

## Use cases

### Member Onboarding From a Studio Website

Martial arts schools and boutique gyms running their own signup landing page push the form data into ClubWorx via POST /members and create a membership through POST /memberships in the same flow. The endpoints accept the contact details and membership plan, return the created IDs, and the front desk staff see the new member in the dashboard within seconds. End-to-end this replaces manual entry at the desk and removes typos in member contact records.

Example prompt: When a website signup form is submitted, POST /members with the member's details, then POST /memberships with the returned member_id and the chosen plan

### Class Booking Through a Member App

Clubs offering a branded member app drive class browsing and booking through GET /classes and POST /bookings. The class list returns scheduled sessions across all facilities, and the booking endpoint takes a member_id and class_id, returning a booking confirmation. DELETE `/bookings/{booking_id}` handles cancellations from the same app surface, keeping the ClubWorx schedule as the single source of truth for class capacity.

Example prompt: List next 7 days of classes via GET /classes, render them in the member app, and POST /bookings when the member selects a class

### Membership Payment Recording From an External Processor

Studios that take payments through Stripe, Square, or a regional processor record the resulting payment back into ClubWorx via POST /payments so the membership ledger stays accurate. The membership ID, amount, and payment method ride on the request, and GET /payments lets finance pull a per-member payment history during reconciliation. This pattern keeps the operational truth in ClubWorx without forcing the studio to take card payments only through the in-app processor.

Example prompt: After a Stripe charge succeeds for a membership renewal, POST /payments to ClubWorx with the membership_id, amount, currency, and external transaction reference

### AI Agent Running a Studio Front Desk via Jentic

AI agents handling phone or chat enquiries for a martial arts school or boutique gym call ClubWorx through Jentic to take new members, book classes, and answer schedule questions. The agent expresses an intent like 'book a member into a class', and Jentic loads the matching ClubWorx operation, supplies the JWT Bearer token from the vault, and returns the structured response so the agent can confirm the booking to the caller.

Example prompt: Through Jentic, search for 'book a member into a class', load the clubworx.com /bookings operation, and execute it with member_id and class_id

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/members` | List members |
| POST | `/members` | Create a member |
| POST | `/memberships` | Create a membership |
| GET | `/classes` | List classes |
| POST | `/bookings` | Create a booking |
| DELETE | `/bookings/{booking_id}` | Cancel a booking |
| POST | `/payments` | Record a payment |
| GET | `/facilities` | List facilities |

## Key resources

- **Members** — Create, read, update, and delete member records
- **Memberships** — Create memberships and list active membership plans on the account
- **Classes** — Schedule and list classes on the timetable
- **Bookings** — Create, read, and cancel bookings against classes
- **Payments** — Record and list payments tied to memberships
- **Facilities** — List the rooms, courts, or mats available for class scheduling

## Why Jentic

- **Setup:** Wiring ClubWorx by hand means learning its JWT bearer auth, targeting app.clubworx.com/api/v2, and handling retries across its member, booking, and payment endpoints yourself. Through Jentic you install once, import the ClubWorx API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** ClubWorx puts the booking id in the URL path (`/bookings/{booking_id}`), so a rule can pin your agent to one booking. You choose the operations it may call, so destructive ones like deleting a booking or recording a payment are not included unless you add them.
- **Credential handling:** Your ClubWorx token is stored once, encrypted, by your own Jentic One instance and applied to the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a member', 'book a class', or 'record a payment', and Jentic returns the matching ClubWorx operation with its input schema so the agent calls the right endpoint without browsing app.clubworx.com/api/docs/v2.

## Related APIs

- **Mindbody API** — Mindbody covers a similar member, class, and booking workflow at a larger scale across fitness, wellness, and beauty
- **Clubplanner API** — Clubplanner is a directly comparable gym and fitness club management API with members, classes, and bookings
- **Stripe API** — Stripe processes the membership card payment that is then recorded back into ClubWorx via POST /payments

## FAQ

### Why is there no official OpenAPI spec for ClubWorx API?

ClubWorx does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ClubWorx API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the ClubWorx API use?

The ClubWorx API uses an HTTP bearer scheme with a JWT Bearer token in the Authorization header. Tokens are issued from the ClubWorx admin panel. Through Jentic the token is stored encrypted in the vault and applied at execution time, so the agent never sees it.

### Can I create members and memberships in one flow?

Yes. POST /members creates the member record, then POST /memberships ties a plan to that member's ID. Both endpoints return the created object so the front-end can immediately reflect the new state without polling.

### Can I take and cancel class bookings with the ClubWorx API?

Yes. POST /bookings creates a booking for a member against a scheduled class, GET `/bookings/{booking_id}` retrieves it, and DELETE `/bookings/{booking_id}` cancels it. Cancellation is the standard way to free a class slot when a member can't attend.

### What are the rate limits for the ClubWorx API?

The OpenAPI specification does not declare explicit rate limit headers or a 429 response. ClubWorx applies plan-level limits, and integrations should batch reads (e.g. one /classes call per day rather than per session) and back off on transient failures. Through Jentic, retries are handled by the SDK.

### How do I record a payment in ClubWorx through Jentic?

Install the SDK with pip install jentic, search for 'record a payment', load the clubworx.com /payments operation, and execute it with the membership_id, amount, and payment method. Jentic supplies the JWT Bearer token automatically and returns the recorded payment.

### Can I list facilities available for a class?

Yes. GET /facilities returns the list of rooms, courts, or mats configured on the account so a scheduling integration can pick the correct facility when creating a class via POST /classes.

### Can I limit what my agent is allowed to do with the ClubWorx API?

Yes. Because you run Jentic One yourself, your own rules decide which ClubWorx operations the agent may call, so read-only work like GET /classes or GET /members can be permitted while destructive calls such as DELETE `/bookings/{booking_id}` or POST /payments stay excluded until you add them. Since ClubWorx puts the booking id in the URL path at `/bookings/{booking_id}`, a rule can pin the agent to a single booking rather than the whole schedule. The JWT bearer token stays under your control and is applied only to the operations you allow.
