> For the complete documentation index, see [llms.txt](https://docs.3mint.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.3mint.io/api-reference/token-gating/create-gate.md).

# Create Gate

## Verifying token gating requirements

## Validate address elements

<mark style="color:green;">`POST`</mark> `https://api.3mint.io/api/v1/tokenGate`

Single API call that verifies the ownership of a token and returns whether or not certain conditions are met.

#### Headers

| Name                                           | Type   | Description                        |
| ---------------------------------------------- | ------ | ---------------------------------- |
| X-API-KEY<mark style="color:red;">\*</mark>    | String | API key required for authorization |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                   |

#### Request Body

| Name                                            | Type   | Description                                                    |
| ----------------------------------------------- | ------ | -------------------------------------------------------------- |
| contractAddress                                 | String | The address of an ERC-20, ERC-721, or ERC-1155 contract        |
| logic                                           | String | The and / or element to combine multiple requirements          |
| requirements                                    | List   | An extra list of requirements if a combo requirement is needed |
| type<mark style="color:red;">\*</mark>          | String | The type of asset being verified: erc1155, erc721, erc20, coin |
| walletAddress<mark style="color:red;">\*</mark> | String | The address of an Externally Owned Account (EOA)               |
| network                                         | String | The network in question: Mainnet, Mumbai, Goerli, etc.         |
| tokenIds                                        | Array  | A list of token IDs                                            |
| chain                                           | String | The blockchain to use: Ethereum, Polygon, Optimism, etc.       |
| minBalance                                      | String | Minimum balance required                                       |
| maxBalance                                      | String | Maximum balance required                                       |
| minTime                                         | String | Minimum amount of time a wallet must hold the required balance |
| minTimestamp                                    | String | The date from which the wallet must hold the required balance  |

{% tabs %}
{% tab title="400: Bad Request One or more arguments are invalid or required arguments are missing" %}

```javascript
{
  "code":"invalid_request",
  "msg":"string"
}
```

{% endtab %}

{% tab title="200: OK Successful response" %}

```javascript
{
    "result": "true"
}
```

{% endtab %}

{% tab title="401: Unauthorized The access token doesn't meet the token ownership requirements." %}

```javascript
{
  "code":"invalid_request",
  "msg":"string"
}
```

{% endtab %}
{% endtabs %}
