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

# Generate API access tokens

> Create and manage Firmhouse API access tokens to authenticate the GraphQL API, SDKs, and external integrations against your project's data.

You need to generate API access tokens if you are going to use Firmhouse via the GraphQL API, SDKs, or external libraries and tools. This article explains how to generate and remove API access tokens.

For more information on using the API and integrating with Firmhouse, take a look at the [Developer Docs](https://developer.firmhouse.com).

## Creating an access token

### Steps

1. In your Firmhouse project, navigate to **Settings > Integrations** from the sidebar.
2. From the section called **Access Tokens**, click **Generate new token**.
3. Choose a desired **Expiration** (or no expiration) and choose the **Access type**. Choose **Storefront** if you're going to use this token in a client-side frontend library. Choose **Write** if you're going to use this token for backend systems integration. Choose **Customer Portal templates** if the token should only read and write Customer Portal templates.
4. Click **Create project access token**.
5. Click the hidden token to reveal the newly generated token. Or use the **Copy** button to put the generated token on your clipboard.

<img src="https://mintcdn.com/firmhousebv/B_c175O2Pza1U8lY/images/docs-configure-integrations-api-access-tokens-settings-dev-aa.png?fit=max&auto=format&n=B_c175O2Pza1U8lY&q=85&s=34ea5d545a16aca0ab103c3625258caf" alt="Access Tokens Settings" width="2880" height="1960" data-path="images/docs-configure-integrations-api-access-tokens-settings-dev-aa.png" />

## Removing and revoking an access token

### Steps

1. In your Firmhouse project, navigate to **Settings > Integrations** from the sidebar.
2. In the section called **Access Tokens**, find the access token you want to remove/revoke and click **Remove**.

## Expired tokens

The API will return a **token not found** error message for both removed tokens and expired tokens. There is no distinction in what the API returns between removed and expired tokens.
