Skip to main content
POST
Adjust a membership's sessions

Authorizations

Authorization
string
header
required

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

Headers

Idempotency-Key
string

Retry-safe key; a repeat of the same request replays the first response

Maximum string length: 255

Path Parameters

id
integer
required

Body

application/json
units
number
required

Sessions given (positive) or taken back (negative); hours on an hourly pass. Not zero.

Required range: -1000 <= x <= 1000
reason
string
required

Why, recorded with the adjustment

Maximum string length: 500
allowanceId
integer

Which allowance, on a membership with several; required there

Response

The adjusted 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. With several allowances, their total.

usesRemaining
number | null

Sessions left; with several allowances, their total.

usesAdjustment
number

Sessions staff gave (or took back) this allowance period, on top of maxUses. Why usesRemaining can exceed maxUses.

allowances
object[]

Its session counters: one for an ordinary membership, several for one sold from a plan like 5 Yoga + 4 Pilates, each with its own balance.

sessionLengthMinutes
integer | null

How long one visit lasts at the door, in minutes from its first entry; null until the end of the club's day.

shareWithAccount
boolean

Whether the people on the holder's account can use it too.

commitmentEndsAt
string<date-time> | null

When the member's minimum commitment is met - they cannot cancel online before it; null for none. Counted from the start date and pushed out by pauses.

commitmentMonths
integer | null

The term agreed, in months; null when there is none.

createdAt
string<date-time>