> For the complete documentation index, see [llms.txt](https://docs.usewinter.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.usewinter.com/platform-api/createproject.md).

# /createProject

Create a project from scratch!

Returns a Winter specific projectId that you can then use for the [front end integration](/front-end-integration/react.md#example)

## Create a project on Winter.&#x20;

<mark style="color:green;">`POST`</mark> `/createProject`

Authenticate with basic auth where the username is your API key, e.g.&#x20;

`curl -X POST https://winter-api.usewinter.com/createProject -u sk_live_abcd=:`

`await axios.post(url,{ BODY }, { auth: { username: 'sk_live_abcd=' }})`

#### Request Body

| Name                                                 | Type    | Description                                                                                                                                                                                                                                                                                                             |
| ---------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| email<mark style="color:red;">\*</mark>              | String  | The email associated with the API key -- this is the email that can log into the [dashboard](<https://business.usewinter.com >) later to edit the project.                                                                                                                                                              |
| contractAddress<mark style="color:red;">\*</mark>    | String  | The address of the contract on which Winter should call mint. For Solana projects, this is the candyMachine ID.                                                                                                                                                                                                         |
| contractABI                                          | String  | The ABI of the contract -- this is nullable for Solana but required for Eth and Polygon projects.                                                                                                                                                                                                                       |
| projectName<mark style="color:red;">\*</mark>        | String  | This will show up on your checkout.                                                                                                                                                                                                                                                                                     |
| brandImageURL<mark style="color:red;">\*</mark>      | String  | Address to an image or gif that will be presented on your checkout before the user mints an NFT.                                                                                                                                                                                                                        |
| mintFunction<mark style="color:red;">\*</mark>       | String  | Name of the mint function Winter should call on the smart contract.                                                                                                                                                                                                                                                     |
| tokenSymbol<mark style="color:red;">\*</mark>        | String  | One of: `ETH`, `MATIC`, `SOL`                                                                                                                                                                                                                                                                                           |
| mintFunctionParams<mark style="color:red;">\*</mark> | String  | <p>One of: </p><p><code>address,amount</code></p><p><code>amount,address</code></p><p><code>address</code></p><p><code>amount</code></p>                                                                                                                                                                                |
| sandbox                                              | Boolean | <p>True if you want to create a project in sandbox to test with fake payments. False if you want to create a live project! </p><p></p><p>Defaults to false. </p>                                                                                                                                                        |
| costPerMint                                          | Number  | Cost per mint in the token (ETH, MATIC, SOL) -- optional if given a contract price function to pull price from.                                                                                                                                                                                                         |
| maxNumberOfMints                                     | Number  | The max NFTs that can be purchased in one sale. If this is > 1, you \*must\* also set allowMultiplePurchases to `true`.                                                                                                                                                                                                 |
| ercType                                              | String  | Either `1155` or `721`                                                                                                                                                                                                                                                                                                  |
| isActive                                             | Boolean | <p>true for project active (can accept payments), false for project disabled (can not accept payments). When it is turned off/false the widget can still appear, but it will say "Can't mint right now".</p><p></p><p>Note: isActive is default false for production projects (sandbox=false)! You must turn it on!</p> |
| requireAddress                                       | Boolean | option to mint to a specific address, false for the checkout to also show the Winter wallet.                                                                                                                                                                                                                            |
| contractPriceFunctionParams                          | String  | <p>These are the param identifiers used to match the priceFunctionParams passed into the component/url. Make sure they are separated by a comma.   </p><p><code>ex: tier, tokenId, bundle</code></p>                                                                                                                    |
| contractPriceFunction                                | String  | This is the function on the smart contract that we can call to get the price of the NFT                                                                                                                                                                                                                                 |

{% tabs %}
{% tab title="200: OK If successful, you'll get a projectId in the response. " %}

```javascript
{
  "success": true,
  "project_id": 6736
}
```

{% endtab %}
{% endtabs %}
