/api/games/* play routes (daily spin, guess-the-player, live arena) and from Game Center /api/events/*. Those stay documented under Games.
What you get
- A public additive catalog that marks unplayable games instead of hiding them.
- Authenticated session verbs: start, action, complete, forfeit.
- A native registry so a new game is a folder plus
registerGame, not a new Expo route file. X-Client-Versionon every engine call so an outdated binary can show Update required.
Sections
Client
Registry, GameShell, HUD, catalog join, and launch routes.
Server
/api/v1/engage/games/*, session statuses, awards, and error codes.Modularity
How you add a game without editing a shared union.
API guide
Endpoint map and coverage status for the engine HTTP surface.
Shipped vs legacy
Native 1.25.9 registers the keys above in
lib/games/register-shipped.ts. The server catalog can still list additional keys. An unknown key is a first-class Update required / Not in this build state, not a crash. How-to-Play walkthroughs stay local and must not spend a daily attempt. locker-singularity spends buzz on its ledger routes instead of a daily session.
Engine routes are in generated OpenAPI under the
Game Engine tag. Use the API guide plus the Endpoints playground for the HTTP surface.