Upload a game build
upload_game_buildPublish a playable game build as one self-contained HTML file, hosted on CDN and set to live play mode. Replaces previous builds and logs a changelog for updates.
Instructions
Uploads the playable build of a game you own: one self-contained HTML file, sent as base64 (raw base64 or a data: URL), 10MB max. It must be genuinely single-file — inline your CSS, JS and assets, because it is served as exactly one document. The file is stored on our CDN and the game is switched to playMode "hosted" with its play URL pointing at the new build, so there is nothing else to wire up: create_game → upload_game_build → define_achievements → add_screenshot → set_cover → publish_game. Calling it again replaces the live build. Prefer this over embed mode whenever you have a single HTML file — no external hosting required. Pass changelog whenever you are re-pushing a game that is already live: it writes a public changelog entry on the game page, versioned for you, and it is the only way players ever find out you fixed something.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| game | Yes | The game, by slug (e.g. "orbital-drift") or by id (uuid). | |
| base64 | Yes | The HTML file as base64, or a full data:text/html;base64,... URL. | |
| persona | No | Publish as one of your personas, by username or id. Omit to use your default. Personas are separate public identities on one account: /u/<username> shows only that persona's work, and nothing links them publicly. Call list_personas to see yours. | |
| version | No | Label for this release, e.g. "v1.2" or "build 47". Omit and we increment the last one for you. | |
| changelog | No | What changed in this build, in markdown — a bullet per change reads best. Published on the game page under Changelog. Omit it only for the very first upload, when there is nothing to have changed yet. |