Which operations are server-side
Every operation below requires the Org-API-Key. A member token on any of them returns403.
Why the boundary exists
The two credentials carry very different authority, and that difference is the whole reason for the split.Org-API-Key
A long-lived secret with full authority over your org: it can mint tokens
for any member, move points, change tiers, and read every member’s data. It
must stay on your backend.
Member token
A short-lived credential scoped to a single member. If it leaks it
exposes one member for a few minutes; it cannot touch other members or any
org-wide operation.
exchangeToken.
Member mode vs server mode
Construct the server client
Initialize the SDK with the Org-API-Key as its token. The server-mode methods are additionally guarded client-side against being called with a member token.curl
The
403 is enforced on the server: even if a member token reached one of
these endpoints, the API rejects it. The client-side guard in the SDK is a
second layer that fails fast before the request is sent.Security checklist
The Org-API-Key is read only on your backend, never bundled into an app.
The app receives only member tokens (from
exchangeToken), with their expiry.Server-side calls - mint, credit, member management, analytics, webhooks - originate from your backend.
The Org-API-Key is stored as a backend secret, not in client-shipped environment variables or source.
If an Org-API-Key is ever exposed, rotate it immediately - it carries full org authority.
Server-side pages
Authentication
Exchange the Org-API-Key for short-lived member tokens and refresh them.
Members and tiers
Upsert profiles and tiers, read member summaries, and remove members.
Points and wallet
Mint and credit points into a member’s wallet from your backend.
Analytics
Program-wide rollups: summary, per-offer, and timeseries.
Webhooks
Register signed, retried event deliveries to your backend.