POST /v1/users/mini-game-streak-stats and POST /v1/mini-game-logs/by-email first. Send all six required fields only when a correction is approved.gameId, email, spin_op, spin, streak_op, streak. Operators: overwrite, add, subtract.Authorization: Bearer <COMMUNITY_API_KEY>. Intended permission is customerSuccess. Keep the key server-side.500 instead of JSON 400. Stop if the gateway returns HTML.wheels: [], so this pass had no gameId to send. Do not invent the 200 envelope.POST /v1/users/mini-game-streak-stats with the same email.POST /v1/mini-game-logs/by-email and look for admin-updated if that action is present.| Status | When | Recovery |
|---|---|---|
HTML 500 | Incomplete required set | Stop. Send all six fields only after approval. |
401 | Missing or invalid Bearer token | Add a valid community key. |
500 without reading current state first. Duplicate add calls change balances again. There is no idempotency key./v1/mini-game-logs/update-wheel-info.spin_op and streak_op are independent.curl --location 'https://adss-integration.returning.ai/apis/v1/mini-game-logs/update-wheel-info' \
--header 'Content-Type: application/json' \
--data-raw '{
"gameId": "<gameId>",
"email": "member@example.com",
"spin_op": "add",
"spin": 2,
"streak_op": "overwrite",
"streak": 10
}'{}