One command
Grab a sandbox Org-API-Key from the developer portal and run the committed smoke script from the monorepo root:POST /v1/auth/exchange- mint a member token for a VIPPOST /v1/wallet/credit- fund the VIP with points (server-side)GET /v1/offers- browse the seeded catalogPOST /v1/interests- register interest, which opens the concierge conversationPOST /v1/redemptions- redeem from that interestGET /v1/wallet/transactions- read the wallet ledgerGET /v1/conversations- list the member’s concierge conversationsGET /v1/terms- which legal documents the member still owes
The VIP journey
The whole arc in order, with the endpoint behind each step and who calls it.
EXPYS_BASE_URL or EXPYS_EXTERNAL_USER_ID if you need to.
Step by step
1
Exchange a member token
Your backend presents the Org-API-Key and an
externalUserID; the app never
holds the key.2
Fund the VIP
A points-priced redemption is paid from the VIP’s wallet, so credit some points
first (a server-side, machine-only call).
3
Browse, express interest, redeem, and read back
With the member token, browse the catalog, register interest in the first
points-priced experience, redeem from that interest, then read the wallet and
conversations.Registering interest first is optional —
POST /v1/redemptions works on its own —
but it is the flow the concierge desk actually runs, because it opens the
conversation before any points move.Concierge replies in the sandbox
You can test the concierge loop end to end without anyone on our side being paged. A message sent into a sandbox conversation is never forwarded to our Ops team; instead a sandbox concierge bot replies automatically, and that reply streams back to you overGET /v1/conversations/{id}/stream exactly like a human concierge
message. See Conversations for the streaming details.
None of this touches billing or pages a human - the sandbox is free and
isolated. When you go live, the same calls run against your own catalog and a
real concierge. See Going live.