Uninstall a kit from a Game Kit project (gkp_…). Remove a kit the user installed (addedBy user in gripforge_gamekit_installed) only when the user asks. game.engine (the engine of the game) and the default kits (ui.menu, input.remap, settings.graphics, ui.prompts, ui.endscreen, save.persistence, audio.core, i18n.text, ui.theme, input.virtualpad, display.fullscreen, asset.preload, asset.cache, ai.navigation on web, addedBy default) are removed only when the user explicitly asks — never to "clean up". A kit other kits depend on, and game.engine always, is not removed by a first call: it answers 409 (kit_in_use, or confirm_required) with details { dependents, confirm } — nothing applied; show the user the dependents, then call again with with_dependents=true and confirm=<token> to remove the kit and its dependents together (the token is bound to the project revision). dry_run=true returns the plan, the dependents and the token without writing. force=true (legacy) removes it and disables its dependents instead; prune=true also drops the dependencies nothing else needs (never game.engine nor a default kit). When the GAME serves what the kit provided (its own terrain for world.ground, its own camera…: a Godot, Unity, Unreal or Bevy project attached with game-attach), pass host_provides=["world.ground"] (or [] for every capability the dependents need from it, listed in details.hostable of the 409): the kit goes ALONE, its dependents stay, and the project declares those capabilities served by the game (hostProvides) — offer this to the user before removing dependents. Returns { applied, removed[], dependents, project }. 0 credits.
Connector
Destructive
No auth