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

# Client API Key Setup

> Learn how to set up a Client API key from Geomi to access Decibel's GET APIs

## Client API Key Overview

Decibel's GET APIs require a **Client API Key** for authentication. Without a valid Client API key, GET API requests will fail. The Client API key is used to authenticate requests to Decibel's read-only endpoints.

<Warning>
  **Required for GET APIs:** All GET API requests require a Client API key.
  Requests without a valid Client API key will be rejected.
</Warning>

## Getting a Client API Key

To obtain a Client API key, you need to create one on Geomi:

1. Visit [https://geomi.dev](https://geomi.dev)
2. Sign up or log in to your account
3. Navigate to the client keys section
4. Generate a new client API key
5. Copy and securely store your Client API key

<Info>
  **Geomi Account:** You'll need a Geomi account to generate Client API keys. If
  you don't have one, you can sign up at [https://geomi.dev](https://geomi.dev).
</Info>

## Using the Client API Key

Once you have your Client API key, include it in the `Authorization` header of your HTTP requests:

```bash theme={null}
Authorization: Bearer YOUR_CLIENT_API_KEY
```

### Example Requests

Here are examples of making a GET request with the Client API key in different languages:

<CodeGroup>
  ```bash curl theme={null}
  curl -X GET "https://api.mainnet.aptoslabs.com/decibel/api/v1/markets" \
    -H "Authorization: Bearer YOUR_CLIENT_API_KEY"
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch("https://api.mainnet.aptoslabs.com/decibel/api/v1/markets", {
    headers: {
      Authorization: `Bearer ${CLIENT_API_KEY}`,
    },
  });

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  headers = {
      "Authorization": f"Bearer {CLIENT_API_KEY}"
  }

  response = requests.get(
      "https://api.mainnet.aptoslabs.com/decibel/api/v1/markets",
      headers=headers
  )

  data = response.json()
  ```
</CodeGroup>

<Warning>
  **Security Best Practices:** - Never commit your Client API key to version
  control - Store API keys in environment variables or secure key management
  systems - Rotate your API keys regularly - Use different keys for development
  and production environments
</Warning>

## Troubleshooting

### 401 Unauthorized Error

If you receive a `401 Unauthorized` error:

1. Verify your Client API key is correct
2. Ensure you're using the `Bearer` token format: `Authorization: Bearer YOUR_KEY`
3. Confirm your key hasn't expired or been revoked on Geomi

### 403 Forbidden Error

If you receive a `403 Forbidden` error:

1. Verify your Client API key is correct
2. Check that your key has the necessary permissions
3. Ensure the key is properly formatted in the Authorization header

## Next Steps

Now that you have your Client API key set up, you can:

* [Make Authenticated Requests](/quickstart/authenticated-requests) - Learn how to send authenticated requests
* [Explore API Reference](/api-reference/openapi.json) - Browse the full API documentation
* [Get Market Data](/quickstart/market-data) - Learn how to fetch market data
