Client
A studio client with balances, compensations, and booking history.
GET /v1/clients,
which requires your secret API key. The
response contains personal data — treat it accordingly.
Only active clients are returned. Archived and blocked clients are excluded.
Two IDs
A client carries both. They are not interchangeable:idis the numeric client ID. This is what the credit and pass endpoints expect asclientId._idis the opaque ID used elsewhere in Zenamu.
Credit balance
bundles.credits reports the current balance and its expiry:
validToDate is null when the client holds no credits.
Entry pass balances
ReadpassBalances. It breaks the client’s active, non-expired entries down
per pass group:
numberOfEntries is the balance recorded on the group.
numberOfBlockedEntries counts entries tied up by a pending waitlist
reservation, and is released when that reservation resolves.
passGroupName is null for a studio’s original default group. The array is
empty when the client holds no active entries.
max(0, numberOfEntries - numberOfBlockedEntries).Make-up sessions
makeupSessions lists compensations the client can still redeem, each as a
validTo date. An empty array means none. Studios that do not use the
compensation feature always return an empty array.
Bookings
bookings.totalBookingsCompleted sums the client’s completed classes and past
workshops in this studio. A class counts once its reservation is marked
completed; a workshop counts once its date has passed and its order is paid or
awaiting payment. Canceled reservations do not count.
bookings.lastBookingCompletedDate is the later of the client’s last such class
and last such workshop, or null when there is none.
Consent and personal fields
marketingConsent is 1 when the client agreed to receive the studio’s
newsletters, 0 otherwise. Respect it — it is the studio’s legal basis for
contacting them.
clientBirthNumber is a national identification number and is null unless the
studio collects it. registrationDate is when the account was created, or when
the first order was placed for a client who never set a password.Numeric client ID. This is the value you pass as clientId when granting credits or passes.
Opaque client ID, used by other Zenamu surfaces.
National identification number, where the studio collects it.
When the account was created, or when the first order was placed for a client who never set a password.
Whether the client agreed to receive the studio's newsletters. 1 for granted, 0 otherwise.
Active entry-pass balances broken down per group. Empty when the client holds none. Summing numberOfEntries across the array gives the deprecated bundles.entries.numberOfEntries.
Compensations the client can still redeem.

