Tenable Cloud Connectors API

The Cloud Connectors API from Tenable — 6 operation(s) for cloud connectors.

OpenAPI Specification

tenable-cloud-connectors-api-openapi.yml Raw ↑
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