# Check token KYC permissions (POST /permissions)

Operation `permissions` of the Uniswap API. Base URL: `https://trade-api.gateway.uniswap.org/v1`.

For each token in the request, reports whether the token requires a permissioned adapter and whether the supplied `walletAddress` is allowlisted to trade it. If the token is permissioned but the wallet is not allowlisted, the response includes a `kycUrl` the wallet holder must complete to gain access. The request supports a maximum of 2 tokens.

Parameters: 1 header, 3 body · Request: `application/json` · Auth: apiKey · Responses: 200, 400, 401, 404, 500, 504

## Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `x-api-key` | string | yes | Your API key for authentication. |

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `walletAddress` | string | yes | The wallet address which will be used to send the token. |
| `tokens` | string[] | yes | Tokens to check permissions for. Maximum of 2 per request. |
| `chainId` | enum | yes | The unique ID of the blockchain. For a list of supported chains see the [FAQ](https://api-docs.uniswap.org/guides/faqs). |

## Responses

- `200` — Token permissions lookup successful.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked.
- `404` — ResourceNotFound eg. Failed to fetch token permissions.
- `500` — Unexpected error
- `504` — Request duration limit reached.

Interactive playground: https://developers.uniswap.org/docs/api-reference/permissions
All endpoints: https://developers.uniswap.org/docs/api-reference
