> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/web-application-and-api-protection-waap/discovery/discovery-1/inventory/api-endpoints.md).

# API Endpoints

<details>

<summary>Updates (July 2026 to September 2026)</summary>

* *September 2026* — Updated the page to add information about the Open Issues, Security Events, and Auth Types columns displayed on the API Endpoints tab.
* *August 2026* — Updated the page to add information about downloading API endpoint specifications in OpenAPI Specification format. For more information, see [Download Data](#download-data).

</details>

An API Endpoint is a specific URL or address that clients or external systems use to interact with your application. It receives requests and sends responses, enabling data exchange and communication between applications.

## **What you will learn from this topic** <a href="#what-you-will-learn-from-this-topic" id="what-you-will-learn-from-this-topic"></a>

By the end of this topic, you will be able to:

* Understand how Traceable discovers and monitors API endpoints.
* View API endpoint details and filter the displayed APIs.
* Download API endpoint data and OpenAPI specifications.
* Manage API endpoint columns, labels, roles, and scopes.

***

## **Understand API endpoints and their discovery** <a href="#what-does-traceable-do-in-the-context-of-api-endpoints1" id="what-does-traceable-do-in-the-context-of-api-endpoints1"></a>

Traceable discovers the APIs and their authentications within your application ecosystem and monitors them for activities, vulnerabilities, security risks, and performance.

{% hint style="info" %}
Traceable discovers APIs only upon receiving successful status codes (between 2xx and 3xx).
{% endhint %}

### API types <a href="#api-types" id="api-types"></a>

Traceable supports and monitors the following API types:

* REST
* SOAP
* gRPC
* GraphQL
* WebSocket

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>For the WebSocket APIs, Traceable captures only the Handshake Call. As a result, sensitive data, vulnerability, compliance issue, and third-party API detection work based only on the handshake’s headers and parameters.</p></div>

### API details <a href="#api-details" id="api-details"></a>

Traceable lists all the APIs discovered, learned, or under learning on the **Inventory** page, **API Endpoints** tab. By default, Traceable lists all learned APIs from your application. You can use this information to optimize and secure your APIs according to your requirements.

### API details retention <a href="#api-details-retention" id="api-details-retention"></a>

Traceable shows APIs and their details based on the traffic activity, delisting them after periods of inactivity: learnt APIs are retained for 90 days after their last observed traffic, while those under learning are retained for 30 days.

### Navigate to API endpoints <a href="#navigate-to-api-endpoints" id="navigate-to-api-endpoints"></a>

You can access the **API Endpoints** tab through the **Discovery** → **Inventory** → **API Endpoints** tab.

***

## API Endpoints View

![](https://1414883571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdr7UJpJrdGkkSGT6AFTu%2Fuploads%2FwSlQnK0D52soo1AEKQJq%2Ftraceable_discovery_ai_assets_page.png?alt=media\&token=45b0ac27-b667-4171-80a1-65d32bac6fa5)

The API Endpoints tab lists the number of:

* Internal and external APIs discovered. Traceable classifies these APIs in one of the following ways:
  * You label the API as External or Internal. For more information on managing labels, see [Additional Features](#additional-features).
  * Identifying the IP address involved in the API traffic as private or public.
* Unauthenticated APIs. For information on how Traceable identifies API authentication, see the [section](#how-does-traceable-identify-api-authentication) below.
* APIs at risk. This number indicates the APIs that have high or critical risk scores.
* Number of updated APIs. This number indicates the APIs updated in the last 1 day.

{% hint style="info" %}
When classifying APIs as authenticated or unauthenticated, the labels you apply take precedence over Traceable’s identification based on traffic. This ensures user-defined classifications are prioritized for accurate API categorization. For information on how Traceable identifies the authentication of APIs, see the [section](#how-does-traceable-identify-api-authentication) below.
{% endhint %}

The tab also lists the following:

* API names

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>SOAP API names are derived from the <em>Operation</em> in the API. For example, if the <em>Operation</em> is <code>Subtract</code>, and the <em>API name</em> is <code>/v1/calculator</code> with the <em>HTTP</em> method as <code>POST</code>, then the API is named as <code>POST /v1/calculator#Subtract</code>.</p></div>
* The data types found in each API
* The [risk score](/web-application-and-api-protection-waap/discovery/settings/risk-scoring.md) associated with the API
* The number of calls to the APIs in the last 24 hours
* The time at which the API was last called
* The number of open [issues](/web-application-and-api-protection-waap/discovery/risk/issues-overview.md) detected for the API, broken down by severity (Critical, High, Medium, Low)
* The number of [security events](/web-application-and-api-protection-waap/protection/web-app-api-protection/security-events.md) detected for the API
* The authentication type detected for the API, such as *Bearer Token*, *Basic*, or *Unknown*

Traceable lists the above details for **All Environments** by default. You can view these details for a specific environment by selecting it from the **Environments** drop-down in the page’s top right corner. You can also filter the data shown on the page according to your requirements. The following section explains these filters and how to use them.

### API authentication <a href="#api-authentication" id="api-authentication"></a>

Traceable determines API authentication by inspecting the headers, tokens, and other credentials associated with API traffic. It classifies APIs based on authentication status, identifying potential security threats in unauthenticated endpoints.

***

## Filters

The **API Endpoints** tab provides multiple filters that you can use to fine-tune the results displayed on the page. You can open the filter pane by clicking on the **Filter** (<i class="fa-filter">:filter:</i>) icon in the tab’s top left corner. The pane shows the following tabs:

| Tabs        | Description                                                    |
| ----------- | -------------------------------------------------------------- |
| **Filters** | This is the list of filters that are available to you.         |
| **Saved**   | This is the list of filters that you have saved for later use. |
| **Recent**  | This is the list of recently applied filters.                  |

You can apply filters based on the following categories:

| Category             | Description                                                                                                                           |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Security Posture** | This category lists filters to view APIs based on sensitive datatypes, datasets, authentications, risk categories, etc.               |
| **API Definition**   | This category lists filters to view APIs based on authentication types, encryptions, creation time, labels, domain names, etc.        |
| **Traceable**        | These are Traceable’s custom filters to view APIs based on whether they are learned, their discovery state, etc.                      |
| **Deployment**       | This category lists filters to view APIs based on the environment and service.                                                        |
| **API Ownership**    | This category lists filters to view APIs based on their ownership across various functions, such as developers and quality assurance. |

Traceable also allows you to do the following:

![Filter Actions](https://1414883571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdr7UJpJrdGkkSGT6AFTu%2Fuploads%2FrFepEAhOLmjtQ8dB1v92%2Ftraceable_discovery_api_endpoints_filter_actions.png?alt=media\&token=6dbafbb2-c4fd-4c07-901c-e3b3074a87e8)

| Action                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Save filters for later use** | <p>You can save any applied filters (one or multiple) according to your requirements and use them later. Traceable shows them in the <strong>Saved</strong> tab of the <strong>Filters</strong> pane. To save the filters, complete the following steps:</p><ul><li>Click <strong>Save</strong> in the top right corner of the summary section.</li><li>Specify the <strong>Name</strong> of the filter.</li><li>Click <strong>Save</strong>.</li></ul> |
| **Clear all filters at once**  | You can clear all filters at once by clicking **Clear** in the top right corner of the summary section.                                                                                                                                                                                                                                                                                                                                                 |

***

## Additional Features

Apart from the above features, you can also do the following:

![Endpoint Actions](https://1414883571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdr7UJpJrdGkkSGT6AFTu%2Fuploads%2FEMZpesXfsneNqbOpWJjD%2Ftraceable_discovery_api_endpoints_endpoint_actions.png?alt=media\&token=0b5ec2c8-9538-4a18-aec1-1e25c2b8d17b)

### **Group Data**

You can use the **Group By** drop-down to group the data displayed on the page according to certain attributes such as auth types and labels.

### **Hide Visualizations**

You can hide the visualizations displayed in the **Summary** bar by clicking on the **Visualizations** (<i class="fa-chart-simple">:chart-simple:</i>) icon shown in the top right corner of the **API Endpoints** tab.&#x20;

### **Download Data**

You can download the data shown on the page by clicking on the **Download** (<i class="fa-download">:download:</i>) icon shown in the top right corner of the **API Endpoints** tab. While downloading the data, you can also specify the number of rows you want to download.

You can download API endpoint data in CSV format or as an OpenAPI specification.

To download data:

1. Click the **Download** (<i class="fa-download">:download:</i>) icon in the top-right corner of the **API Endpoints** tab.
2. Select the required format:

   * **Download as CSV** — Specify the number of rows to download. You can select between *1* and *10,000* rows.
   * **Download Open API Spec** — Downloads OpenAPI specifications for the API endpoints selected or displayed based on your search and filters. You can choose to download the specifications in **YAML** or **JSON** format, packaged as a ZIP file. For more information, see OpenAPI Specification ZIP file.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><ul><li><p><strong>Download Open API Spec</strong> feature is available only if you have the following:</p><ul><li>A <strong>Security Analyst</strong> role or higher in the Traceable platform.</li><li>Have unrestricted access across all applicable environments, services, and APIs.</li></ul></li><li>If the <strong>API Endpoints</strong> tab contains more than <em>10,000 endpoints</em>, <strong>Download Open API Spec</strong> is greyed out. Apply filters, search for specific endpoints, or select specific endpoints to reduce the number of endpoints to <em>10,000</em> or <em>fewer</em> before downloading.</li></ul></div>

#### **OpenAPI specification ZIP file**

The OpenAPI specification is downloaded as a ZIP file. The ZIP file contains OpenAPI specification files for groups of API endpoints and a `manifest.json` file that provides information about the exported API groups and the locations of their specification files. The specification files are organized by **environment**, **service**, **version**, and **API type** in the following manner:

```plaintext
<environment>/<service>/<version>/<api-type>/<service>-api-spec.<json|yaml>
```

For example:

```plaintext
manifest.json
fintech-app/
└── cart-service/
    └── v1/
        └── REST/
            └── cart-service-api-spec.yaml
```

In this example, `fintech-app` is the environment, `cart-service` is the service, `v1` is the API version, and `REST` is the API type. The `manifest.json` file contains information about the exported API groups, including the environment, service, version, API type, number of endpoints, and location of the corresponding specification files.

### **Add or Remove Columns**

While Traceable shows columns by default on the page, you can add or remove them according to your requirements. Traceable provides various columns from which you can choose. To add or remove columns, do the following:

1. Click the **Ellipse** (<img src="https://1414883571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdr7UJpJrdGkkSGT6AFTu%2Fuploads%2Fgit-blob-115e5af5578094ae7cc020ece0ddbd73c50bbec5%2Ftraceable_catalog_posture_events_ellipse_icon-1usqv0t.png?alt=media" alt="traceable_catalog_posture_events_ellipse_icon" data-size="line">) icon shown in the top right corner of the **API Endpoints** tab.
2. Click **Edit Columns**.
3. In the **Edit** **Columns** pop-up, select or deselect the columns you want to add or remove. Optionally, you can also reset the page to the default setting by clicking **Reset to default**.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>All columns except <strong>Name</strong> can be removed.</p></div>
4. Click **Apply**.

Traceable shows the updated column setting on the page.

### **Manage Labels added to APIs**

You can do the following to one or more APIs according to your requirements:

* Add labels

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>You can add up to 32 labels to an API.</p></div>
* Replace existing labels with new ones
* Remove labels

To do this, complete the following steps:

<img src="https://1414883571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdr7UJpJrdGkkSGT6AFTu%2Fuploads%2Fgit-blob-45763e2f829d2135ee47c5b0cadd07bb619ba01a%2Ftraceable_catalog_inventory_manage_labels-z4by9m.png?alt=media" alt="" width="291">

1. Click the checkbox corresponding to the APIs where you want to manage labels.
2. At the bottom of the page, click **Manage Labels**.
3. In the **Manage Labels** pop-up, select the checkbox corresponding to the labels you want to manage. You can also create a new label by specifying the label name in the **Search or create** field and clicking **+ Create \<label name>**.
4. Click the arrow icon corresponding to **Add selected labels** and select the option according to your requirements.

For more information on Labels, see [Label Management](/web-application-and-api-protection-waap/settings/discovery/label-management.md).

### **Add Roles and/or Scopes**

{% @harness-feedback/feedback %}

Traceable through roles and scopes (security schemes), enables you to enhance your API security with role- and scope-based access control across your application ecosystem. This enables you to enforce authorization rules and ensure access is authorized only.

To add a role or scope, complete the following steps:

1. Click the checkbox corresponding to the APIs where you wish to add a role or scope.
2. At the bottom of the page, click **Add Roles** or **Add Scopes** according to your requirements.
3. In the **Add Roles/Scopes** pop-up, click the **Search or create roles/scopes** drop-down, and select the check-box corresponding to the roles/scopes you wish to assign. You can also create a new role/scope by specifying the name in the **Search** field and clicking **+ type to create new role/scope**.
4. Click **Add Roles/Scopes**.

For more information on the roles and scopes, see [Security Schemes](/web-application-and-api-protection-waap/discovery/settings/security-scheme.md).
