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

# How-to: Create an API key

> Create an API key in the Circle Console to authenticate Smart Contract Platform API requests.

## Overview

Create an API key so your server-side applications can authenticate requests to
Circle's APIs. You can create and manage API keys in the
[Circle Console](https://console.circle.com/).

## Prerequisites

Before you begin, ensure you have:

* Signed up for a Circle Developer account at
  [console.circle.com/signup](https://console.circle.com/signup).
* Reviewed the [Keys](/build/keys) page for background on key types and
  authentication.

## Steps

### Step 1. Open the API & Client Keys page

Sign in to the [Circle Console](https://console.circle.com/) and select **API &
Client Keys** from the left sidebar.

### Step 2. Create a key

Select **Create a key**, then choose **API Key**.

Enter a name for your API key and select the access level:

* **Standard**: grants read/write access to all APIs, including newly introduced
  endpoints.
* **Restricted Access**: limits the key to specific products and permission
  levels.

When you choose restricted access, configure the following options.

Select the products the key can access:

* **Webhooks**: endpoints for
  [webhook subscriptions](/api-reference/wallets/common/create-subscription).
* **Wallets**: all endpoints for
  [user-controlled](/api-reference/wallets/user-controlled-wallets/create-user)
  and developer-controlled wallets.
* **Contracts**: endpoints for
  [smart contracts](/api-reference/contracts/smart-contract-platform/import-contract).

Set the permission level for each product:

* **No permission**: the key cannot call any endpoints for that product.
* **Read**: the key can call read-only GET endpoints.
* **Read/Write**: the key can call all endpoints.

<Note>
  You can also add IP addresses or ranges to the IP allowlist for additional
  security.
</Note>

### Step 3. Copy your API key

After the Console confirms that your key was generated, select **Show** to
reveal the key value. Copy it and store it securely. You need it to authenticate
API requests.
