Tenable Directory API

Represents an Active directory

OpenAPI Specification

tenable-directory-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Downloads About Directory 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: Directory
  description: Represents an Active directory
paths:
  /api/directories:
    get:
      summary: Retrieve all directory instances.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the GET /directory response
                type: array
                items:
                  description: Directory
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - name
                  - ip
                  - type
                  - ldapPort
                  - globalCatalogPort
                  - smbPort
                  - dns
                  - infrastructureId
                  - infrastructureName
                  - ldapInitialized
                  - sysvolInitialized
                  - ldapCrawlingStatus
                  - sysvolCrawlingStatus
                  - sensitiveDataCollectionIsEnabled
                  - ioaProcedureInstalled
                  - ioaProcedureFailureReason
                  - ioaProcedureFailureDescription
                  - relayId
                  properties:
                    id:
                      type: integer
                      description: Unique numeric identifier of the directory
                    name:
                      type: string
                      description: User-defined name of the directory
                    ip:
                      type: string
                      description: IP address or hostname of the Primary Domain Controller
                    type:
                      type: string
                      description: Type of directory
                      enum:
                      - ADDS
                      x-$comment: Always "ADDS" for directories created via the web UI
                    ldapPort:
                      type: integer
                      description: LDAP port of the Primary Domain Controller
                    globalCatalogPort:
                      type: integer
                      description: Global Catalog port of the Primary Domain Controller
                    smbPort:
                      type: integer
                      description: SMB port of the Primary Domain Controller
                    dns:
                      type: string
                      description: Fully qualified domain name of the domain
                    infrastructureId:
                      type: number
                      description: Identifier of the infrastructure to which the directory belongs
                    infrastructureName:
                      type: string
                      description: Name of the infrastructure to which the directory belongs
                    ldapInitialized:
                      oneOf:
                      - not:
                          nullable: true
                        format: int64
                        nullable: true
                      description: Identifier of the event at which the last LDAP crawling ended
                    sysvolInitialized:
                      oneOf:
                      - not:
                          nullable: true
                        format: int64
                        nullable: true
                      description: Identifier of the event at which the last SYSVOL crawling ended
                    ldapCrawlingStatus:
                      description: LDAP crawling status
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    sysvolCrawlingStatus:
                      description: SYSVOL crawling status
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    honeyAccountAdObjectId:
                      type: integer
                      description: Identifier of the AD object configured to be the directory's Honey Account
                      nullable: true
                    honeyAccountDistinguishedName:
                      type: string
                      description: Distinguished name of the AD object configured to be the directory's Honey Account
                      nullable: true
                    honeyAccountConfigurationStatus:
                      type: string
                      enum:
                      - none
                      - pending
                      - missing
                      - misconfigured
                      - configured
                      description: Configuration status of the directory's Honey Account
                    sensitiveDataCollectionIsEnabled:
                      type: boolean
                    sensitiveDataCollectionStatus:
                      description: Connectivity status of the sensitive data collection
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    ioaProcedureInstalled:
                      type: boolean
                    ioaProcedureFailureReason:
                      description: Directory ioa procedure failure reason
                      type: string
                      enum:
                      - unknown
                      - gpo_not_found
                      - directory_missing
                      - file_not_writable
                      - insufficient_right
                      - configuration_not_sync
                      - evt_listener_not_installed
                      - evt_listener_blocking_errors
                      - null
                      nullable: true
                    ioaProcedureFailureDescription:
                      type: string
                      nullable: true
                    relayId:
                      oneOf:
                      - type: integer
                        nullable: true
                      description: The relayId
                    relayUuid:
                      oneOf:
                      - type: string
                        nullable: true
                      description: The relayUuid
                    directoryUuid:
                      type: string
                      format: uuid
                      description: The directoryUuid
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Directory
      x-tenablead-required-product-license-type:
      - ioa
      - ioaPreview
      - ioe
      parameters:
      - name: x-api-key
        description: The user's API key
        in: header
        schema:
          type: string
          default: put-your-api-key-here
        required: true
        deprecated: false
      security:
      - ApiKey: []
    post:
      summary: Create directory instance.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the POST /directory response
                type: array
                minItems: 1
                items:
                  description: Directory
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - name
                  - ip
                  - type
                  - ldapPort
                  - globalCatalogPort
                  - smbPort
                  - dns
                  - infrastructureId
                  - infrastructureName
                  - ldapInitialized
                  - sysvolInitialized
                  - ldapCrawlingStatus
                  - sysvolCrawlingStatus
                  - sensitiveDataCollectionIsEnabled
                  - ioaProcedureInstalled
                  - ioaProcedureFailureReason
                  - ioaProcedureFailureDescription
                  - relayId
                  properties:
                    id:
                      type: integer
                      description: Unique numeric identifier of the directory
                    name:
                      type: string
                      description: User-defined name of the directory
                    ip:
                      type: string
                      description: IP address or hostname of the Primary Domain Controller
                    type:
                      type: string
                      description: Type of directory
                      enum:
                      - ADDS
                      x-$comment: Always "ADDS" for directories created via the web UI
                    ldapPort:
                      type: integer
                      description: LDAP port of the Primary Domain Controller
                    globalCatalogPort:
                      type: integer
                      description: Global Catalog port of the Primary Domain Controller
                    smbPort:
                      type: integer
                      description: SMB port of the Primary Domain Controller
                    dns:
                      type: string
                      description: Fully qualified domain name of the domain
                    infrastructureId:
                      type: number
                      description: Identifier of the infrastructure to which the directory belongs
                    infrastructureName:
                      type: string
                      description: Name of the infrastructure to which the directory belongs
                    ldapInitialized:
                      oneOf:
                      - not:
                          nullable: true
                        format: int64
                        nullable: true
                      description: Identifier of the event at which the last LDAP crawling ended
                    sysvolInitialized:
                      oneOf:
                      - not:
                          nullable: true
                        format: int64
                        nullable: true
                      description: Identifier of the event at which the last SYSVOL crawling ended
                    ldapCrawlingStatus:
                      description: LDAP crawling status
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    sysvolCrawlingStatus:
                      description: SYSVOL crawling status
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    honeyAccountAdObjectId:
                      type: integer
                      description: Identifier of the AD object configured to be the directory's Honey Account
                      nullable: true
                    honeyAccountDistinguishedName:
                      type: string
                      description: Distinguished name of the AD object configured to be the directory's Honey Account
                      nullable: true
                    honeyAccountConfigurationStatus:
                      type: string
                      enum:
                      - none
                      - pending
                      - missing
                      - misconfigured
                      - configured
                      description: Configuration status of the directory's Honey Account
                    sensitiveDataCollectionIsEnabled:
                      type: boolean
                    sensitiveDataCollectionStatus:
                      description: Connectivity status of the sensitive data collection
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    ioaProcedureInstalled:
                      type: boolean
                    ioaProcedureFailureReason:
                      description: Directory ioa procedure failure reason
                      type: string
                      enum:
                      - unknown
                      - gpo_not_found
                      - directory_missing
                      - file_not_writable
                      - insufficient_right
                      - configuration_not_sync
                      - evt_listener_not_installed
                      - evt_listener_blocking_errors
                      - null
                      nullable: true
                    ioaProcedureFailureDescription:
                      type: string
                      nullable: true
                    relayId:
                      oneOf:
                      - type: integer
                        nullable: true
                      description: The relayId
                    relayUuid:
                      oneOf:
                      - type: string
                        nullable: true
                      description: The relayUuid
                    directoryUuid:
                      type: string
                      format: uuid
                      description: The directoryUuid
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Directory
      x-tenablead-required-product-license-type:
      - ioa
      - ioaPreview
      - ioe
      parameters:
      - name: x-api-key
        description: The user's API key
        in: header
        schema:
          type: string
          default: put-your-api-key-here
        required: true
        deprecated: false
      security:
      - ApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Validates the POST /directory request
              type: array
              minItems: 1
              items:
                type: object
                additionalProperties: false
                required:
                - name
                - ip
                - infrastructureId
                - dns
                properties:
                  infrastructureId:
                    type: number
                    minimum: 0
                    maximum: 2147483647
                  name:
                    type: string
                  ip:
                    type: string
                  type:
                    type: string
                    enum:
                    - ADDS
                  ldapPort:
                    type: integer
                  globalCatalogPort:
                    type: integer
                  smbPort:
                    type: integer
                  dns:
                    type: string
                  sensitiveDataCollectionIsEnabled:
                    type: boolean
                  relayId:
                    oneOf:
                    - type: integer
                      nullable: true
  /api/directories/{id}:
    get:
      summary: Get directory instance by id.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Directory
                type: object
                additionalProperties: false
                required:
                - id
                - name
                - ip
                - type
                - ldapPort
                - globalCatalogPort
                - smbPort
                - dns
                - infrastructureId
                - infrastructureName
                - ldapInitialized
                - sysvolInitialized
                - ldapCrawlingStatus
                - sysvolCrawlingStatus
                - sensitiveDataCollectionIsEnabled
                - ioaProcedureInstalled
                - ioaProcedureFailureReason
                - ioaProcedureFailureDescription
                - relayId
                properties:
                  id:
                    type: integer
                    description: Unique numeric identifier of the directory
                  name:
                    type: string
                    description: User-defined name of the directory
                  ip:
                    type: string
                    description: IP address or hostname of the Primary Domain Controller
                  type:
                    type: string
                    description: Type of directory
                    enum:
                    - ADDS
                    x-$comment: Always "ADDS" for directories created via the web UI
                  ldapPort:
                    type: integer
                    description: LDAP port of the Primary Domain Controller
                  globalCatalogPort:
                    type: integer
                    description: Global Catalog port of the Primary Domain Controller
                  smbPort:
                    type: integer
                    description: SMB port of the Primary Domain Controller
                  dns:
                    type: string
                    description: Fully qualified domain name of the domain
                  infrastructureId:
                    type: number
                    description: Identifier of the infrastructure to which the directory belongs
                  infrastructureName:
                    type: string
                    description: Name of the infrastructure to which the directory belongs
                  ldapInitialized:
                    oneOf:
                    - not:
                        nullable: true
                      format: int64
                      nullable: true
                    description: Identifier of the event at which the last LDAP crawling ended
                  sysvolInitialized:
                    oneOf:
                    - not:
                        nullable: true
                      format: int64
                      nullable: true
                    description: Identifier of the event at which the last SYSVOL crawling ended
                  ldapCrawlingStatus:
                    description: LDAP crawling status
                    type: string
                    enum:
                    - none
                    - ongoing
                    - failure
                    - success
                  sysvolCrawlingStatus:
                    description: SYSVOL crawling status
                    type: string
                    enum:
                    - none
                    - ongoing
                    - failure
                    - success
                  honeyAccountAdObjectId:
                    type: integer
                    description: Identifier of the AD object configured to be the directory's Honey Account
                    nullable: true
                  honeyAccountDistinguishedName:
                    type: string
                    description: Distinguished name of the AD object configured to be the directory's Honey Account
                    nullable: true
                  honeyAccountConfigurationStatus:
                    type: string
                    enum:
                    - none
                    - pending
                    - missing
                    - misconfigured
                    - configured
                    description: Configuration status of the directory's Honey Account
                  sensitiveDataCollectionIsEnabled:
                    type: boolean
                  sensitiveDataCollectionStatus:
                    description: Connectivity status of the sensitive data collection
                    type: string
                    enum:
                    - none
                    - ongoing
                    - failure
                    - success
                  ioaProcedureInstalled:
                    type: boolean
                  ioaProcedureFailureReason:
                    description: Directory ioa procedure failure reason
                    type: string
                    enum:
                    - unknown
                    - gpo_not_found
                    - directory_missing
                    - file_not_writable
                    - insufficient_right
                    - configuration_not_sync
                    - evt_listener_not_installed
                    - evt_listener_blocking_errors
                    - null
                    nullable: true
                  ioaProcedureFailureDescription:
                    type: string
                    nullable: true
                  relayId:
                    oneOf:
                    - type: integer
                      nullable: true
                    description: The relayId
                  relayUuid:
                    oneOf:
                    - type: string
                      nullable: true
                    description: The relayUuid
                  directoryUuid:
                    type: string
                    format: uuid
                    description: The directoryUuid
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Directory
      x-tenablead-required-product-license-type:
      - ioa
      - ioaPreview
      - ioe
      parameters:
      - name: x-api-key
        description: The user's API key
        in: header
        schema:
          type: string
          default: put-your-api-key-here
        required: true
        deprecated: false
      - name: id
        in: path
        schema:
          type: string
          pattern: ^[0-9]+$
          x-patternError: should be a numerical string
        required: true
        deprecated: false
      security:
      - ApiKey: []
  /api/infrastructures/{infrastructureId}/directories:
    get:
      summary: Get all directories for a given infrastructure
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the GET /infrastructure/:infrastructureId/directories response
                type: array
                items:
                  description: Directory
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - name
                  - ip
                  - type
                  - ldapPort
                  - globalCatalogPort
                  - smbPort
                  - dns
                  - infrastructureId
                  - infrastructureName
                  - ldapInitialized
                  - sysvolInitialized
                  - ldapCrawlingStatus
                  - sysvolCrawlingStatus
                  - sensitiveDataCollectionIsEnabled
                  - ioaProcedureInstalled
                  - ioaProcedureFailureReason
                  - ioaProcedureFailureDescription
                  - relayId
                  properties:
                    id:
                      type: integer
                      description: Unique numeric identifier of the directory
                    name:
                      type: string
                      description: User-defined name of the directory
                    ip:
                      type: string
                      description: IP address or hostname of the Primary Domain Controller
                    type:
                      type: string
                      description: Type of directory
                      enum:
                      - ADDS
                      x-$comment: Always "ADDS" for directories created via the web UI
                    ldapPort:
                      type: integer
                      description: LDAP port of the Primary Domain Controller
                    globalCatalogPort:
                      type: integer
                      description: Global Catalog port of the Primary Domain Controller
                    smbPort:
                      type: integer
                      description: SMB port of the Primary Domain Controller
                    dns:
                      type: string
                      description: Fully qualified domain name of the domain
                    infrastructureId:
                      type: number
                      description: Identifier of the infrastructure to which the directory belongs
                    infrastructureName:
                      type: string
                      description: Name of the infrastructure to which the directory belongs
                    ldapInitialized:
                      oneOf:
                      - not:
                          nullable: true
                        format: int64
                        nullable: true
                      description: Identifier of the event at which the last LDAP crawling ended
                    sysvolInitialized:
                      oneOf:
                      - not:
                          nullable: true
                        format: int64
                        nullable: true
                      description: Identifier of the event at which the last SYSVOL crawling ended
                    ldapCrawlingStatus:
                      description: LDAP crawling status
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    sysvolCrawlingStatus:
                      description: SYSVOL crawling status
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    honeyAccountAdObjectId:
                      type: integer
                      description: Identifier of the AD object configured to be the directory's Honey Account
                      nullable: true
                    honeyAccountDistinguishedName:
                      type: string
                      description: Distinguished name of the AD object configured to be the directory's Honey Account
                      nullable: true
                    honeyAccountConfigurationStatus:
                      type: string
                      enum:
                      - none
                      - pending
                      - missing
                      - misconfigured
                      - configured
                      description: Configuration status of the directory's Honey Account
                    sensitiveDataCollectionIsEnabled:
                      type: boolean
                    sensitiveDataCollectionStatus:
                      description: Connectivity status of the sensitive data collection
                      type: string
                      enum:
                      - none
                      - ongoing
                      - failure
                      - success
                    ioaProcedureInstalled:
                      type: boolean
                    ioaProcedureFailureReason:
                      description: Directory ioa procedure failure reason
                      type: string
                      enum:
                      - unknown
                      - gpo_not_found
                      - directory_missing
                      - file_not_writable
                      - insufficient_right
                      - configuration_not_sync
                      - evt_listener_not_installed
                      - evt_listener_blocking_errors
                      - null
                      nullable: true
                    ioaProcedureFailureDescription:
                      type: string
                      nullable: true
                    relayId:
                      oneOf:
                      - type: integer
                        nullable: true
                      description: The relayId
                    relayUuid:
                      oneOf:
                      - type: string
                        nullable: true
                      description: The relayUuid
                    directoryUuid:
                      type: string
                      format: uuid
                      description: The directoryUuid
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Directory
      x-tenablead-required-product-license-type:
      - ioa
      - ioaPreview
      - ioe
      parameters:
      - name: x-api-key
        description: The user's API key
        in: header
        schema:
          type: string
          default: put-your-api-key-here
        required: true
        deprecated: false
      - name: infrastructureId
        in: path
        schema:
          type: string
          pattern: ^[0-9]+$
          x-patternError: should be a numerical string
        required: true
        deprecated: false
      security:
      - ApiKey: []
  /api/infrastructures/{infrastructureId}/directories/{id}:
    get:
      summary: Get directory instance by id.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Directory
                type: object
                additionalProperties: false
                required:
                - id
                - name
                - ip
                - type
                - ldapPort
                - globalCatalogPort
                - smbPort
                - dns
                - infrastructureId
                - infrastructureName
                - ldapInitialized
                - sysvolInitialized
                - ldapCrawlingStatus
                - sysvolCrawlingStatus
                - sensitiveDataCollectionIsEnabled
                - ioaProcedureInstalled
                - ioaProcedureFailureReason
                - ioaProcedureFailureDescription
                - relayId
                properties:
                  id:
                    type: integer
                    description: Unique numeric identifier of the directory
                  name:
                    type: string
                    description: User-defined name of the directory
                  ip:
                    type: string
                    description: IP address or hostname of the Primary Domain Controller


# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tenable/refs/heads/main/openapi/tenable-directory-api-openapi.yml