Tenable Cloud Connectors API
The Cloud Connectors API from Tenable — 6 operation(s) for cloud connectors.
The Cloud Connectors API from Tenable — 6 operation(s) for cloud connectors.
openapi: 3.0.0
info:
version: 1.0.0
title: Downloads About Cloud Connectors API
description: 'The Downloads API enables customers to access and download installation and update files for available Tenable products. You can use the API endpoints to list product pages, list downloads available for a specific product, and to download a file. The endpoints can also be used to determine and download the latest version of a file to facilitate the automation of an installation.
**Note:** The Tenable Downloads API uses a different server URL than the Tenable Vulnerability Management API:
`https://www.tenable.com/downloads/api/v2/pages`.
### Authentication
Like the Downloads website, certain files require authentication to download. When files have a `"requires_auth": true` attribute on the product list page, the Downloads API uses bearer token authentication and requires a valid token in the Authorization header to download the file:
```
Authorization: Bearer AbCdEf123456
```
To access or reset your authentication token, navigate to the [Authentication Token](https://www.tenable.com/downloads/api-docs) page.
Examples of product downloads that **do not** require authentication include Nessus and Nessus Agents.'
servers:
- url: https://www.tenable.com/downloads/api/v2
security:
- Bearer: []
tags:
- name: Cloud Connectors
x-displayName: Cloud Connectors
paths:
/settings/connectors:
post:
summary: Create connector
description: 'Creates a Tenable Vulnerability Management cloud connector.
**Note:** For AWS cloud connectors, you can get the available AWS cloudtrails for your account via the [POST /settings/connectors/aws/cloudtrails](#io-connectors-get-aws-cloudtrails) endpoint.
**Note:** Frictionless Assessment has reached the End-of-Provisioning phase of its product lifecycle. For more information, see [Frictionless Assessment End-of-Provisioning](https://developer.tenable.com/changelog/tenableio-frictionless-assessment-end-of-provisioning). <div class="perms-callout">Requires the Administrator [64] user role. See [Roles](doc:roles).</div>'
operationId: io-connectors-create
tags:
- Cloud Connectors
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_Request-ConnectorCreate'
responses:
'200':
description: Returned if the cloud connector was created successfully.
content:
application/json:
schema:
type: object
properties:
connector:
type: array
items:
$ref: '#/components/schemas/Cloud_Connectors_Response-Connector'
examples:
AWS (Keyed):
value:
connector:
type: aws
human_type: AWS
data_type: assets
name: AWS Connector - Keyed
status: Scheduled
status_message: ''
schedule:
units: days
value: 1
schedule_full:
units: days
value: 1
date_created: '2019-12-31T20:50:23.635Z'
id: 6d75a992-0727-4d84-aa5f-ebae0185868b
container_uuid: 154a05bd-3f27-495a-a001-a659c24eb1a4
expired: false
incremental_mode: false
params:
access_key: AJIAJLRNVRLZRDZLVBXR
trails:
- arn: arn:aws:cloudtrail:us-east-1:069647819620:trail/ExampleAWSTrail
name: ExampleAWSTrail
region:
name: All
friendly_name: All
availability: ''
service: aws
network_uuid: 2825e3c9-16be-41f4-8b83-dfe534d10627
AWS (Keyless) (Discovery Only):
value:
connector:
network_uuid: 00000000-0000-0000-0000-000000000000
name: AWS Keyless Discovery Connector
type: aws_keyless
schedule:
units: minutes
value: 30
params:
sub_accounts:
- account_id: 012391564378
trails: []
AWS with Frictionless Assessment:
value:
connector:
type: aws_fa
human_type: AWS Frictionless Assessment
data_type: assets
name: TEST AWS_FA1
status: Saved
status_message: FA Enabled
date_created: '2022-05-31T17:13:59.026Z'
id: 1fb9f3da-54a2-493f-9039-bca8d3bf3654
container_uuid: ac737cab-114a-4cc1-9f14-07319a20e5a1
expired: false
incremental_mode: false
params:
service: aws_fa
tag:
key: TEST
value: EXAMPLE
account:
account_id: '571474113282'
role_arn: arn:aws:iam::571474113282:role/tenableio-connector_dev
network_uuid: 00000000-0000-0000-0000-000000000000
Azure:
value:
connector:
type: azure
human_type: Azure
data_type: assets
name: Azure Connector
status: Scheduled
status_message: ''
schedule:
units: days
value: 1
is_empty: false
date_created: '2021-08-06T21:27:30.784Z'
id: 1b372203-f5fb-4ee9-8940-680b750c0378
container_uuid: 77218c8a-0035-4074-90fe-81da235045d4
expired: false
incremental_mode: false
params:
application_id: appid
tenant_id: tenid
import_config: false
subscription_id: []
service: azure
network_uuid: 00000000-0000-0000-0000-000000000000
Azure with Frictionless Assessment:
value:
connector:
type: azure_fa
human_type: Azure Frictionless Assessment
data_type: assets
name: Azure Frictionless Assessment Connector
status: Saved
status_message: ''
date_created: '2021-11-22T05:53:47.131Z'
id: e8ea5b08-e50c-4469-80df-32c9639bec32
container_uuid: af90392b-646e-4a45-ba07-5670efee1b08
expired: false
incremental_mode: false
params:
service: azure_fa
targets:
- resource_group: MyResourceGroup
tag_key: MyTagKey
tag_value: MyTagValue
scan_all: false
network_uuid: 00000000-0000-0000-0000-000000000000
GCP (Keyed):
value:
connector:
type: gcp
human_type: GCP
data_type: assets
name: GCP Connector
status: Scheduled
status_message: ''
schedule:
units: minutes
value: 30
is_empty: false
date_created: '2021-08-24T13:20:44.826Z'
id: 1deacf47-eabe-4fec-9fa4-6c13a88203a9
container_uuid: 4a80392b-646e-4a45-ba07-5670efee1bf9
expired: false
incremental_mode: false
params:
service: gcp
network_uuid: 00000000-0000-0000-0000-000000000000
GCP Workload Identity Federation:
value:
connector:
type: gcp_keyless
human_type: GCP
data_type: assets
name: GCP Workload Identity Federation Connector
status: Scheduled
status_message: ''
schedule:
units: days
value: 1
is_empty: false
date_created: '2025-01-13T17:44:05.752Z'
id: fdb15b71-231d-4b5d-a50f-460321659854
container_uuid: a236c1a2-4aa2-46ca-9435-289a19e6df2d
expired: false
incremental_mode: false
params:
service: gcp_keyless
network_uuid: 00000000-0000-0000-0000-000000000000
'400':
description: Returned if your request specified invalid parameters or if your request was improperly formatted.
'401':
description: Returned if the API keys specified in your request are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_ErrorResponse'
examples:
response:
value:
statusCode: 401
error: Unauthorized
message: Invalid credentials.
'403':
description: Returned if you do not have permission to create a cloud connector.
'429':
description: Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting).
content:
text/html:
examples:
response:
value: "<html>\n\n<head>\n <title>429 Too Many Requests</title>\n</head>\n\n<body bgcolor=\"white\">\n <center>\n <h1>429 Too Many Requests</h1>\n </center>\n <hr>\n <center>nginx</center>\n</body>\n\n</html>"
'500':
description: Returned if an internal error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_ErrorResponse'
examples:
response:
value:
statusCode: 500
error: Internal Server Error
message: An internal server error occurred. Please wait a moment and try your request again.
security:
- Cloud_Connectors_cloud: []
get:
summary: List connectors
description: Returns a list of connectors.<p>For information about connector error codes, see [Connectors](doc:io-connectors).</p><div class="perms-callout">Requires the Administrator [64] user role. See [Roles](doc:roles).</div>
operationId: io-connectors-list
tags:
- Cloud Connectors
parameters:
- description: The number of records to retrieve. If this parameter is omitted, Tenable Vulnerability Management uses the default value of `1000`.
required: false
name: limit
in: query
schema:
type: integer
format: int32
- description: The starting record to retrieve. If this parameter is omitted, Tenable Vulnerability Management uses the default value of `0`.
required: false
name: offset
in: query
schema:
type: integer
format: int32
- description: 'The field you want to use to sort the results by along with the sort order. The field is specified first, followed by a colon, and the order is specified second (`asc` or `desc`). For example, `name:desc` would sort results by the `name` field in descending order.
If you specify multiple fields, the fields must be separated by commas. For example, `name:desc,date_created:asc` would first sort results by the `name` field in descending order and then by the `date_created` field in ascending order.'
required: false
name: sort
in: query
schema:
type: string
responses:
'200':
description: Returned if the list of cloud connectors was retrieved successfully.
content:
application/json:
schema:
type: object
properties:
connectors:
type: array
items:
$ref: '#/components/schemas/Cloud_Connectors_Response-Connector'
pagination:
$ref: '#/components/schemas/Cloud_Connectors_Response-Pagination'
examples:
response:
value:
connectors:
- type: aws_keyless
human_type: AWS
data_type: assets
name: AWS FA Connector
is_fa: true
status: Scheduled
status_message: Import completed successfully
schedule:
units: minutes
value: 30
is_empty: false
date_created: '2021-07-22T14:31:15.616Z'
date_modified: '2021-07-22T14:31:27.098Z'
id: 56d31cbe-efab-47d6-8158-749192629954
container_uuid: 9164fd5e-5013-4fa2-bfce-557c54f7a7e4
expired: false
incremental_mode: true
last_sync_time: '2021-07-22T14:31:27.098Z'
last_run: '2021-07-22T14:31:39.809Z'
params:
sub_accounts:
- account_id: 012345678901
trails: []
role_arn: arn:aws:iam::012345678901:role/tenableio-connector_example
external_id: 5147401f-d006-4a2b-9ded-a40c156be579
incremental_mode: false
import_config: false
auto_discovery: true
tags:
- key: Tenable
value: FA
service: aws_keyless
network_uuid: 00000000-0000-0000-0000-000000000000
last_seen_updated: '2021-07-22T14:31:39.801Z'
- type: aws_keyless
human_type: AWS
data_type: assets
name: AWS Discovery Connector
status: Scheduled
status_message: Import completed successfully
schedule:
units: minutes
value: 30
is_empty: false
date_created: '2021-07-22T14:31:14.958Z'
date_modified: '2021-07-22T14:31:18.109Z'
id: a66a1c02-8580-44fd-871b-b7aed14f784e
container_uuid: 38a5c3f1-a0e7-47a7-8a5e-36f586d186ee
expired: false
incremental_mode: true
last_sync_time: '2021-07-22T14:31:18.109Z'
last_run: '2021-07-22T14:31:31.308Z'
params:
sub_accounts:
- account_id: 012345678901
trails: []
role_arn: arn:aws:iam::012345678901:role/tenableio-connector_example
external_id: 6253e895-ac86-4024-9fca-952b17cb327a
incremental_mode: false
import_config: false
auto_discovery: true
service: aws_keyless
network_uuid: 00000000-0000-0000-0000-000000000000
last_seen_updated: '2021-07-22T14:31:31.296Z'
- type: aws
human_type: AWS
data_type: assets
name: AWS Connector - Keyed
status: Saved
status_message: ''
date_created: '2019-12-31T20:18:59.509Z'
id: a66f2220-2c81-4970-b576-6f0cc6f976be
container_uuid: 154a05bd-3f27-495a-a001-a659c24eb1a4
expired: false
incremental_mode: false
params:
access_key: AJIAJLRNVRLZRDZLVBXR
trails:
- arn: arn:aws:cloudtrail:us-east-1:069647819620:trail/ExampleAWSTrail
name: ExampleAWSTrail
region:
name: All
friendly_name: All
availability: success
sub_accounts: []
service: aws
network_uuid: 2825e3c9-16be-41f4-8b83-dfe534d10627
- type: azure
human_type: Azure
data_type: assets
name: Azure Connector
status: Completed
status_message: Import completed successfully
date_created: '2019-11-31T19:56:23.713Z'
date_modified: '2019-12-31T20:09:01.241Z'
id: 0e51d315-30dc-4506-8fd6-7ccfd47b4bf3
container_uuid: 154a05bd-3f27-495a-a001-a659c24eb1a4
expired: false
incremental_mode: false
last_sync_time: '2019-12-31T20:09:01.241Z'
params:
status:
439c6328-7d1d-41f0-bd11-66807c79e991:
last_event_seen: '2019-12-31T20:08:59.190Z'
release_timestamp: '2019-12-31T20:09:00.315Z'
message: Import completed successfully
state: SUCCESS
ac210f05-7ad5-4036-b916-d9528bb6a41f:
last_event_seen: '2019-12-31T20:09:01.241Z'
release_timestamp: '2019-12-31T20:09:01.504Z'
message: Import completed successfully
state: SUCCESS
application_id: 70d0c4fb-84c8-4853-a936-3805f485ed72
tenant_id: edcf3500-7f5b-432d-848e-af299a529d51
subscription_id: []
service: azure
network_uuid: 00000000-0000-0000-0000-000000000000
- type: azure_fa
human_type: Azure Frictionless Assessment
data_type: assets
name: Azure FA
status: Saved
status_message: ''
date_created: '2024-12-02T05:58:18.819Z'
id: a7c80be3-de3f-45de-aa0c-4d9714233390
container_uuid: d036c1a2-4aa2-46ca-9435-289a19e6df2d
expired: false
incremental_mode: false
params:
service: azure_fa
targets: []
scan_all: true
network_uuid: 00000000-0000-0000-0000-000000000000
- type: aws_keyless
human_type: AWS
data_type: assets
name: AWS Keyless Connector
status: Saved
status_message: ''
date_created: '2019-12-31T14:18:30.350Z'
id: 4e11d8af-de87-4fe8-a51a-e2b6ee420ce4
container_uuid: 154a05bd-3f27-495a-a001-a659c24eb1a4
expired: false
incremental_mode: false
params:
sub_accounts:
- role_arn: arn:aws:iam::795163652895:role/tenableio-connector
external_id: 154a05bd-3f27-495a-a001-a659c24eb1a4
trails:
- arn: arn:aws:cloudtrail:us-east-1:795163652895:trail/ExampleAWSTrail
name: ExampleAWSTrail
region:
name: All
friendly_name: All
availability: success
incremental_mode: false
account_id: '795163652895'
service: aws
network_uuid: 89578c5d-931a-4bae-bcd6-421cacfad3b8
- type: gcp_keyless
human_type: GCP
data_type: assets
name: GCP Workload Identity Federation Connector
status: Scheduled
status_message: Import completed successfully
schedule:
units: minutes
value: 30
is_empty: false
date_created: '2024-12-20T15:32:03.720Z'
date_modified: '2025-01-23T22:17:01.573Z'
id: afc651ca-1585-495b-9c89-b38140cfc7dd
container_uuid: b036c1a2-4aa2-46ca-9435-289a19e6df2d
expired: false
incremental_mode: true
last_sync_time: '2025-01-23T22:17:01.573Z'
last_run: '2025-01-23T22:17:01.998Z'
params:
status:
project-1234:
last_event_seen: '2025-01-23T22:17:01.573Z'
release_timestamp: '2025-01-23T22:20:35.201Z'
message: Import completed successfully
state: SUCCESS
service: gcp_keyless
network_uuid: 00000000-0000-0000-0000-000000000000
last_seen_updated: '2025-01-23T00:08:17.715Z'
pagination:
total: 5
offset: 0
limit: 1000
sort:
- name: date_created
order: desc
'401':
description: Returned if the API keys specified in your request are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_ErrorResponse'
examples:
response:
value:
statusCode: 401
error: Unauthorized
message: Invalid credentials.
'403':
description: Returned if you do not have permission to view the list of cloud connectors.
'429':
description: Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting).
content:
text/html:
examples:
response:
value: "<html>\n\n<head>\n <title>429 Too Many Requests</title>\n</head>\n\n<body bgcolor=\"white\">\n <center>\n <h1>429 Too Many Requests</h1>\n </center>\n <hr>\n <center>nginx</center>\n</body>\n\n</html>"
'500':
description: Returned if an internal error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_ErrorResponse'
examples:
response:
value:
statusCode: 500
error: Internal Server Error
message: An internal server error occurred. Please wait a moment and try your request again.
security:
- Cloud_Connectors_cloud: []
/settings/connectors/{connector_id}:
get:
summary: Get connector details
description: Returns the details for the specified connector.<p>For information about connector error codes, see [Connectors](doc:io-connectors).</p><div class="perms-callout">Requires the Administrator [64] user role. See [Roles](doc:roles).</div>
operationId: io-connectors-details
tags:
- Cloud Connectors
parameters:
- description: The UUID of the connector to return details for.
required: true
name: connector_id
in: path
schema:
type: string
responses:
'200':
description: Returned if the details for the specified cloud connector were retrieved successfully.
content:
application/json:
schema:
type: object
properties:
connector:
type: array
items:
$ref: '#/components/schemas/Cloud_Connectors_Response-Connector'
examples:
AWS - Keyed:
value:
connector:
type: aws
human_type: AWS
data_type: assets
name: AWS - Keyed
status: Scheduled
status_message: ''
schedule:
units: days
value: 1
schedule_full:
units: days
value: 1
date_created: '2019-12-31T20:50:23.635Z'
id: 6d75a992-0727-4d84-aa5f-ebae0185868b
container_uuid: 154a05bd-3f27-495a-a001-a659c24eb1a4
expired: false
incremental_mode: false
params:
access_key: AJIAJLRNVRLZRDZLVBXR
trails:
- arn: arn:aws:cloudtrail:us-east-1:069647819620:trail/ExampleAWSTrail
name: ExampleAWSTrail
region:
name: All
friendly_name: All
availability: ''
service: aws
network_uuid: 89578c5d-931a-4bae-bcd6-421cacfad3b8
AWS - Keyless (Discovery with FA):
value:
connector:
type: aws_keyless
human_type: AWS
data_type: assets
name: AWS Keyless with Frictionless Assessment Connector
is_fa: true
status: Scheduled
status_message: Import completed successfully
schedule:
units: minutes
value: 30
is_empty: false
date_created: '2021-07-22T14:31:15.616Z'
date_modified: '2021-07-22T14:31:27.098Z'
id: b3397cb2-6650-432b-ae1c-fc64ec7ef6ba
container_uuid: 7930d8cc-27c0-43cc-abdb-b846e2b13414
expired: false
incremental_mode: true
last_sync_time: '2021-07-22T14:31:27.098Z'
last_run: '2021-07-22T14:31:39.809Z'
params:
sub_accounts:
- account_id: 012345678910
trails: []
role_arn: arn:aws:iam::012345678910:role/tenableio-connector_example
external_id: 7930d8cc-27c0-43cc-abdb-b846e2b13414
incremental_mode: false
import_config: false
auto_discovery: true
tags:
- key: Tenable
value: FA
service: aws_keyless
network_uuid: 00000000-0000-0000-0000-000000000000
last_seen_updated: '2021-07-22T14:31:39.801Z'
'401':
description: Returned if the API keys specified in your request are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_ErrorResponse'
examples:
response:
value:
statusCode: 401
error: Unauthorized
message: Invalid credentials.
'403':
description: Returned if you do not have permission to view cloud connector details.
'404':
description: Returned if the specified connector doesn't exist.
content:
application/json:
examples:
response:
value:
error: Could not find connector with UUID a2e7e8a6-a818-4e15-82f9-a945c1d3c8d4 in container with UUID b436c1a2-4aa2-46ca-9435-289a19e6df2d
'429':
description: Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting).
content:
text/html:
examples:
response:
value: "<html>\n\n<head>\n <title>429 Too Many Requests</title>\n</head>\n\n<body bgcolor=\"white\">\n <center>\n <h1>429 Too Many Requests</h1>\n </center>\n <hr>\n <center>nginx</center>\n</body>\n\n</html>"
'500':
description: Returned if an internal error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_ErrorResponse'
examples:
response:
value:
statusCode: 500
error: Internal Server Error
message: An internal server error occurred. Please wait a moment and try your request again.
security:
- Cloud_Connectors_cloud: []
put:
summary: Update connector
description: 'Updates the specified connector. You can change the connector name, associated service accounts, and schedule. You cannot change the connector type for an existing connector.
**Note:** Frictionless Assessment has reached the End-of-Provisioning phase of its product lifecycle. For more information, see [Frictionless Assessment End-of-Provisioning](https://developer.tenable.com/changelog/tenableio-frictionless-assessment-end-of-provisioning). <div class="perms-callout">Requires the Administrator [64] user role. See [Roles](doc:roles).</div>'
operationId: io-connectors-update
tags:
- Cloud Connectors
parameters:
- description: The UUID of the connector to update.
required: true
name: connector_id
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Cloud_Connectors_Request-UpdateConnector'
responses:
'200':
description: Returned if the specified cloud connector was updated successfully.
content:
application/json:
schema:
type: object
properties:
id:
# --- truncated at 32 KB (118 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tenable/refs/heads/main/openapi/tenable-cloud-connectors-api-openapi.yml