# Ingest API

This guide provides a comprehensive walkthrough of the Ingest API dashboard. You will learn how to monitor data ingestion performance and configure security settings for your API keys to ensure that data is sent securely and efficiently.

***

### Accessing the Ingest API Dashboard

You can navigate to the Ingest API dashboard directly from the Home page.

1. From the **Home** dashboard, locate the **APIs** section.
2. Click on the **Ingest API** button to open the dashboard.

<div align="left"><figure><img src="/files/zGp9Kb4Om3eiYmwKmcSi" alt="" width="349"><figcaption></figcaption></figure></div>

***

### Monitoring Ingestion Performance

The Ingest API dashboard provides two key graphs for monitoring the health and performance of your data ingestion pipeline.

<figure><img src="/files/TwOWFv4F3ciMOuEqch1E" alt=""><figcaption></figcaption></figure>

* **User Events:** This graph displays the volume of incoming events and the average time it takes to process them. You can hover over the bars to see specific data points for ingestion time.
* **Database Writes:** This graph shows the write operation throughput and performance metrics, helping you understand the load on your database.

***

### Configuring API Key Settings

To enhance security, you can control how your API keys are used. The settings are divided into two sections:

* **Integration Write-Only API Key:** This key can only be used to send (write) data to the platform.
* **Integration Read & Write API Key:** This key can be used to both send (write) and retrieve (read) data.

#### How to Edit API Key Settings

To begin making changes, you must first enter edit mode.

1. Scroll to the API key section you wish to configure (e.g., "Integration Write-Only API Key Settings").
2. Click the **Edit** button in the top-right corner of the section. The fields will become editable.

<figure><img src="/files/5VGbhMLD4CVb4jxQkXJQ" alt=""><figcaption></figcaption></figure>

#### Restricting Access by IP Address

For added security, you can limit API access to a list of trusted IP addresses. This ensures that only authorised servers or services can send data.

1. In edit mode, under **Access Control**, select **Specific locations**.
2. Click the **Add IP address** button.
3. In the **New Allowed IP Address** pop-up window, complete the following fields:
   * **IPv4 address:** Enter the static IP address you want to add to the allowlist.
   * **Description:** Provide a memorable name for the IP address (e.g., "Main Production Server"). This helps you identify its purpose later.
4. Click **Add**. The IP address will be added to the list.
5. Repeat this process for any other IP addresses you wish to add.

#### Allowing Specific Profile Events

You can control exactly which types of events are accepted through the API. By default, all profile events are allowed, but you can restrict this to a specific list.

1. In edit mode, under **Allowed Profile Events**, select **Specific Profile Events**.
2. In the **enter event name** field, type the exact name of the event you wish to allow (e.g., `login`, `page_view`).
3. Click the **Add** button. The event name will appear as a tag in the list of allowed events.

<figure><img src="/files/bcx1eXPRuq0pw4X9UxN1" alt=""><figcaption></figcaption></figure>

### Saving Your Changes

Once you have finished configuring the settings, you must save them for the changes to take effect.

1. Click the **Save Changes** button at the top-right of the section you were editing.

   <figure><img src="/files/T5tjvV67NbG4A8P9gU6k" alt=""><figcaption></figcaption></figure>
2. A confirmation message, **Changes saved**, will appear briefly in the top-right corner of the screen, confirming that your updates have been applied successfully.


---

# 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://userflux.gitbook.io/userflux-docs/feature-guides/apis/ingest-api.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.
