What this endpoint does#
Returns a user's current spin-wheel availability and current streak status for the API key's community. Use it to answer what is true now: which active wheels are configured, how many unconsumed spins are available, whether the current mission is cleared, whether the user has spun during the current UTC day, and the current streak counters.Keep the Community API key on your server. This endpoint requires the customerSuccess permission. Do not expose the key in browser code, mobile bundles, URLs, logs, screenshots, or analytics.
Quick start#
{ "email": "member@example.com" }
email is required, must be a valid email address, and is matched case-insensitively. The API key determines community scope; do not send a community ID.Authentication and permission#
Send the Community API key as Authorization: Bearer <community-api-key>. The key must be active, must select the intended community, and must include customerSuccess. Keep it server-side. Missing or invalid authentication returns 401; a valid key without the permission returns 403 on this route.Complete examples#
The request above returns one synthetic configured-state example and one empty-configuration example below the response schema. The configured example demonstrates a wheel with one available spin and a current streak. The empty example returns wheels: [] and streaks: []; it is still a successful read.Success and readback#
data.wheels contains every active spin_the_wheel mini-game configured in the community. data.streaks contains the community's configured streaks. Array order is not a contract; match records by name.Wheel fields#
| Field | Meaning |
|---|
name | Configured wheel name. Treat it as configuration, not a stable programmatic ID. |
spins | Count of currently available spin-inventory records. Used, expired, or removed spins are not counted. |
missionCleared | true only when the latest non-expired mission activity for that wheel is completed. It resets when the mission period expires. |
spinToday | true when at least one spin result exists for this wheel between 00:00:00.000 and 23:59:59.999 UTC today. |
currentStreak | Current stored wheel streak. Returns 0 when no wheel stats exist. |
Streak fields#
| Field | Meaning |
|---|
name | Configured streak name. |
currentStreak | Current count stored for this streak; defaults to 0. |
missionCleared | Whether the most recent active, non-expired streak activity is completed. |
The endpoint recalculates this read model from current configuration and current records on each request. It does not mutate spins, streaks, missions, or rewards.Empty and zero states#
A successful response may contain empty arrays when the community has no active spin wheels or configured streaks. A configured wheel may legitimately return all zero/false values. Neither state proves that data exists in another community, and current zero values do not explain historical eligibility by themselves.Errors and recovery#
400: missing or invalid email.
401: missing, invalid, or expired authentication.
403: the key is valid but lacks customerSuccess.
404: no user can be resolved for the supplied email.
500: unexpected service failure.
Retry safety#
This endpoint is read-only and does not support or require an Idempotency-Key. Retrying does not consume spins or change streaks. The values are recalculated on every request, so a later successful retry may legitimately differ when a spin is earned, used, or expires between calls.Gotchas#
spinToday uses the UTC day, not the user's or broker's local timezone.
missionCleared, spinToday, spins, and currentStreak are independent signals.
Array order is not guaranteed; match by name.
Names come from mutable configuration and are not durable IDs.
Empty or zero state does not explain historical events; use the logs endpoint.
Next steps#
1.
Call this endpoint first for current availability.
2.
Match the requested wheel or streak by name; do not depend on array position.
4.
Compare timestamps in UTC and account for the configured mission period.
5.
Do not infer entitlement from trading volume or another business metric alone; the mini-game state is the authoritative read for current availability.