# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.countercyclical.io/fundamentals/settings/workspace/advanced/developers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
