# /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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.usewinter.com/platform-api/createproject.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
