Create a product
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.
clubId, categoryId, brandId, taxRateId and revenueAccountId must reference rows in this organization - a 400 names the first one that does not. A barcode or sku already claimed by another product, package, plan or access card is a 409: both are scannable at the till, so a scanned code has to mean exactly one thing.
Creating a product does not give it stock - putting units on the shelf is done in the admin portal. Supports the Idempotency-Key header.
Authorizations
Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.
Headers
Retry-safe key; a repeat of the same request replays the first response
255Body
Fields accepted when creating a product. Only name and price are required; the defaults shown are what an omitted field becomes.
255x >= 05000x >= 0Limit the product to one club; null sells it everywhere.
From GET /v1/platform/product-categories
Stock-keeping code. Scannable at the till, so it must be unused by any other product, package, plan or access card in the organization.
64Must be unused by any other product, package, plan or access card in the organization.
64Public, Member_only, Private Replaces the whole list. Use already-hosted URLs.
Replaces the whole list.
Response
Product created
A product the organization sells over the counter.
Club the product is sold at; null when available organization-wide.
Product category it is grouped under.
Stock-keeping code, if the gym uses one.
Scanned at the till. Unique across everything scannable in the organization.
What a customer pays, in the organization currency.
What the gym pays for it; null when not tracked. Never shown to customers.
False for a product taken off the till without deleting its history.
Who may see it on customer-facing surfaces.
Public, Member_only, Private Per-product VAT rate; takes precedence over the revenue account default at the till.