# Developers

## Overview

The Developer functionality provides you with the tools to:

* **Create API Keys:** Securely access our platform's data programmatically.
* **Set Up Webhooks:** Receive real-time notifications about specific events within the platform.

## Accessing Developer Settings

To access the Developer settings:

1. Navigate to the **Settings** tab in your workspace.
2. Select **Advanced Settings** from the dropdown menu.
3. Click on **Developer** to open the developer tools section.

## API Keys

API keys allow you to authenticate requests to our platform's API. Follow these steps to create and manage your API keys:

1. **Generate a New API Key:**
   * Click on the **Create API Key** button.
   * Provide a name and description for your API key to help identify its purpose.
   * Click **Generate**.
2. **API Key Details:**
   * Once generated, your API key will be displayed. **Make sure to copy and save it securely**; it will only be shown once.
   * The API key includes a **public identifier** and a **secret key**. The secret key is used for authentication and should be kept confidential.
3. **Managing API Keys:**
   * All your API keys are listed in the Developer settings.
   * You can **revoke** an API key at any time by clicking the **Revoke** button next to the key.
   * **Edit** the name and description of your API keys by clicking on the **Edit** icon.

## Webhooks

Webhooks allow you to receive notifications about specific events in real-time. To set up webhooks:

1. **Create a New Webhook:**
   * Click on the **Create Webhook** button.
   * Provide a name and description for the webhook.
   * Enter the **URL endpoint** where the webhook payloads will be sent.
   * Select the events you want to be notified about (e.g., new research reports, portfolio updates).
2. **Webhook Configuration:**
   * Choose the **content type** for the payloads (e.g., JSON, XML).
   * Optionally, add **custom headers** for additional security or custom behavior.
3. **Webhook Management:**
   * All your webhooks are listed in the Developer settings.
   * You can **disable** or **enable** a webhook by toggling the status switch.
   * **Edit** webhook details by clicking on the **Edit** icon next to the webhook.
   * **Delete** a webhook if it’s no longer needed.

## Security Best Practices

* **Keep your API keys secure.** Do not share your secret keys publicly or in client-side code.
* **Validate webhook payloads.** Use the provided signature in the headers to ensure the payloads are from our platform.
* **Rotate API keys regularly.** Periodically generate new API keys and update your integrations to enhance security.
