The two settlement modes
Member wallet
The default. Each VIP has their own wallet. You fund a VIP by calling
POST /v1/wallet/credit, which draws your pool down. When that VIP redeems,
the points come out of their wallet.Use this when you want per-VIP balances that your users can see and you are
happy for Expys to hold them.Org pool
No per-VIP balances at all. You never call
/v1/wallet/credit. When a VIP
redeems, the points are debited straight from your org pool, and the booking is
attributed to that VIP for reporting.Use this when you already run your own loyalty balance and do not want to
mirror or reconcile it with ours.Your settlement mode is configured by Expys, not self-serve. Ask your Expys
contact to change it. Read your current mode from
GET /v1/balance.What org-pool mode changes for you
- You never credit wallets.
POST /v1/wallet/creditis not part of your integration. GET /v1/walletreports zero for your VIPs, because there is no member wallet in play. That is expected, not a bug - the cleanest setup is simply not to grantWALLET_READon your key.- No per-redemption webhook fires. There is no wallet movement to report, so
neither
wallet.creditednorwallet.debitedis emitted. PollGET /v1/balance, or subscribe toorg.points.low, to track the pool. - Analytics still work.
GET /v1/analytics/offersand/v1/analytics/timeseriesreport pool-settled spend exactly as they report wallet-settled spend.
Reading your balance
GET /v1/balance is server-side only: it needs an Org-API-Key with the
BILLING_READ scope. An organization with no pool yet returns zeros rather than an
error.
Prepaid and postpaid
Both are the same mechanism, controlled bycreditLimit:
- Prepaid (
creditLimit: 0, the default): the pool can never go negative. The moment it cannot cover a redemption, that redemption is refused. - Postpaid (
creditLimit > 0): you may overdraw to-creditLimit, and are invoiced for the negative balance at period close. A redemption that would take you past the limit is still refused.
balance + creditLimit.
Funding the pool
Enterprise grant
For a signed contract paid by invoice or wire, our team grants your pool an
allotment directly - no card needed. Ask your Expys contact.
Self-serve purchase
Buy points any time from the portal Billing page. You are taken to Stripe to
pay; your balance updates as soon as payment is confirmed.
Webhooks
Subscribe to keep your systems in step with the pool:
See Webhooks for delivery, signing, and retries.
Handling an empty pool
402 surfaces on POST /v1/wallet/credit in member-wallet mode, and on
POST /v1/redemptions in org-pool mode. Either way it is all-or-nothing: no points
move, and in org-pool mode no booking is created. Top the pool up (grant or
purchase) and retry.
In member-wallet mode, an organization with no pool at all is ungated -
distributions are free until your first top-up sets the pool up. Org-pool mode is
never ungated: without a funded pool, every redemption is refused.