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

# Clubplanner API

Jentic publishes the only available OpenAPI specification for Clubplanner API, keeping it validated and agent-ready. The Clubplanner API is the integration surface for the Clubplanner gym and fitness club management platform. It exposes endpoints to manage members, group fitness classes, bookings, and membership records. Authentication uses HTTP Basic with credentials issued from the Clubplanner admin panel, and the API is sized for typical club operations with 12 endpoints covering create, read, update, and delete on the core entities.

## For AI agents

Manage gym and fitness club operations programmatically - create and update members, schedule and list classes, take and cancel class bookings, and read membership records.

## Scope

Does not handle billing, point-of-sale, or staff payroll - use for Clubplanner member, class, booking, and membership management only.

## Capabilities

- Create, update, list, and delete gym member records
- Create and list group fitness classes on the schedule
- Take member bookings against classes and cancel them when needed
- Look up an individual member or class by ID for confirmation flows
- Read existing membership records associated with members
- Drive routine club admin from a script or scheduled job rather than the admin UI

## Use cases

### Member Sign-Up From a Club Website

Gyms running their own website or signup landing page send the form data straight into Clubplanner via POST /members rather than re-keying it in the admin UI. The endpoint accepts the member fields, returns the created record's ID, and that ID is then used for /memberships lookups and future bookings. End-to-end signup feels instant to the prospect and removes the data-entry step that creates errors in member contact details.

Example prompt: When a website signup form is submitted, POST /members with the member's name, email, phone, and date of birth and store the returned member ID in the form vendor's record

### Class Schedule and Booking Synchronisation

Clubs that publish their schedule in a custom mobile app or a partner platform read class data from GET /classes and accept member bookings via POST /bookings. The same flow drives in-club kiosks where members book themselves into the next class without staff involvement. DELETE `/bookings/{id}` handles cancellations from the same surface, keeping Clubplanner as the single source of truth.

Example prompt: Pull next 7 days of classes via GET /classes, render them in a member app, then POST /bookings with the member ID and class ID when the member taps Book

### Membership Audit and Cleanup Jobs

Operations managers run scheduled jobs against the Clubplanner API to audit membership data - flagging members whose memberships have expired, identifying duplicates, and removing test records. GET /members and GET /memberships provide the data, and DELETE `/members/{id}` removes records flagged for deletion at the end of legal retention. This pattern keeps the database clean without reaching into the underlying tables.

Example prompt: List all members via GET /members, list memberships via GET /memberships, identify members whose membership has expired more than 12 months ago, and delete those records via DELETE `/members/{id}`

### AI Agent Running a Front Desk via Jentic

AI agents running customer service for a gym chain can call Clubplanner through Jentic to take new members, book existing members into classes, or handle cancellations. The agent expresses an intent like 'book a member into a class', and Jentic loads the matching Clubplanner operation, supplies the Basic Auth credentials from the vault, and returns the structured booking response. The agent can confirm the booking to the caller without reading clubplanner.com/api/docs.

Example prompt: Through Jentic, search for 'book a member into a class', load the clubplanner.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 |
| PUT | `/members/{id}` | Update a member |
| GET | `/classes` | List classes |
| POST | `/classes` | Create a class |
| GET | `/bookings` | List bookings |
| POST | `/bookings` | Create a booking |
| DELETE | `/bookings/{id}` | Cancel a booking |

## Key resources

- **Members** — Create, read, update, and delete gym member records
- **Classes** — Create and list group fitness classes on the schedule
- **Bookings** — Create and cancel member bookings against scheduled classes
- **Memberships** — List the membership records associated with members

## Why Jentic

- **Setup:** Wiring Clubplanner by hand means encoding its Basic auth username and password, targeting api.clubplanner.com/v1, and handling retries across its member and booking endpoints yourself. Through Jentic you install once, import the Clubplanner API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Clubplanner puts the member id in the URL path (`/members/{id}`), so a rule can pin your agent to one member for reads and updates. You choose the operations it may call, so destructive ones like deleting a booking are not included unless you add them.
- **Credential handling:** Your Clubplanner username and password are stored once, encrypted, by your own Jentic One instance and combined into the Basic auth header at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a member' or 'book a class', and Jentic returns the matching Clubplanner operation with its input schema so the agent calls the right endpoint without browsing clubplanner.com/api/docs.

## Related APIs

- **Mindbody API** — Mindbody is a larger fitness, wellness, and beauty platform with a comparable member, class, and booking API
- **Clubworx API** — Clubworx is a directly comparable gym management platform with members, classes, and attendance tracking
- **Calendly API** — Calendly handles personal training and consultation scheduling that pairs with Clubplanner group classes

## FAQ

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

Clubplanner does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Clubplanner 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 Clubplanner API use?

The Clubplanner API uses HTTP Basic authentication: a username and password issued from the Clubplanner admin panel are encoded into the Authorization header on every request. Through Jentic the credentials are stored encrypted in the vault and applied at execution time, so the agent never sees them.

### Can I create a new gym member with the Clubplanner API?

Yes. POST /members accepts the member's name, contact details, and date of birth, and returns the created record's ID. The same record can then be retrieved with GET `/members/{id}` or updated with PUT `/members/{id}.`

### Can I take class bookings through the Clubplanner API?

Yes. POST /bookings creates a booking for a member against a scheduled class, and DELETE `/bookings/{id}` cancels it. GET /bookings lists the bookings on the account so you can present a member's upcoming classes.

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

The OpenAPI specification does not declare explicit rate limit headers or a 429 response. Clubplanner applies plan-based limits, and integrations should batch member and booking lookups rather than calling once per record. Through Jentic, retries are handled by the SDK.

### How do I book a member into a class with the Clubplanner API through Jentic?

Install the SDK with pip install jentic, search for 'book a member into a class', load the clubplanner.com /bookings operation, and execute it with the member_id and class_id. Jentic supplies the Basic Auth credentials automatically and returns the created booking.

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

Yes. Because you run Jentic One yourself, your own rules decide which Clubplanner operations the agent may call, so read-only work like GET /members and GET /classes can be allowed while destructive calls such as DELETE `/bookings/{id}` or DELETE `/members/{id}` stay out unless you add them. Since Clubplanner puts the member id in the URL path (`/members/{id}`), a rule can pin the agent to a single member for reads and updates rather than the whole roster. The Basic Auth username and password are held by your own instance and applied at execution time, so the agent only ever exercises the operations and credentials you have permitted.
