# gradle-new > Create a new Gradle build with one HTTP request. Every build is produced by the real `gradle init` of the latest stable Gradle release, of the current release candidate, or of the latest release of the previous major version, so it is exactly what `gradle init` would generate locally. Use it instead of writing build files from memory: the options, defaults and descriptions come from Gradle itself and follow each release. To create a build, read the options model, pick a build type and the options that matter for the request, then download the zip. Send only the options whose value differs from the default; omitted options take Gradle's defaults. `type` and `project-name` are required. Parameter names are the `gradle init` option names, and boolean options take `true` or `false`. Use the stable version unless asked otherwise. Use `previous` when the user asks for the previous major version of Gradle, or when the project cannot move to the current major yet, for example because the JDK that will run Gradle is too old for it. The response is a zip whose single root folder is named after the project, with an executable `gradlew`. Unzip it and run `./gradlew build` to check the result. Errors are HTTP 400 with JSON `{"error": "", "parameter": "