curl and assume your API base URL is https://playsmart-gateway-1w8ko864.uc.gateway.dev.
Register a player
Send a A successful registration returns HTTP
POST request to /auth/register with the player’s email address, password, and a unique device identifier. The deviceId you provide is stored as the player’s auth_user_id and is used as the JWT subject claim in all future tokens.201 with an access token, a refresh token, and the new user record:Access tokens expire after 30 days. Refresh tokens expire after 180 days. Store both securely on the device and use the refresh token to re-authenticate when the access token expires.
Authenticate subsequent requests
Include the If the token is missing or invalid, the API returns
access_token from registration (or login) as a Bearer token in the Authorization header on every protected request:401 UNAUTHORIZED. If the token’s sub claim does not match the user_id in the request body (on ingest endpoints), the API returns 403 FORBIDDEN.Fetch game configuration
Retrieve the list of active games from The response contains an array of game objects under You can filter by bundle ID using the
/v1/games. This endpoint does not require authentication and returns configuration your client needs to initialize gameplay, including store links, ad settings, and version requirements.data:bundle_id query parameter: GET /v1/games?bundle_id=com.playsmart.coindash.Track an analytics event
Send a batch of events to A successful ingest returns HTTP Valid event
/ingest/events. This endpoint requires a Bearer token. The user_id in the request body must match the sub claim in your access token.202:type values are: AppOpen, LevelCompleted, GameEnd, AdImpression, IAPPurchase, and Custom. For Custom events, include a customEventName string alongside the type.