Memberships & Tier
List memberships across orgs and apps, view tier, switch the active membership, and read tier history.
Memberships & Tier
A user can hold more than one membership across organizations and apps. These endpoints list those memberships, resolve the one that applies in the current app context, expose the current tier and its history, and let the session switch which membership is active.
All requests are authenticated with a Bearer JWT and require the X-App-Id header. Use the
X-Environment header to target the sandbox.
The single active membership is documented separately in Get Current Membership —
GET /v1/users/membership. The endpoints below cover everything else.
Membership within app context
GET /v1/users/membership/app
Resolve the user's membership within the currently active app. Where
GET /v1/users/membership returns the session's active membership, this variant scopes the
result to the app resolved from the X-App-Id header.
No parameters. Uses the JWT and X-App-Id header.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/users/membership/appSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/users/membership/app' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
List all memberships
GET /v1/users/memberships
Return every membership the user holds across organizations and apps. Use this to render a membership picker or to find the identifier of a membership before switching to it.
No parameters. Uses the JWT and X-App-Id header.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/users/membershipsSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/users/memberships' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Cross-app membership summary
GET /v1/users/memberships/summary
Return an aggregate view of the user's memberships — points, tiers, and counts rolled up across apps. Suitable for a single "wallet" screen that summarizes standing without listing each membership in full.
No parameters. Uses the JWT and X-App-Id header.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/users/memberships/summarySandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/users/memberships/summary' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Current tier
GET /v1/users/membership/tier
Fetch the current membership tier for the session's active membership.
No parameters. Uses the JWT and X-App-Id header.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/users/membership/tierSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/users/membership/tier' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Tier change history
GET /v1/users/membership/tier/history
Return the history of tier changes for the user — promotions, downgrades, and the points at which they occurred.
No parameters. Uses the JWT and X-App-Id header.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/users/membership/tier/historySandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/users/membership/tier/history' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Switch active membership
POST /v1/users/membership/switch
Change which membership is active for the current session. Subsequent membership-scoped requests resolve against the newly selected membership.
A request body is required. The body identifies the target membership (see the identifiers
returned by GET /v1/users/memberships); the spec does not constrain its shape further.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/users/membership/switchSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/users/membership/switch' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{}'