> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Explore the APIs and test them live from the browser

This section provides a detailed guide for each of the APIs, with sample code and responses.

## Testing the APIs from the browser

The reference pages allow you to call the APIs directly from the browser. To get started:

1. Create a developer account on the [Staging](https://staging.crossmint.com/console) or [Production](https://www.crossmint.com/console) consoles. Read more about the environments [here](/introduction/platform/staging-vs-production).
2. Create an [API key](/introduction/platform/api-keys) from the `API keys` tab on the console, with the permissions required for the APIs you want to use.
3. From the page of your API of choice, insert the right API key in the authorization slot, introduce the different parameters, and call "Send".
4. (Optional) To call APIs in the production environment, find the API endpoint selector (`⌄`) next to the endpoint URL, and change it to `www.crossmint.com/api`.

The following guide will show you how to create a wallet and mint an NFT into it within 5 minutes. For this, make sure your API key has the scopes `wallets.create`, and `nfts.create`.

<AccordionGroup>
  <Accordion title="1. Creating Wallets from the API Reference">
    Follow the next steps to create a wallet within 5 minutes:

    <Steps>
      <Step title="Navigate to the Create Wallet page">
        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/create-wallet-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=79a7e7ed414bf13dab9fd052defd0ad6" alt="Navigate to create wallet endpoint screenshot with light theme" width="2500" height="826" data-path="images/api-reference/create-wallet/create-wallet-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/create-wallet-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=5b68709be08d0ea9dcc2f33b7390ff71" alt="Navigate to create wallet endpoint screenshot with dark theme" width="2500" height="826" data-path="images/api-reference/create-wallet/create-wallet-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Select the correct environment for the API key you created">
        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/env-url-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=679a82a1ce6d42642d3cfe14397a1d68" alt="Set environment URL screenshot" width="1230" height="304" data-path="images/api-reference/create-wallet/env-url-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/env-url-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=0cbb6bc4a58a6cc7b3295de8a527e6e8" alt="Set environment URL screenshot" width="1230" height="304" data-path="images/api-reference/create-wallet/env-url-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Input your API key into the Authorization section">
        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/api-key-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=bae5ad21b12c78d06ecf60a9e613d221" alt="Set x-api-key screenshot" width="1145" height="338" data-path="images/api-reference/create-wallet/api-key-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/api-key-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=eae82d7c446ad97cdd6dd68ae214ce93" alt="Set x-api-key screenshot" width="1145" height="338" data-path="images/api-reference/create-wallet/api-key-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Input the `body` parameters">
        You may add any additional properties. Each API reference page includes the full list of properties and admissible values.

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/body-params-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=0117822e54e97a91398462c169cb133c" alt="Set body params screenshot with light theme" width="1144" height="548" data-path="images/api-reference/create-wallet/body-params-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/body-params-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=6b8613afc06d50837ffed4db222e34d1" alt="Set body params screenshot with dark theme" width="1144" height="548" data-path="images/api-reference/create-wallet/body-params-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Send the request">
        Scroll back to the top of the page and click the blue `Send` button to trigger
        the API call.

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/send-request-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=516d68c351aa717c2f45920da8377efb" alt="Send request screenshot with light theme" width="1217" height="518" data-path="images/api-reference/create-wallet/send-request-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/send-request-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=f7da6e45e4c1901c9396878490b4ec60" alt="Send request screenshot with dark theme" width="1217" height="518" data-path="images/api-reference/create-wallet/send-request-dark.jpg" />
        </Frame>

        Here is an example response object:

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/response-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=35a0af06fc6975c245168efb084712aa" alt="create user wallet response screenshot with light theme" width="1148" height="276" data-path="images/api-reference/create-wallet/response-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/create-wallet/response-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=84d98b7a22a197459f422de9f8ee3b56" alt="create user wallet response screenshot with dark theme" width="1148" height="276" data-path="images/api-reference/create-wallet/response-dark.jpg" />
        </Frame>
      </Step>
    </Steps>

    **Success!** The next guide will show you how to mint an NFT into this wallet and view the content.
  </Accordion>

  <Accordion title="2. Mint NFTs from the API Reference">
    In the previous guide, you created a wallet. Now you will deliver an NFT into it and read the wallet's content.

    <Steps>
      <Step title="Navigate to the Mint NFT page">
        <p>Open in a new tab here: <a href="/api-reference/minting/nfts/mint-nft" target="_blank">/api-reference/minting/nfts/mint-nft</a></p>

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/mint-nft-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=5e5b467b5a2496a21e354940d9ce1b90" alt="Mint NFT in api playground screenshot with light theme" width="2500" height="1025" data-path="images/api-reference/mint-nft/mint-nft-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/mint-nft-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=d8896dc9188438adaf1cd861d0ae743d" alt="Mint NFT in api playground screenshot with light theme" width="2500" height="1025" data-path="images/api-reference/mint-nft/mint-nft-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Enter the `default-polygon` collectionId">
        This is a default collection associated to your account. You can create new ones using the [Create Collections](/minting/nfts/integrate/create-collections) API.

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/mint-nft/collection-id-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=689f307466d80f6d1fcb868f10c20beb" alt="Enter collectionId screenshot with light theme" width="1128" height="316" data-path="images/api-reference/mint-nft/collection-id-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/mint-nft/collection-id-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=862265e1994e60cf6928e2794ed2124b" alt="Enter collectionId screenshot with dark theme" width="1128" height="316" data-path="images/api-reference/mint-nft/collection-id-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Select the [EVM] Metadata URL metadata option">
        <Note>The selector to choose between the different metadata option can be hard to spot. Look closely at the screenshots below to see where it is.</Note>

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/metadata-option-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=25508d46fb10ecb382bfd40a1c9b35be" alt="Select EVM metadata URL option screenshot with light theme" width="1010" height="84" data-path="images/api-reference/mint-nft/metadata-option-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/metadata-option-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=9cd5c6eed3ca95a80b6674e63a21a50d" alt="Select EVM metadata URL option screenshot with dark theme" width="1010" height="84" data-path="images/api-reference/mint-nft/metadata-option-dark.jpg" />
        </Frame>

        <br />

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/evm-metadata-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=3f85a50b1db1ad5e12f261397af2eac1" alt="Enter metadata URL screenshot with light theme" width="2000" height="1202" data-path="images/api-reference/mint-nft/evm-metadata-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/evm-metadata-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=92b7f228391bd049cc59cf0330c2ed9b" alt="Enter metadata URL screenshot with dark theme" width="2000" height="1202" data-path="images/api-reference/mint-nft/evm-metadata-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Enter metadata URL">
        You can provide your own or use this example URL:

        <CodeGroup>
          ```bash metadata URL theme={null}
          https://bafkreidbf4jpxpecwezjbagwmua5qv62ifhhtzsspoml7zls6iq6ms4byi.ipfs.nftstorage.link/
          ```

          ```json example JSON theme={null}
          {
            "name": "Crossmint Test NFT",
            "description": "Created with the Crossmint minting API",
            "image": "https://bafkreiexjl6kw4khdxkrt6dojgacscnzvrys47t472l2t7d6r2ss65kifq.ipfs.nftstorage.link/",
            "external_url": "https://docs.crossmint.com",
            "attributes":  [
              {
                "trait_type": "contract",
                "value": "ERC-721"
              },
              {
                "trait_type": "background",
                "value": "black"
              }
            ]
          }
          ```
        </CodeGroup>

        <br />

        <Note>This URL must point to a valid JSON file that adheres to [EVM metadata standards](/minting/nfts/integrate/define-metadata).</Note>

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/metadata-url-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=daf4e2c41f83341330c0edd068678781" alt="Enter metadata url screenshot with light theme" width="2000" height="900" data-path="images/api-reference/mint-nft/metadata-url-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/metadata-url-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=b30711dc16caac1df35576f7a67eccec" alt="Enter metadata url screenshot with dark theme" width="2000" height="900" data-path="images/api-reference/mint-nft/metadata-url-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Enter the `recipient`">
        There are two options for the `recipient` parameter. The first enables minting to an email address. The second enables minting directly to a wallet address.

        <CodeGroup>
          ```javascript email recipient theme={null}
            // format
            email:<email_address>:<chain>

            // example
            email:testy@crossmint.xyz:polygon
          ```

          ```javascript wallet recipient theme={null}
            // format
            <chain>:<address>

            // example
            polygon:0x0359Cd99FD20e853a85489DFC93EaDFeF7461590
          ```
        </CodeGroup>

        <br />

        <Tip>Enter your own email address on this step and you can login to see your NFT in the Crossmint wallet later, which can be accessed from [crossmint.com](https://crossmint.com) or [staging.crossmint.com](https://staging.crossmint.com) if you are in staging.</Tip>

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/recipient-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=575f735f895fd97a6e9932dd082a9d03" alt="Set recipient screenshot with light theme" width="1020" height="166" data-path="images/api-reference/mint-nft/recipient-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/recipient-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=20dc4d158b524ee44100e1b001f49957" alt="Set recipient screenshot with dark theme" width="1020" height="166" data-path="images/api-reference/mint-nft/recipient-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Set `reuploadLinkedFiles` to false">
        This will prevent unnecessary uploading of files that are already pinned to IPFS.

        <Check><p>Crossmint has a 10MB re-upload size limit. For larger files, upload your media to IPFS, create a metadata.json as shown above, submit the metadata file's URL, and ensure `reuploadLinkedFiles` is set to `false`.</p>
        <p>The default option is `true`.</p></Check>

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/reupload-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=6fc73a43fd1ce24467460c6a9c454669" alt="Set reuploadLinkedFiles to false screenshot with light theme" width="1008" height="172" data-path="images/api-reference/mint-nft/reupload-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/reupload-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=6e4c6f104735459d386f622859d29ddb" alt="Set reuploadLinkedFiles to false screenshot with dark theme" width="1008" height="172" data-path="images/api-reference/mint-nft/reupload-dark.jpg" />
        </Frame>
      </Step>

      <Step title="Send the request">
        Scroll back to the top of the page and click the blue `Send` button to trigger
        the API call.

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/mint-nft/click-send-light.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=2f6deed49e5b7ec0f3afb8e9045e2169" alt="Click send screenshot with light theme" width="1250" height="594" data-path="images/api-reference/mint-nft/click-send-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/images/api-reference/mint-nft/click-send-dark.jpg?fit=max&auto=format&n=xq66q9GV6z6jjj95&q=85&s=76792a3085bf2a500bb94324eafb1584" alt="Click send screenshot with dark theme" width="1250" height="594" data-path="images/api-reference/mint-nft/click-send-dark.jpg" />
        </Frame>

        Here is an example response object:

        <Frame type="simple">
          <img className="block dark:hidden" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/response-light.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=01be7e39fea7d90e313607161a496cc0" alt="mint nft example response screenshot with light theme" width="1150" height="474" data-path="images/api-reference/mint-nft/response-light.jpg" />

          <img className="hidden dark:block" src="https://mintcdn.com/crossmint/9uJPRLU6Ro7RXKau/images/api-reference/mint-nft/response-dark.jpg?fit=max&auto=format&n=9uJPRLU6Ro7RXKau&q=85&s=be46cb4c620abb915f750922c39d2dc0" alt="mint nft example response screenshot with dark theme" width="1150" height="474" data-path="images/api-reference/mint-nft/response-dark.jpg" />
        </Frame>
      </Step>

      <Step title="View the NFT in your wallet">
        If you followed this guide closely you can view the NFT in the staging wallet at <a href="https://staging.crossmint.com/user/collection" target="_blank">[https://staging.crossmint.com/user/collection](https://staging.crossmint.com/user/collection)</a>.

        If you minted directly to a wallet address you can view the NFT in that application. Ensure you are accessing it from a testnet if you used staging.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>
