Tenable Enclave Security: New API Documentation
Tenable has published API documentation for Tenable Enclave Security and Tenable Container Security. The new documentation provides API reference information for managing Enclave Security licensing and programmatically accessing and managing Container Security data.
These APIs are available in Tenable Enclave Security 1.9. For more information about the release, see the Tenable Enclave Security 1.9.0 Release Notes.
Authentication
Requests authenticate with an API key passed in the x-apikey header and route through the Tenable Enclave Security API gateway.
An API key consists of an access key and a secret key, which must be used together. Before you can authenticate with API keys:
- An administrator enables the Allow API Keys setting in the Tenable Enclave Security interface.
- Each user generates an API key for their account.
Administrators can generate keys for any account. Users in other roles can generate keys only for accounts that share their role.
CautionSecret keys are displayed only once, when you generate them, and cannot be viewed again in the interface. Generating a new key for a user replaces that user's existing key and deauthorizes any request that uses the previous key.
For more information, see API Key Authentication, Enable API Key Authentication, and Generate an API Key in the Tenable Enclave Security User Guide.
Base Server URL
Because Tenable Enclave Security is self-hosted, there is no shared base URL. Replace the base server URL in every request with the URL of your own Tenable Enclave Security instance.
Example Request
For example, to list the available query types, you could use the following cURL request:
curl --request GET \
--url 'https://your-server-url/public/consec/api/v1/query/types' \
--header 'x-apikey: accesskey=<ACCESS_KEY>; secretkey=<SECRET_KEY>' \
--header 'accept: application/json'Permissions
Actions performed with an API key are attributed to the user account associated with that key, and are limited to the privileges granted to that account.
Container Security endpoints each require a specific Container Security permission, such as permConSecViewApp to read data or permConSecManageScanners to manage scanners. Each endpoint's reference page lists the permission it requires. For more information, see Container Security Permissions and Container Security Roles.
Endpoints
The documentation is organized into two API sets that mirror how Tenable Enclave Security is structured. Platform APIs apply to your deployment as a whole, and are shared by every product running on it. Container Security APIs cover a single product within that deployment.
Each endpoint has its own reference page documenting the request and response schemas, the parameters and filters it accepts, example payloads, and the permission it requires. You can also try any endpoint directly from its reference page.
The documentation includes the following APIs.
Tenable Enclave Security Platform
Platform-level APIs apply across your Tenable Enclave Security deployment rather than to a single product. Tenable Enclave Security manages licensing through a shared service, so a single request returns license status and utilization for every blade in the deployment, including Tenable Security Center and Container Security.
For more information, see the Tenable Enclave Security User Guide.
License
Register a license key file and monitor license status. Tenable Enclave Security manages licensing centrally across blades, so the utilization endpoint reports capacity and current usage for each blade in a single response.
| Endpoint | Name | Description |
|---|---|---|
| PUT /public/platform/ls/api/v1/license | Upload a license key file | Uploads a new license key file to activate or update the license for the Tenable Enclave Security instance. |
| GET /public/platform/ls/api/v1/license | Get license details | Retrieves the full license object, including blade configuration, status, and expiration information. |
| GET /public/platform/ls/api/v1/license/utilization | Get license utilization | Retrieves license utilization information across all blades, including total licensed capacity and current usage for each blade. |
Tenable Container Security
The Container Security API provides programmatic access to your container image data — images together with the layers, packages, and vulnerabilities they contain — and to the scanners and scans that produce it. Use it to query Container Security data directly or to integrate it with external tooling such as SIEM, ticketing, and automation pipelines.
For more information, see the Tenable Container Security User Guide.
Exports
Export the relationships between container images, layers, packages, and vulnerabilities in bulk. Each endpoint takes one side of the relationship and returns the related records, so you can pull the layers and packages belonging to a set of images, or the images, layers, and packages affected by a set of vulnerabilities. Use these endpoints to feed Container Security data into SIEM, ticketing, and automation pipelines.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/exports/images/layers | Export image layers | Exports layers associated with the specified image or images. |
| POST /public/consec/api/v1/exports/images/packages | Export image packages | Exports packages associated with the specified image or images. |
| POST /public/consec/api/v1/exports/images/vulns | Export image vulnerabilities | Exports vulnerabilities associated with the specified image or images. |
| POST /public/consec/api/v1/exports/vulns/images | Export vulnerability images | Exports images associated with the specified vulnerability or vulnerabilities. |
| POST /public/consec/api/v1/exports/vulns/layers | Export vulnerability layers | Exports layers associated with the specified vulnerability or vulnerabilities. |
| POST /public/consec/api/v1/exports/vulns/packages | Export vulnerability packages | Exports packages associated with the specified vulnerability or vulnerabilities. |
Global Settings
View and configure asset age-out. Asset age-out automatically removes image records that have not been seen within a retention period you define, which keeps your Container Security inventory focused on active images rather than accumulating records for images that have been deprecated or replaced.
| Endpoint | Name | Description |
|---|---|---|
| GET /public/consec/api/v1/global-settings/asset-age-out | Get asset age-out settings | Retrieves the current asset age-out settings. |
| PATCH /public/consec/api/v1/global-settings/asset-age-out | Update asset age-out settings | Updates the asset age-out settings. |
Images
Query and manage the container image inventory. The search endpoints accept filter criteria, let you select which fields to return, and support pagination and sorting. The remaining endpoints list the registries and pipelines that images come from, list image tags, delete image assets, and generate a Software Bill of Materials (SBOM) report.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/images/search | Search for images | Retrieves a list of images that match the specified search filter criteria. |
| POST /public/consec/api/v1/images/search/count | Count images matching criteria | Retrieves the total count of images that match the specified search filter criteria. |
| GET /api/v1/source-tree | List registries and pipelines | Retrieves a list of image registries and pipelines with category information. |
| GET /public/consec/api/v1/images/tags | List image tags | Retrieves a list of image tags from the registry. |
| POST /public/consec/api/v1/images/delete | Delete images | Deletes a list of images based on their internal asset identifiers. |
| POST /api/v1/exports/sbom | Download SBOM report | Retrieves a Software Bill of Materials (SBOM) report for the specified images. |
Layers
Search the image layers discovered across your container images. Because layers are shared between images, searching at the layer level shows where a given base layer is reused and which images inherit its contents.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/layers/search | Search layers | Retrieves a list of layers that satisfy the search filters in the request. |
| POST /public/consec/api/v1/layers/search/count | Count layers | Retrieves the total number of layers that satisfy the search filters in the request. |
Packages
Search the software packages detected inside your container images. Package-level searches are useful for answering supply chain questions, such as which images contain a specific package version.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/packages/search | Search packages | Retrieves a list of packages that satisfy the search filters in the request. |
| POST /public/consec/api/v1/packages/search/count | Count packages | Retrieves the total number of packages that satisfy the search filters in the request. |
Queries
Discover the filter criteria the search endpoints accept. Rather than hard-coding field names, call these endpoints to retrieve the query types available for images, layers, and packages, along with the fields and comparison operators supported for each. Use the results to build valid filters for the search endpoints in the sections below.
| Endpoint | Name | Description |
|---|---|---|
| GET /public/consec/api/v1/query/types | List query types | Retrieves the available query types for assets such as images, layers, and packages, including the supported operations for each query filter field. |
| GET /public/consec/api/v1/query/types/{typeName} | Get query type operations | Retrieves the available fields and supported operations for a specified query type. |
Scanners
Manage the scanners that inspect your registries. A scanner can be a deployment scanner or a consec scanner, and the download endpoint returns the scanner binary or the cluster configuration depending on which type you created. You can also retrieve the scans currently running on a given scanner.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/scanners | Create scanner | Creates a scanner for scanning a registry. A scanner can be a deployment or a consec scanner. |
| POST /public/consec/api/v1/scanners/search | Search scanners | Retrieves a list of scanners based on the provided search filter. |
| PATCH /public/consec/api/v1/scanners/{scanner_id} | Update scanner | Updates scanner information. |
| DELETE /public/consec/api/v1/scanners/{scanner_id} | Delete scanner | Deletes a scanner. Deleted scanners can no longer be run. |
| GET /public/consec/api/v1/scanners/{scanner_id}/download | Download scanner | Downloads the scanner binary for a consec scanner, or the cluster configuration for a deployment scanner. |
| GET /api/v1/scanJobs/{scanner_id} | List scanner jobs | Retrieves the list of running scans for the specified scanner. |
Scans
Create, configure, and control container image scans. Scan configurations are managed independently of execution, so you can create and update a scan and then start it on demand or stop one that is already running.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/scans | Create scan | Creates a scan with the specified configuration. |
| POST /public/consec/api/v1/scans/search | Search scans | Retrieves a list of scans that meet the specified search criteria. |
| GET /public/consec/api/v1/scans/{id} | Get scan details | Retrieves details for a single scan. |
| PUT /public/consec/api/v1/scans/{id} | Update scan | Updates scan details. |
| DELETE /public/consec/api/v1/scans/{id} | Delete scan | Deletes a scan configuration. |
| PUT /public/consec/api/v1/scans/{id}/run | Run scan | Initiates a scan to be executed immediately. |
| PUT /public/consec/api/v1/scans/{id}/stop | Stop scan | Stops a running scan. |
Vulnerabilities
Search the vulnerabilities detected across your container images. Use these endpoints to retrieve the current vulnerability set for reporting or triage, and the Exports endpoints above to pull the images, layers, and packages each vulnerability affects.
| Endpoint | Name | Description |
|---|---|---|
| POST /public/consec/api/v1/vulns/search | Search vulnerabilities | Retrieves a list of vulnerabilities that meet the search criteria. |
| POST /public/consec/api/v1/vulns/search/count | Count vulnerabilities | Retrieves the total number of vulnerabilities that match the search filter. |
For more information about Tenable Enclave Security, see the Tenable Enclave Security User Guide. For information about Tenable Container Security, see the Tenable Container Security User Guide.
