Exchange a fan experience launch token

Exchanges the opaque experience token an app's fan-experience surface received in its iframe URL for the resolved experience, the fan's identity, and the fan's entitlement to the experience.

The token is bound to the app that owns the experience: a token minted for one app cannot be exchanged with another app's credentials (403).

Returns 400 if the token is invalid or expired, and 404 if the experience no longer exists.
post/experiences/token/exchange

Headers

X-Fanvue-API-Versionstring required
Example:2025-06-26

API version to use for the request

Request body

tokenstring required

The opaque experience launch token appended to the surface iframe URL.

Example request

{
  "token": "exp_2f1c…"
}

Response

The resolved experience, fan identity, and entitlement

fanUuidstring uuid required
walletBalanceinteger nullable required

The fan's Fanvue wallet balance in minor units (cents, USD), so you can show their spending power as the surface loads. null when the wallet is not available to this fan at all, which is not the same as an empty balance — do not offer a wallet charge then. A snapshot, never an authorisation: charge with POST /experiences/{experienceUuid}/action-purchases and read the fresh balance off that response.

Example response

{
  "walletBalance": 2500
}

Changes