Save application form fields
update_application_formSave form fields of a game. Partial save: a field you leave out keeps its value; enum arrays are replaced whole. Does not submit anything to moderation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| link | No | Where the game is already published elsewhere, if it is. Moderation uses it to confirm the game is authentic; an empty string clears it. | |
| agent | No | The coding agent the game was made with: claude-code (Claude Code), codex (Codex), cursor (Cursor), antigravity (Google Antigravity), opencode (OpenCode), gemini-cli (Gemini CLI), kimi-code (Kimi Code Agent), grok-build (Grok Build), workbuddy (WorkBuddy), zcode (ZCode), claude-app (Claude app (chat / Desktop)), chatgpt (ChatGPT (chat)), other (Other), none (No AI agent) | |
| model | No | The model behind that agent: claude-fable (Claude Fable), claude-opus (Claude Opus), claude-sonnet (Claude Sonnet), claude-haiku (Claude Haiku), openai-astra (OpenAI Astra), openai-sol (OpenAI Sol), openai-luna (OpenAI Luna), openai-terra (OpenAI Terra), gemini-pro (Gemini Pro), gemini-flash (Gemini Flash), grok (Grok), kimi (Kimi), qwen (Qwen), deepseek (DeepSeek), glm (GLM), other (Other) | |
| story | No | The developer’s note to players about the game, 150 to 900 characters, 2 to 6 sentences. One plain line on what the game is, then one or two real things from making it: where the idea came from, a mechanic that took a few tries, something that surprised you, what got cut. Not a store description: no selling, no feature lists, don’t repeat `description`. End with a concrete question a player can answer after one round (is the third level too mean?), not "let me know what you think". Optional, but it is what gets players talking: write it before the game’s first sandbox publication and whenever get_application shows `story` empty; rewrite it only when the game itself changed. Always write it in English, even when you talk to the developer in another language: translate, don’t switch. Write as the developer posting in the game’s chat, not as an announcement: first person, short sentences, contractions, plain words, one or two short paragraphs. Plain text only: no headings, lists, markdown, links, e-mail addresses or hashtags, and one emoji at most. Avoid ad words and AI tells: immersive, dive into, embark, journey, unleash, elevate, seamless, thrilling, "whether you’re…", "not just X but Y", lists of three, em dashes. Don’t open with the game’s title, "Welcome to" or "Hey everyone". Use only what you know from the game and from building it; never invent a backstory, feelings or numbers. Non-Latin letters and links are refused: fix the text or leave it out, and never let it block the rest of the call. | |
| title | No | The game’s title in English — Latin letters, digits, spaces and punctuation, up to 120 characters. Shown to players and moderators as-is. | |
| engine | No | The engine the game was built with: unity (Unity), construct3 (Construct 3), cocos-creator (Cocos Creator), defold (Defold), godot (Godot), gdevelop (GDevelop), game_maker (Game Maker), scratch (Scratch), js (plain JavaScript, no engine) | |
| social | No | The game has social sharing or social interactions. | |
| modelId | No | The exact model behind that agent, as your runtime names it, e.g. claude-opus-5-5 or anthropic/claude-opus-5.5. Stored lowercased, without the vendor prefix or a :variant suffix. When the id names a known family, that family is stored as model, over the one sent. | |
| category | No | The game’s category, by its core mechanic — what the player spends most of the time doing, not its theme. Before setting or changing it, read get_game_categories: what each value means, which games are like it and which are not, and how to choose between two. Never guess from the title. | |
| isVertical | No | The game supports portrait orientation. Submitting a game that supports ANDROID or IOS needs at least one of isHorizontal and isVertical. | |
| description | No | A short description of the game: the main idea, the genre and what makes it unique. Submitting needs at least 100 characters; a shorter draft still saves. | |
| multiplayer | No | The game has multiplayer. Turning it on is refused (403 MODERATION_UNAVAILABLE) while get_submission_state answers `catalogAvailable: false`. Turning it off is always accepted. | |
| isHorizontal | No | The game supports landscape orientation. Submitting a game that supports ANDROID or IOS needs at least one of isHorizontal and isVertical. | |
| leaderboards | No | The game has leaderboards — a feature declared on the form. The leaderboards themselves are configured with list_leaderboards and create_leaderboard. | |
| applicationId | Yes | Application (game) id, as returned by list_applications | |
| howToPlayText | No | The main objectives, how to win and the primary control keys. Submitting needs at least 100 characters; a shorter draft still saves. | |
| supportedDevices | No | The devices the game supports. Replaced whole. Submitting needs at least one. Submitting a game that supports ANDROID or IOS needs at least one of isHorizontal and isVertical. | |
| excludedPlatforms | No | Partner platforms the game must not be distributed on. Replaced whole; an empty list excludes none. | |
| supportedLanguages | No | The languages the game is localized into. Replaced whole. Submitting needs at least one. | |
| distributeEverywhere | No | Playgama may distribute the game on any partner platform where it is not already published. |