REST API: games

GET /games

Lists published and beta games. Optional ?category=puzzle and ?q=search. No authentication needed.

{
  "ok": true,
  "data": { "games": [ { …game… } ] },
  "meta": { "count": 12, "categories": { "arcade": 5, "puzzle": 7 } }
}

GET /games/{slug}

One game. With a player token the response adds is_favorite.

{
  "slug": "target-rush",
  "name": "Target Rush",
  "tagline": "Thirty seconds. Hit every target. Miss nothing.",
  "description": "…",
  "category": "arcade",
  "tags": ["mouse", "touch"],
  "version": "1.0.0",
  "orientation": "any",
  "players": { "min": 1, "max": 1 },
  "leaderboard": { "enabled": true, "order": "desc", "unit": "points" },
  "save_slots": 1,
  "requires_premium": false,
  "status": "beta",
  "author": "AllGame Club",
  "released_at": "2026-10-01",
  "cover_url": "https://allgameclub.com/play/target-rush/files/cover.svg",
  "play_url": "https://allgameclub.com/play/target-rush",
  "stats": { "plays": 1240, "playtime_hours": 86.5 }
}

POST /games/{slug}/favorite

Toggles the favorite flag for the authenticated player. Returns { is_favorite }.

GET /status

Health check: version, server time, number of games, players online.

Last updated October 11, 2026.