# 1Club Help - [Welcome to 1club](https://docs.1club.ai/index.md): Set up your account, tour the interface, and learn the main sections of the 1Club admin dashboard - [Quickstart](https://docs.1club.ai/quickstart.md): Get your 1Club admin up and running in a few steps - [Dashboard](https://docs.1club.ai/dashboard/overview.md): Your home screen in the admin - a setup checklist plus eight widgets covering revenue, today's activity, bookings, classes, members, and pipeline. - [Dashboard widgets](https://docs.1club.ai/dashboard/widgets.md): The eight widgets on the admin Dashboard, what they show, and where they link. - [Members overview](https://docs.1club.ai/members/overview.md): How contacts, members, memberships, accounts, and credentials fit together in 1Club, and where each Members page lives in the admin. - [Member list](https://docs.1club.ai/members/member-list.md): The contacts grid for finding, filtering, and bulk-acting on members, drop-ins, leads, and lapsed contacts, and for adding new members. - [Member profile](https://docs.1club.ai/members/member-profiles.md): The per-contact page that pulls together a member's identity, balances, memberships, bookings, check-ins, transactions, messages, documents, notes, credentials, and account links. - [Member authentication](https://docs.1club.ai/members/member-authentication.md): How members sign in - the identifier your gym chooses, social sign-in, one-time phone codes, passwords, verification, invitations, and what happens when someone returns. - [Suspend and archive](https://docs.1club.ai/members/suspend-and-archive.md): Pause a member's access without unmaking them, or archive the record for good. How the two differ, what each one stops, and how to reverse them. - [Accounts](https://docs.1club.ai/members/accounts.md): Group members into households or companies for shared billing, cross-member bookings, and consolidated reporting at /members/accounts. - [Matches](https://docs.1club.ai/members/matches.md): Record competitive match results and track per-sport player skill with the 1club Rating (Glicko-2) system. - [Memberships](https://docs.1club.ai/members/memberships.md): The org-wide membership grid. Sell, pause, resume, renew, and cancel memberships, and track how members consume their usage allowance. - [Attendance](https://docs.1club.ai/members/attendance.md): Record and review member check-ins in 1club - view the attendance log, add check-ins with the right entrance method, change or delete them, and handle anonymous walk-ins. - [Access cards](https://docs.1club.ai/members/member-cards.md): Manage the QR codes, access cards, and PINs that members present at a reader or kiosk to check in, and assign, revoke, or delete those credentials. - [Document signatures](https://docs.1club.ai/content/document-signatures.md): The ledger of signed waivers, terms, and policies - who accepted which document, when, how it was signed, and the evidence captured, including guardian signing for dependents. - [Member onboarding](https://docs.1club.ai/workflows/member-onboarding.md): How a new person becomes a member - the signup wizard, required fields, family members, verification, and passwordless guest signup. - [Operations](https://docs.1club.ai/operations/overview.md): Day-to-day scheduling, bookings, classes, areas, instructors, and tasks live under Operations. - [Schedule](https://docs.1club.ai/operations/schedule.md): The unified day/week calendar that drives bookings, classes, instructor time off, and check-in. - [Bookings](https://docs.1club.ai/operations/bookings.md): Create, edit, cancel, and take payment on reservations for areas, classes, and instructors. - [Booking policies](https://docs.1club.ai/operations/booking-policies.md): Configure how members book, when they pay, and how check-in is enforced. - [Classes](https://docs.1club.ai/operations/classes.md): Create one-off or recurring classes, assign instructors, manage capacity, and run check-in and waitlists. - [Class types](https://docs.1club.ai/operations/class-types.md): Reusable categories for classes that control multi-day scheduling, auto-cancellation on zero attendance, party size, and which revenue account classes book to. - [Waitlists](https://docs.1club.ai/operations/waitlists.md): Let members join a waitlist when a class is full, then automatically notify and book the next person in line when a spot opens up. - [Events](https://docs.1club.ai/operations/events.md): Create one-off ticketed events, draft them with AI, sell tickets online or at the front desk, take pay-on-arrival reservations, and promote events to members in one click. - [Season passes](https://docs.1club.ai/operations/season-passes.md): Sell the same court hour every week of a season as one prepaid contract - hold the courts, price it from your rate card with a volume discount, credit makeup hours for cancelled weeks, and release the whole run in one step. - [Areas](https://docs.1club.ai/operations/areas.md): Configure the physical spaces members book - courts, rooms, fields - with area types, operating hours, pricing, attributes, and schedule colors. - [Area blocks](https://docs.1club.ai/operations/area-blocks.md): Block a court, or a whole gym, for a set period so nothing new can be booked in it - without taking the area off your schedule permanently. - [Instructors](https://docs.1club.ai/operations/instructors.md): Manage your coaching staff, their bookable rates, sports, types, and operating hours. - [Kiosk app](https://docs.1club.ai/operations/kiosk.md): Set up the 1club self-service kiosk for member check-in, class check-in, area and plan booking, and browsing plans and products on a tablet at your gym. - [Revenue overview](https://docs.1club.ai/billing/overview.md): How plans, products, packages, orders, transactions, invoices, bill runs, and payments fit together in the 1Club Revenue menu. - [Plans](https://docs.1club.ai/billing/plans.md): Membership and pass templates in 1Club - price, billing frequency, usage limits, what they grant access to, signup fees, wallet credit, visibility, and revenue account. - [Products](https://docs.1club.ai/billing/products.md): Build your catalog of sellable items - retail, add-ons, and rentals - with categories, brands, price, revenue account, visibility, and optional stock tracking. - [Packages](https://docs.1club.ai/billing/packages.md): Bundle plans and products into a single fixed-price offer you can sell on the POS and signup forms, with revenue split back to each component. - [Orders](https://docs.1club.ai/billing/orders.md): Understand orders as multi-line purchase containers - what an order holds, its draft, completed, and cancelled lifecycle, how you complete or cancel one, and how orders relate to transactions, invoices, and payments. - [Transactions](https://docs.1club.ai/billing/transactions.md): The per-obligation ledger behind every booking, membership, signup fee, and product sale - batch charge, record manual payments, send myPOS links, refund what was paid, and void what was not. - [Invoices](https://docs.1club.ai/billing/invoices.md): Create, send, download, and settle invoice documents that group a contact's outstanding transactions under one number, due date, and PDF - including pro-formas and converting them to invoices. - [Payments](https://docs.1club.ai/billing/payments.md): Track, record, and refund payments in 1Club - payment status and method, split a booking's bill across its players, apply wallet credit, and refund to the card, the wallet, or cash. - [Bill runs](https://docs.1club.ai/billing/bill-runs.md): Sweep a period of unbilled transactions into invoices in one batch, on demand or on a schedule, and understand how automated membership renewals charge and dun separately. - [Wallet](https://docs.1club.ai/billing/wallet.md): A per-member store-credit balance in your gym's currency that fills from vouchers, plan bonuses, refunds, and imports, and spends like cash or a card at checkout. - [Point of sale](https://docs.1club.ai/pos/point-of-sale.md): Ring up memberships, passes, bookings, packages, and retail products in person at the front desk, take payment, apply promotions, and check members in - all from the POS register. - [Inventory and stock](https://docs.1club.ai/pos/inventory.md): Track stock levels per location, record receive, sale, adjustment, and waste movements, and build cafe or bar recipes from ingredients that decrement automatically when a product sells. - [Deliveries and invoice scanning](https://docs.1club.ai/pos/deliveries.md): Book incoming stock as a supplier delivery. Attach the invoice, let 1Club read the line items, review them, and post once so stock rises and the expense is recorded with the invoice attached. - [Cash registry and expenses](https://docs.1club.ai/pos/cash-registry.md): Two things in one module - track the cash each location holds, and manage all your gym's expenses (cash and non-cash) against categories with receipts. Capture cash payments automatically and count the drawer to reconcile any over or short. - [Marketing overview](https://docs.1club.ai/marketing/overview.md): The Marketing hub - website, automations, promotions, content, media, reviews, sales pipeline, and marketplace listing in one place. - [Business audit](https://docs.1club.ai/marketing/business-audit.md): Generate an AI visibility report that scores your gym's online presence - competitors, Google profile, reviews, AI discoverability, and website performance - with actionable recommendations. - [Pipeline](https://docs.1club.ai/marketing/pipeline.md): Work your sales deals on a Kanban board - drag cards between stages, add deals per column, and configure your own stages, sources, and custom deal fields under Settings > Deals. - [Deals](https://docs.1club.ai/marketing/deals.md): Track CRM sales opportunities through pipeline stages from lead to close, with values, probabilities, sources, and custom fields - [Promotions](https://docs.1club.ai/marketing/promotions.md): Create vouchers and discounts with schedules, codes, audience targeting, and usage caps - [Automations](https://docs.1club.ai/marketing/automations.md): Build event-driven workflows that message members, manage tags, and notify staff automatically - with built-in reminders and one-click blueprints. - [Marketplace](https://docs.1club.ai/marketing/marketplace.md): List your gym on the 1club consumer marketplace at 1club.me so new members can discover, explore, and book it, and manage your network listing from Marketing > Marketplace. - [Inbox](https://docs.1club.ai/messaging/overview.md): A unified inbox for outbound and inbound conversations with members, leads, and staff. Email, SMS, and WhatsApp messages live alongside replies in one threaded view, with AI-drafted replies grounded in your club's data. - [Compose](https://docs.1club.ai/messaging/compose.md): Send email, SMS, or WhatsApp to one contact, a list, or everyone matching a contact-type and tag filter. Block editor, templates, variables, file attachments, AI-drafted replies, and drafts. - [Templates](https://docs.1club.ai/messaging/templates.md): Reusable message content in 1Club - custom templates for manual sends, plus the system template catalog you can customize for booking, membership, and lifecycle emails. Variables resolve per recipient at send time. - [Inbox](https://docs.1club.ai/messaging/message-list.md): The 1Club messaging inbox - one conversation-style list of every outbound and inbound message, with thread roll-ups, draft chips, channel signals, and a detail pane that opens the thread or compose form. - [Content](https://docs.1club.ai/content/overview.md): Orientation for 1Club's content features - your public website, content items, media library, member reviews, and signed-document records - and where each one lives in the admin. - [Website builder](https://docs.1club.ai/content/website.md): Design, translate, and publish your gym's public site from inside the admin. Sections pull live data from the platform, edits live in a draft, releases are versioned. - [Media](https://docs.1club.ai/content/media.md): Upload, organize, and reuse images and videos for your website, documents, and emails. Files are stored in Cloudinary and shared across the platform. - [Reviews](https://docs.1club.ai/content/reviews.md): Moderate member and Google reviews in one list, toggle public visibility, mark trusted ones verified, and track review-request conversion to Google. - [Documents and waivers](https://docs.1club.ai/content/documents.md): Define signable documents (liability waivers, terms, policies) and use document rules to require the right members to accept them, with audience targeting and mandatory gating. - [Analytics overview](https://docs.1club.ai/analytics/overview.md): Pre-built dashboards and reports for clubs, members, bookings, classes, instructors, billing, marketing, and engagement, with live and historical views. - [Clubs analytics](https://docs.1club.ai/analytics/clubs.md): Today and historical dashboards for club-level activity, revenue, and utilization, per location. - [Members analytics](https://docs.1club.ai/analytics/members.md): Dashboards and reports for member growth, activity, attendance, progression, engagement, and account balances. - [Operations analytics](https://docs.1club.ai/analytics/operations.md): Bookings, classes, attendance, utilization, and instructor dashboards and reports for optimizing schedules, capacity, and pay. - [Billing analytics](https://docs.1club.ai/analytics/billing.md): Revenue, payments, outstanding balances, and average transaction value, broken down by source, revenue account, and plan over time. - [Marketing analytics](https://docs.1club.ai/analytics/marketing.md): Track pipeline and deal conversion, email delivery and engagement, and promotion redemptions from the Marketing category in Analytics. - [Engagement analytics](https://docs.1club.ai/analytics/engagement.md): Member engagement scores (0-100) - how they are calculated, the four scoring categories, the dashboard, and using scores for churn-risk and win-back. - [Settings overview](https://docs.1club.ai/settings/overview.md): Orient yourself across the 1Club Settings area - the twelve categories that hold your organization, clubs, CRM, operations, revenue, member apps, AI, and data configuration. - [Profile](https://docs.1club.ai/settings/profile.md): Manage your own admin account - name, photo, email, phone, password, language, and theme - from Settings > Profile. - [Organization](https://docs.1club.ai/settings/organization.md): Configure organization-wide identity, address, time zone, locales, clubs, branding, and custom domains in 1Club Settings. - [Platform subscription](https://docs.1club.ai/settings/platform-subscription.md): Manage your organization's own 1Club (SaaS) subscription - the platform plan tiers Free, Grow, and Run, the 30-day Grow trial, plan add-ons like Website, usage quotas, and the Stripe billing portal. - [Users](https://docs.1club.ai/settings/admin-users.md): Invite admin staff, assign one of five roles, reset passwords, and manage invitations from Settings > Users. - [Integrations](https://docs.1club.ai/settings/integrations.md): Connect 1Club with payment providers, calendars, analytics, access control, POS, and messaging from Settings > Integrations - [Stripe](https://docs.1club.ai/settings/integrations/stripe.md): Accept card and digital wallet payments through Stripe, starting in a test sandbox and going live with your own Stripe Connect account - [myPOS](https://docs.1club.ai/settings/integrations/mypos.md): Accept card payments through myPOS hosted checkout, with a shared sandbox test mode and a live mode backed by your own myPOS Checkout Store - [DatecsPay](https://docs.1club.ai/settings/integrations/datecspay.md): Accept card payments through DatecsPay (BORICA) hosted checkout, with a BORICA-backed test gateway and a live production environment - [Hype](https://docs.1club.ai/settings/integrations/hype.md): Connect the Hype POS through the Hype Exchange Service to fiscalize 1Club orders, print compliant receipts on the kitchen and counter, and sync your Hype menu (categories and products) back into 1Club - [WhatsApp](https://docs.1club.ai/settings/integrations/whatsapp.md): Connect your own WhatsApp Business number so members can message you on WhatsApp, staff reply from the 1Club inbox, and booking notifications go out on the channel members actually read. - [Meta](https://docs.1club.ai/settings/integrations/meta.md): Connect your Meta Business account so your Facebook and Instagram ads are measured on the bookings and revenue they actually produce, not just clicks. - [Social booking](https://docs.1club.ai/settings/integrations/social-booking.md): Turn your Instagram, Facebook, and other social profiles into a booking channel with pre-tagged "Book now" links, so every booking is attributed to the platform that drove it - [Google Calendar](https://docs.1club.ai/settings/integrations/google-calendar.md): Sync 1Club bookings with one or more Google calendars, mapped per area or per instructor, in either or both directions. - [Google Business Profile](https://docs.1club.ai/settings/integrations/google-business.md): Import verified business locations from your Google Business Profile into 1Club as gyms, with name, address, phone, and website pre-filled. - [Google Tag Manager](https://docs.1club.ai/settings/integrations/google-tag-manager.md): Load a Google Tag Manager container on your member portal and CMS website with no code, then track page views, sign-ups, bookings, and purchases through your own tags. - [WebLock](https://docs.1club.ai/settings/integrations/weblock.md): Turn 1Club memberships and bookings into physical door access through the WebLock (Valnes) access control system, with per-usage PINs and booking-driven light rules. - [Access control](https://docs.1club.ai/settings/access-control.md): How members identify themselves at your door (QR, access card, PIN) per club, and how the check-in modes that decide who staff can check in are configured through booking policies. - [Physical access control](https://docs.1club.ai/settings/access-control-settings.md): How 1Club's native access control turns memberships and bookings into physical door access - doors and door groups, credentials, access grants, auto-grant, access events, and edge gateway sync. - [Member portal](https://docs.1club.ai/settings/member-portal.md): Configure the member-facing portal under Settings > Member Apps > Member portal - turn the portal on, choose which pages members see, group and publish pages, and confirm the portal web address. - [Forms](https://docs.1club.ai/settings/forms.md): The form builder under Settings > CRM > Forms. Build a public signup page that onboards a new member, or a questionnaire, health declaration or details update you send to people you already have on file. - [Pricing rules](https://docs.1club.ai/settings/pricing-rules.md): Configure dynamic pricing for bookings - publish an hourly rate per time band, layer peak surcharges and off-peak discounts, give plan holders their own member rate, and scope any rule to a gym, area, instructor, or class type. - [Seasons](https://docs.1club.ai/settings/seasons.md): Define the fixed period a season pass is sold for - a winter, a term, a league - set the volume discount for holding more hours a week, and choose when the season goes on sale. - [Progression tracks](https://docs.1club.ai/settings/progression.md): Track member skill progression with tracks and levels - martial-arts belts, swim levels, tennis tiers. Enable platform templates, fork and customize them, author your own levels, and assign or promote members with a full progression history. - [Smart tagging](https://docs.1club.ai/settings/smart-tagging.md): Rule-based tags that 1Club applies to members automatically, segmenting them by payments, lifecycle, membership expiry, attendance, loyalty, age, household role, language, and the sports they book. - [External programs](https://docs.1club.ai/settings/external-programs.md): Add third-party programs and corporate-wellness benefits as a check-in entrance method, and let them influence booking prices. - [Payment methods](https://docs.1club.ai/settings/payment-methods.md): Configure which payment methods your organization accepts at checkout and in the member portal, and which one is preselected for member bookings. - [Notifications](https://docs.1club.ai/settings/notifications.md): Choose which notification categories you receive and on which channels, and understand how staff alerts route to the right people. - [Email inboxes](https://docs.1club.ai/settings/email-inboxes.md): Route inbound member emails into the 1Club Inbox by forwarding your club's address to a verified forwarding inbox. - [API tokens](https://docs.1club.ai/settings/api-tokens.md): Create, scope, edit, and revoke API tokens for programmatic integrations, from Settings > Organization > APIs & webhooks. - [Data import](https://docs.1club.ai/settings/import.md): Import members, memberships, plans, classes, bookings, invoices, and transactions from CSV under Settings > Data Tools > Import, with AI-assisted column mapping, a validated preview, and a controlled execute step. - [Export](https://docs.1club.ai/settings/export.md): Download your organization data as CSV, or prep your books for QuickBooks Online. - [MCP overview](https://docs.1club.ai/mcp/overview.md): Connect Claude, ChatGPT, and other AI assistants to 1Club through the Model Context Protocol, so they can answer questions and take actions against your gym's real data. - [Connect an assistant](https://docs.1club.ai/mcp/connect.md): Connect Claude, ChatGPT, or another remote MCP client to 1Club with OAuth, and keep an existing API-key connection working. - [Tools reference](https://docs.1club.ai/mcp/tools.md): Every tool the 1Club admin and discovery MCP servers expose, what it returns, and the OAuth scope each one requires. - [MCP troubleshooting](https://docs.1club.ai/mcp/troubleshooting.md): Fix common OAuth, scope, tool-list, and connection problems when using the 1Club MCP server. - [Signing in](https://docs.1club.ai/reference/sign-in.md): Sign in to 1club with Google, Apple, Facebook, or email and password, across the admin dashboard, member portal, marketplace, club website, and mobile app. - [Check-in models](https://docs.1club.ai/reference/check-in-models.md): Choose how members enter your gym - book and pay in advance, walk in with a payment check, or flexible check-in - and configure the settings that enforce it. - [Repeating schedules](https://docs.1club.ai/reference/repeating-schedules.md): How a repeating class, booking, or instructor rotation is created - the three end conditions, why every occurrence exists as its own row, and the 520-occurrence limit. - [Roles and permissions](https://docs.1club.ai/reference/roles-permissions.md): How 1Club authorizes admin users - the five built-in roles, the permission model (module, action, scope), what every permission allows, and how to change a role's permissions in Settings > Permissions. - [Organizations and clubs](https://docs.1club.ai/reference/organization-clubs.md): How 1Club's multi-tenant model works - organizations as the top-level tenant, clubs as locations, org and club switching, and how every record is scoped by organizationId. - [AI assistants](https://docs.1club.ai/reference/ai-assistants.md): The AI copilot built into 1Club - an admin chat assistant that books, configures, messages, and reports, plus AI reply suggestions, a day overview, a website builder, and a member-facing assistant. - [Troubleshooting](https://docs.1club.ai/reference/troubleshooting.md): Common issues you might hit using the 1Club admin - sign-in, permissions, bookings, check-ins, payments, organizations and clubs, exports - and what to check for each. - [API Reference](https://docs.1club.ai/api-reference/introduction.md): Integrate with the 1Club platform to access clubs, classes, content, and transactions. - [Channel integration overview](https://docs.1club.ai/api-reference/channel-integration/overview.md): Sync bookings and contacts from a partner booking platform into 1Club as a channel. - [Authentication](https://docs.1club.ai/api-reference/channel-integration/authentication.md): Create a scoped API key to sync bookings through the channel integration. - [Areas and availability](https://docs.1club.ai/api-reference/channel-integration/areas-and-availability.md): Discover bookable areas (your courts) and read their availability before booking. - [Contacts](https://docs.1club.ai/api-reference/channel-integration/contacts.md): Search, open, and create the customers your bookings belong to. - [Instructors](https://docs.1club.ai/api-reference/channel-integration/instructors.md): Find the coach leading a session and get the instructorId a booking needs. - [Classes](https://docs.1club.ai/api-reference/channel-integration/classes.md): List, create, update, and delete class occurrences through the Platform API. - [Plans](https://docs.1club.ai/api-reference/channel-integration/plans.md): Find, create, update, retire, and delete membership plans. - [Memberships](https://docs.1club.ai/api-reference/channel-integration/memberships.md): Put a customer on a plan, then pause, resume, or cancel it. - [Products](https://docs.1club.ai/api-reference/channel-integration/products.md): Search, create, and update the products a gym sells over the counter, and read how many are left to sell. - [Bookings](https://docs.1club.ai/api-reference/channel-integration/bookings.md): Create, cancel, and look up bookings through the platform API. - [Check-ins](https://docs.1club.ai/api-reference/channel-integration/checkins.md): List attendance records and check in an existing booking through the Platform API. - [Idempotency](https://docs.1club.ai/api-reference/channel-integration/idempotency.md): Retry any write safely with an Idempotency-Key, so a timeout never becomes a duplicate booking. - [Webhooks](https://docs.1club.ai/api-reference/channel-integration/webhooks.md): Receive real-time availability changes so your calendar stays live. - [List area blocks](https://docs.1club.ai/api-reference/area-blocks/list-area-blocks.md): Returns the blocks overlapping a window - the time-ranged unavailability of a court, the counterpart of instructor time off. A block with `areaId: null` is club-wide and closes every area in `clubId`; expand it against the club's areas the same way availability does. Filtering by `areaId` includes t… - [Create an area block](https://docs.1club.ai/api-reference/area-blocks/create-an-area-block.md): Closes a court, or a whole club, for a time range. Send `areaId` to close one court (its club is derived), or `clubId` with `areaId` omitted/null to close every court in that club with a single record. Existing bookings in the window are left alone - a block stops NEW bookings; cancel or move the af… - [Delete an area block](https://docs.1club.ai/api-reference/area-blocks/delete-an-area-block.md): Removes a block, reopening the court(s) it covered for booking. Idempotent from the caller's perspective only in the sense that a second delete returns 404 - the first one already reopened the slot. - [List bookable areas](https://docs.1club.ai/api-reference/areas/list-bookable-areas.md): Returns the organization's bookable areas (e.g. padel courts). Optionally filter by club or sport (e.g. `padel`). Use the returned area `id` as `areaId` when creating a booking. - [Get area availability](https://docs.1club.ai/api-reference/areas/get-area-availability.md): Returns the area's club timezone, operating hours, the intervals already taken (`busy`), and computed open `slots` (with remaining capacity) for the window. Send `If-None-Match` with the last `version` you saw to get a cheap `304` when nothing changed. 1club remains the source of truth: booking crea… - [Get club-wide availability grid](https://docs.1club.ai/api-reference/areas/get-club-wide-availability-grid.md): Returns computed open slots for every bookable area in one call, so you can render a whole calendar without a request per court. Filter by `clubId` and/or `sport`. Each area carries its own `version`; the top-level `cursor` is the reconciliation cursor to pass to `/availability/changes` next. - [Availability change feed (reconciliation)](https://docs.1club.ai/api-reference/areas/availability-change-feed-reconciliation.md): Returns the availability changes for your organization with `sequence > since`, in order. Use it to catch up after missed webhooks: pass the last `cursor` you processed, apply the returned changes by re-pulling `/availability` for the affected areas/windows, then store the new `cursor`. This feed is… - [List bookings](https://docs.1club.ai/api-reference/bookings/list-bookings.md): Returns bookings whose start time falls in the requested window, ordered by start time. Each bound is an ISO date-time, or a bare `YYYY-MM-DD` read as midnight UTC. When `from`/`to` are omitted the window defaults to the next 7 days, and passing one derives the other. - [Create a booking](https://docs.1club.ai/api-reference/bookings/create-a-booking.md): Creates a booking on an area (e.g. a padel court), optionally with an instructor leading the session. Identify the customer with `contactId` (resolve it via GET /v1/platform/contacts) or, for callers that do not track 1club ids, with an inline `customer` matched to a contact by email and created if… - [Cancel a booking](https://docs.1club.ai/api-reference/bookings/cancel-a-booking.md): Cancels the booking by its 1club id. Idempotent: cancelling an already-cancelled booking succeeds. - [Get a booking](https://docs.1club.ai/api-reference/bookings/get-a-booking.md): Returns the current state of a booking (including payment status) by its 1club id - any of the organization's bookings, whichever channel created it. Nothing here is absent from the list endpoint, which has always returned every source. - [List the additional players on a booking](https://docs.1club.ai/api-reference/bookings/list-the-additional-players-on-a-booking.md): Returns the extra players on a booking - any of the organization's, whichever channel created it. The person the booking is for (the organizer) is on the booking itself as `contactId` and is not repeated here. Only the add and remove writes are restricted to bookings this API created. - [Add a player to a booking](https://docs.1club.ai/api-reference/bookings/add-a-player-to-a-booking.md): Adds another player to a booking - for a doubles court, the three players joining the organizer. The contact must already exist (create it via POST /v1/platform/contacts). The total, counting the organizer, is capped by the area type's maximum players. - [Remove a player from a booking](https://docs.1club.ai/api-reference/bookings/remove-a-player-from-a-booking.md): Removes an additional player from a booking. Reaches the same bookings as cancel: an API key may only remove from the ones it created, a staff member acting through an authorized 1club assistant from any of the organization's. - [List check-ins](https://docs.1club.ai/api-reference/check-ins/list-check-ins.md): Lists attendance records for the organization, newest first. - [Check in an existing booking](https://docs.1club.ai/api-reference/check-ins/check-in-an-existing-booking.md): Records attendance for a booking during its configured check-in window. The booking must be `confirmed` or `pending`, and its payment and duplicate-attendance rules still apply. Supports the `Idempotency-Key` header. - [Get a check-in](https://docs.1club.ai/api-reference/check-ins/get-a-check-in.md) - [List classes](https://docs.1club.ai/api-reference/classes/list-classes.md): Returns the organization's class occurrences, ordered by start time. One row is one occurrence - a weekly class materializes a row per session, linked by `recurrenceId` and `occurrenceIndex` - so a row's `id` is what a booking's `classId` points at. - [Create a class](https://docs.1club.ai/api-reference/classes/create-a-class.md): Creates one class occurrence. Times must be ISO 8601 instants with an explicit offset. Supports the `Idempotency-Key` header. - [List a class's roster](https://docs.1club.ai/api-reference/classes/list-a-classs-roster.md): Returns who is booked into one class occurrence, whether they were checked in, and what they paid - the roster, from the class side. This is the answer to "two groups run at 10:00, who is in which": every attendee holds their own booking row against this class's id. - [Get a class by ID](https://docs.1club.ai/api-reference/classes/get-a-class-by-id.md): Returns a single class occurrence. The class must belong to the organization the API key belongs to. Read its roster with GET /v1/platform/classes/{id}/bookings. - [Delete a class](https://docs.1club.ai/api-reference/classes/delete-a-class.md): Deletes one occurrence, or this and all future occurrences when `scope=all_future`. - [Update a class](https://docs.1club.ai/api-reference/classes/update-a-class.md): Updates one occurrence, or this and all future occurrences when `scope=all_future`. A recurring class defaults to `this_instance`, so a series-wide edit must ask for it explicitly. - [Get club details by slug](https://docs.1club.ai/api-reference/clubs/get-club-details-by-slug.md): Returns club details including amenities, rating, and images. The club must belong to the organization associated with the API token. - [List and search contacts](https://docs.1club.ai/api-reference/contacts/list-and-search-contacts.md): Returns the organization's contacts ordered by name, excluding archived ones. Use `search` to match on name, email, or phone - matching is case-insensitive and cross-script, so `ivan` also matches `Иван`. Resolve a customer here and pass the returned `id` as `contactId` when creating a booking. - [Create a contact](https://docs.1club.ai/api-reference/contacts/create-a-contact.md): Creates a contact in the organization. At least one of `email` or `phone` is required so the person stays reachable and findable. Creating a contact whose email already exists returns 409 - search first, then reference the existing id. Supports the `Idempotency-Key` header. - [Get a contact](https://docs.1club.ai/api-reference/contacts/get-a-contact.md): Returns a single contact by its 1club id. - [List content](https://docs.1club.ai/api-reference/content/list-content.md): Returns content for the organization. By default this is the public view: published items with `Public` visibility, the same thing a website visitor could see. To manage content you need the rest of it - pass `status=all` for drafts and `visibility=all` for member-only and private items. Both requir… - [Create content](https://docs.1club.ai/api-reference/content/create-content.md): Creates a post, FAQ, document, block or how-to guide. Send the body as either `contentBlocks` (Editor.js blocks, what the admin editor writes) or `contentHtml` - not both. A `block` created here is what a website `block` section renders: reference it by the slug this returns. The slug is derived fro… - [Get published content by slug](https://docs.1club.ai/api-reference/content/get-published-content-by-slug.md): Returns a single published, publicly-visible content item by slug - the public view. Use the list endpoint with `status=all` to reach drafts. - [Delete content](https://docs.1club.ai/api-reference/content/delete-content.md): Permanently deletes a content item. A website `block` section still referencing its slug will render nothing, and a `document` with signatures against it should be taken out of use with `status: draft` instead - deleting it takes the signed text with it. - [Update content](https://docs.1club.ai/api-reference/content/update-content.md): Updates a content item by id - the numeric `id` from the list endpoint, not the slug. Only the fields you send change. `tags` and `images` replace their arrays wholesale. Switching `status` to `draft` takes the item off the public site without deleting it. - [List and search instructors](https://docs.1club.ai/api-reference/instructors/list-and-search-instructors.md): Returns the organization's active instructors. Use `search` to match on name - case-insensitive and cross-script, so `maya` also matches `Мая`. Resolve a coach here and pass the returned `id` as `instructorId` when creating a booking. `isBookable` is a hard requirement for that: an instructor who do… - [Get an instructor](https://docs.1club.ai/api-reference/instructors/get-an-instructor.md): Returns a single active instructor by its 1club id. - [Describe the API key's organization and granted scopes](https://docs.1club.ai/api-reference/account/describe-the-api-keys-organization-and-granted-scopes.md): Returns the organization the API key belongs to, the scopes granted to the key, and the catalog of resources/actions the platform API exposes. Requires a valid API key but no specific scope - use it to verify a key and discover what it can access. - [List media](https://docs.1club.ai/api-reference/media/list-media.md): The organization's media library, newest first. Pass `search` to match by name or alt text, which is how you find the URL for an image to put on a website section - never invent an image URL. A `search` returns the best matches ranked by relevance rather than a page of results, so `offset` does not… - [Register a file in the media library](https://docs.1club.ai/api-reference/media/register-a-file-in-the-media-library.md): Adds an already-hosted file to the library so website sections and content can reference it. The API does not accept file uploads - upload to your image host first (the admin editor uses Cloudinary) and register the resulting URL here. Idempotent per URL: registering one the organization already has… - [Get one media item](https://docs.1club.ai/api-reference/media/get-one-media-item.md) - [Delete a media item](https://docs.1club.ai/api-reference/media/delete-a-media-item.md): Removes the item from the library **and deletes the file from Cloudinary**. This cannot be undone, and any website section or content item still referencing the URL will render a broken image - check before deleting. Needs its own `media:delete` scope for that reason; `media:write` alone is not enou… - [Update media metadata](https://docs.1club.ai/api-reference/media/update-media-metadata.md): Changes the name, alt text or caption. The file itself and its URL are immutable - register a new item to replace a file. Alt text is worth filling in: it is what screen readers announce, and it is searched alongside the name when finding an image to place. - [List memberships](https://docs.1club.ai/api-reference/memberships/list-memberships.md): Returns the organization's memberships, most recently started first. Filter by customer, plan, or status to find the one you need. - [Create a membership](https://docs.1club.ai/api-reference/memberships/create-a-membership.md): Puts a customer on a plan. The plan is snapshotted onto the membership exactly as it is when sold in 1club - club, session allowance, coverage, billing frequency and renewal window - so the membership draws down booking allowance identically. - [Get a membership](https://docs.1club.ai/api-reference/memberships/get-a-membership.md): Returns a single membership by its 1club id, including its remaining session allowance. - [Update a membership](https://docs.1club.ai/api-reference/memberships/update-a-membership.md): Changes whether the membership renews, when it ends, and whether it is active, paused, or cancelled. Cancelling stamps the cancellation date, as cancelling in 1club does. - [List and search membership plans](https://docs.1club.ai/api-reference/plans/list-and-search-membership-plans.md): Returns the organization's membership plans. Resolve a plan here, then pass its `planId` to POST /v1/platform/memberships - the plan carries its own price, joining fee, billing frequency and session allowance, so the sale does not restate any of it. - [Create a membership plan](https://docs.1club.ai/api-reference/plans/create-a-membership-plan.md): Creates a membership plan for the organization. Supports the `Idempotency-Key` header. - [Get a membership plan](https://docs.1club.ai/api-reference/plans/get-a-membership-plan.md): Returns a single plan, including what a membership on it costs and what it grants. Retired plans resolve here too - hiding them is the list's job, and a caller that just retired a plan still needs to read it back or undo it. - [Delete a membership plan](https://docs.1club.ai/api-reference/plans/delete-a-membership-plan.md): Delete a plan with no dependent records. Set `isActive` to false to retire a plan that is already in use - a retired plan is still readable by id, and `includeInactive=true` brings it back into the list. - [Update a membership plan](https://docs.1club.ai/api-reference/plans/update-a-membership-plan.md) - [List product categories](https://docs.1club.ai/api-reference/products/list-product-categories.md): Returns every product category in the organization, in display order - the tabs on the till and the sections of a shop page. Resolve a category here, then pass its `categoryId` when creating a product or filtering the catalogue. - [Create a product category](https://docs.1club.ai/api-reference/products/create-a-product-category.md): Adds a product category. Omit `sortOrder` and it goes to the end of the list, which is what you want unless you are rebuilding the whole ordering. Supports the `Idempotency-Key` header. - [Get a product category](https://docs.1club.ai/api-reference/products/get-a-product-category.md): Returns a single product category and how many products sit in it. - [Update a product category](https://docs.1club.ai/api-reference/products/update-a-product-category.md): Renames a category or moves it in the display order. Products in it are unaffected. - [List and search products](https://docs.1club.ai/api-reference/products/list-and-search-products.md): Returns the organization's products - everything it sells over the counter, from drinks to racket grips. `search` matches name and description as a substring, and `sku` and `barcode` exactly - a partial code matches nothing, since a scan code is only useful whole. - [Create a product](https://docs.1club.ai/api-reference/products/create-a-product.md): Adds a product to the catalogue. `name` and `price` are all that is required; everything else refines how it behaves at the till and on customer-facing surfaces. - [Get a product](https://docs.1club.ai/api-reference/products/get-a-product.md): Returns a single product, including its price, cost price, category, and stock-keeping codes. - [Update a product](https://docs.1club.ai/api-reference/products/update-a-product.md): Changes the fields you send and leaves the rest alone - nothing is required. Send `null` to clear a nullable field (`categoryId`, `barcode`, `costPrice`, ...); omit it to keep what is there. `images` and `features` are arrays and replace wholesale, so read the product first if you are adding to one. - [Get how many are left to sell](https://docs.1club.ai/api-reference/products/get-how-many-are-left-to-sell.md): Returns the number of units of a product that can be sold right now at each club. - [List transactions for the organization](https://docs.1club.ai/api-reference/transactions/list-transactions-for-the-organization.md): Returns transactions for the organization associated with the API token, filtered by transaction creation time and ordered by `createdAt` descending, then by id. Each bound is an ISO date-time, or a bare `YYYY-MM-DD` read as midnight UTC. `startDate` is inclusive and `endDate` is exclusive. When bot… - [Get a transaction by ID](https://docs.1club.ai/api-reference/transactions/get-a-transaction-by-id.md): Returns a single transaction. The transaction must belong to the organization associated with the API token. - [Get the website](https://docs.1club.ai/api-reference/website/get-the-website.md): Returns one website with its page list, layout, publish state and public URLs. Omit `siteId` for the organization's default website. `previewUrl` renders the unpublished draft, which is how you review edits made through this API before publishing them; `url` is what the public sees and only reflects… - [Update website-level settings](https://docs.1club.ai/api-reference/website/update-website-level-settings.md): Changes the website's name, theme behaviour and site-wide SEO defaults. Every field is optional; omitted fields are left alone. `supportedLocales` and `defaultLocale` are **organization-level** and need the additional `organization:write` scope. They also decide which languages the member portal, th… - [List the organization's websites](https://docs.1club.ai/api-reference/website/list-the-organizations-websites.md): Every website the organization owns, its default one first. Use this when the organization runs more than one site to find the `siteId` the other endpoints take. - [Get the section-type catalog](https://docs.1club.ai/api-reference/website/get-the-section-type-catalog.md): Every section type a page or layout may use, with its config fields, their allowed values, and authoring notes. Read this before composing sections: it is the machine-readable definition of what a `hero` or a `plans` block accepts, and section types are added over time. `content` types belong in a p… - [Get the website's custom CSS](https://docs.1club.ai/api-reference/website/get-the-websites-custom-css.md): Returns the site-wide custom stylesheet, or an empty string when none is set. - [Replace the website's custom CSS](https://docs.1club.ai/api-reference/website/replace-the-websites-custom-css.md): Sets the site-wide stylesheet, replacing it entirely - read `GET /css` first and send the whole thing back with your changes. Applied globally on the public site. Target sections with `.section-{type}` (`.section-hero`, `.section-footer`) and prefer theme variables such as `var(--primary-color)` so… - [List the website's pages](https://docs.1club.ai/api-reference/website/list-the-websites-pages.md): Every page on the site with its section types and SEO fields, but not the section bodies - fetch one page for those. - [Add a page](https://docs.1club.ai/api-reference/website/add-a-page.md): Creates a page on the draft. `slug` becomes its URL path segment and must be unique on the site; it is lowercased and stripped of surrounding slashes. Adding a page does not link to it - update the header's `navItems` and the footer's links afterwards, or visitors will never find it. - [Get one page](https://docs.1club.ai/api-reference/website/get-one-page.md): A single page with its full section list, config and translations. - [Update a page](https://docs.1club.ai/api-reference/website/update-a-page.md): Updates a page on the draft. Omitted fields are left alone, so this doubles as a partial update. `sections`, when present, **replaces the entire list** - which is the intended way to rebuild a page: one request that either applies whole or fails whole, rather than a sequence of per-section calls tha… - [Delete a page](https://docs.1club.ai/api-reference/website/delete-a-page.md): Removes a page from the draft. A website must keep at least one page, so the last one cannot be deleted - delete the website itself instead. The homepage cannot be deleted while other pages remain - make another page the homepage first. Remember to drop the page from the header and footer links afte… - [List publish history](https://docs.1club.ai/api-reference/website/list-publish-history.md): Releases newest first. The one with `isActive: true` is what the public site is serving; its id is what `POST /releases/{releaseId}/rollback` takes to undo a publish. - [Publish the website](https://docs.1club.ai/api-reference/website/publish-the-website.md): Makes the current draft live. Until this is called, edits made through this API are invisible to the public - this is the one endpoint that changes what visitors see, which is why it needs `website:publish` rather than `website:write`. `amend` (the default) overwrites the active release in place, so… - [Add a section to a page](https://docs.1club.ai/api-reference/website/add-a-section-to-a-page.md): Appends a section, or inserts it at `position`. A position past the end appends rather than failing. For rebuilding a page, prefer `PUT /pages/{slug}` with the full `sections` array - it is one request instead of many, and cannot leave the page half-built. - [Remove a section from a page](https://docs.1club.ai/api-reference/website/remove-a-section-from-a-page.md): Deletes the section at `index`. Later sections shift down by one, so re-read the page before deleting another. - [Update a section's config](https://docs.1club.ai/api-reference/website/update-a-sections-config.md): Merges the given fields into the section's existing config; fields you do not send keep their current values. Array fields are replaced wholesale, so send the whole array when changing one entry. `index` is the section's 0-based position as returned by `GET /pages/{slug}`. Indexes shift when section… - [Update the site header or footer](https://docs.1club.ai/api-reference/website/update-the-site-header-or-footer.md): The header and footer are site-level and render on every page. Config is merged into what is there, creating the slot if the site has none. The link arrays (`navItems` on the header, `linkCategories`/`links` on the footer) **replace** rather than merge - read the current layout from `GET /v1/platfor… - [Roll back to an earlier release](https://docs.1club.ai/api-reference/website/roll-back-to-an-earlier-release.md): Restores a previous release: its content becomes the draft and is published as a new version, so the rollback is itself recorded rather than rewriting history. Use `GET /releases` to find the id. This discards unpublished draft edits - the draft is overwritten with the release's content. - [Changelog](https://docs.1club.ai/changelog.md): New features and improvements in 1club. ## OpenAPI Specs - [openapi-platform](/openapi-platform.json)