Skip to main content
PATCH
Update a membership

Authorizations

Authorization
string
header
required

Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.

Path Parameters

id
integer
required

Body

application/json
status
enum<string>

Statuses the platform derives itself (expired, used, pending_payment) cannot be set here. Send status on its own - autoRenew and the allowance fields cannot be combined with it, because a status transition sets them itself. active only applies to a paused membership.

Available options:
active,
paused,
cancelled
cancelMode
enum<string>
default:end_of_period

Only valid with status: cancelled. Keep access until the paid period ends, or end it today.

Available options:
immediate,
end_of_period
resumeAt
string<date-time> | null

Only valid with status: paused. When the pause lifts by itself; must be in the future.

autoRenew
boolean
maxUses
number | null

Session allowance; null for unlimited

usesRemaining
number | null

Sessions left, for correcting a balance after a migration

Response

The updated membership

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.

membershipId
integer
membershipUuid
string<uuid>

Stable unguessable identifier. Prefer this over membershipId when storing a reference.

contactId
integer

Customer the membership belongs to

planId
integer
planName
string | null
clubId
integer | null

Club the membership is limited to; null when it applies organization-wide.

status
string

active, paused, cancelled, expired, used, pending, or pending_payment

startDate
string<date-time>
endDate
string<date-time> | null
renewalDate
string<date-time> | null
autoRenew
boolean
price
number | null
billingFrequency
string
maxUses
number | null

Session allowance snapshotted from the plan; null when unlimited.

usesRemaining
number | null
createdAt
string<date-time>