Create a membership
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.
paid records a payment against the External / API method with no gateway call; unpaid leaves the membership’s transactions outstanding. The total charged is the period amount plus any joining fee, both taken from the plan unless overridden. Collection and refunds stay with you.
When nothing is owed at all - a free plan with no joining fee, or an amount of 0 on such a plan - the membership is created active straight away rather than awaiting a payment that will never come.
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
Customer to give the membership to (from GET /v1/platform/contacts)
Plan to put them on
Defaults to now
Defaults to the plan's setting
The membership's own snapshot of the plan. Omit any field to take the plan's value; the admin Add membership dialog works the same way, so a negotiated sale is a normal case. Look the plan up first with GET /v1/platform/plans to see what you are overriding.
Response
Membership created
A customer's membership on a plan. The plan is snapshotted onto it at creation, so allowance and coverage behave exactly as they do for a membership sold in 1club.
Stable unguessable identifier. Prefer this over membershipId when storing a reference.
Customer the membership belongs to
Club the membership is limited to; null when it applies organization-wide.
active, paused, cancelled, expired, used, pending, or pending_payment
Session allowance snapshotted from the plan; null when unlimited.