OpenAPI Specification
openapi: 3.0.0
info:
version: 1.0.0
title: Downloads About Profile 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: Profile
description: A set of Checker option value
paths:
/api/profiles:
get:
summary: Retrieve all profile instances.
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'200':
description: ''
content:
application/json:
schema:
description: Validates the get /profiles response
type: array
items:
description: Profile
type: object
additionalProperties: false
required:
- id
- name
- deleted
- directories
- dirty
- hasEverBeenCommitted
properties:
id:
type: number
description: Unique numeric identifier of the profile
name:
type: string
description: User-defined name of the profile
deleted:
type: boolean
deprecated: true
description: Deprecated, profiles aren't soft-deleted anymore.
directories:
type: array
items:
type: number
deprecated: true
description: Deprecated, used to indicates which directories the profile applied to. See "directoryId" property in indicator options instead.
x-$comment: TO REMOVE once this field is not used anymore. Delete key DIRECTORY_PER_PROFILE
dirty:
type: boolean
description: Whether there are pending changes in the profile options
hasEverBeenCommitted:
type: boolean
description: Whether the profile has ever been applied
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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 profile instance.
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'201':
description: ''
content:
application/json:
schema:
description: Validates the get /profiles response
type: array
minItems: 1
items:
description: Profile
type: object
additionalProperties: false
required:
- id
- name
- deleted
- directories
- dirty
- hasEverBeenCommitted
properties:
id:
type: number
description: Unique numeric identifier of the profile
name:
type: string
description: User-defined name of the profile
deleted:
type: boolean
deprecated: true
description: Deprecated, profiles aren't soft-deleted anymore.
directories:
type: array
items:
type: number
deprecated: true
description: Deprecated, used to indicates which directories the profile applied to. See "directoryId" property in indicator options instead.
x-$comment: TO REMOVE once this field is not used anymore. Delete key DIRECTORY_PER_PROFILE
dirty:
type: boolean
description: Whether there are pending changes in the profile options
hasEverBeenCommitted:
type: boolean
description: Whether the profile has ever been applied
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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: Profile
type: array
minItems: 1
items:
type: object
additionalProperties: false
required:
- name
- directories
properties:
name:
type: string
pattern: ^(?!([tT][eE][nN][aA][bB][lL][eE])$).*$
directories:
type: array
items:
type: integer
/api/profiles/{id}:
get:
summary: Get profile instance by id.
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'200':
description: ''
content:
application/json:
schema:
description: Profile
type: object
additionalProperties: false
required:
- id
- name
- deleted
- directories
- dirty
- hasEverBeenCommitted
properties:
id:
type: number
name:
type: string
deleted:
type: boolean
directories:
type: array
items:
type: number
dirty:
type: boolean
hasEverBeenCommitted:
type: boolean
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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: []
patch:
summary: Update profile instance.
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'200':
description: ''
content:
application/json:
schema:
description: Profile
type: object
additionalProperties: false
required:
- id
- name
- deleted
- directories
- dirty
- hasEverBeenCommitted
properties:
id:
type: number
name:
type: string
deleted:
type: boolean
directories:
type: array
items:
type: number
dirty:
type: boolean
hasEverBeenCommitted:
type: boolean
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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: []
requestBody:
required: true
content:
application/json:
schema:
description: Profile
type: object
additionalProperties: false
properties:
name:
type: string
pattern: ^(?!([tT][eE][nN][aA][bB][lL][eE])$).*$
deleted:
type: boolean
directories:
type: array
items:
type: number
minimum: 0
maximum: 2147483647
delete:
summary: Delete profile instance.
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'204':
description: ''
content:
application/json:
schema:
description: Profile
nullable: true
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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/profiles/from/{fromId}:
post:
summary: Creates a new profile from another one
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'204':
description: ''
content:
application/json:
schema:
description: Validates the POST /profiles/from/{fromId} response
type: object
additionalProperties: false
required:
- id
- name
- deleted
- directories
- dirty
- hasEverBeenCommitted
properties:
id:
type: number
description: Unique numeric identifier of the profile
name:
type: string
description: User-defined name of the profile
deleted:
type: boolean
deprecated: true
description: Deprecated, profiles aren't soft-deleted anymore.
directories:
type: array
items:
type: number
deprecated: true
description: Deprecated, used to indicates which directories the profile applied to. See "directoryId" property in indicator options instead.
x-$comment: TO REMOVE once this field is not used anymore. Delete key DIRECTORY_PER_PROFILE
dirty:
type: boolean
description: Whether there are pending changes in the profile options
hasEverBeenCommitted:
type: boolean
description: Whether the profile has ever been applied
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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: fromId
in: path
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: true
deprecated: false
security:
- ApiKey: []
requestBody:
required: true
content:
application/json:
schema:
description: Profile
type: object
additionalProperties: false
required:
- name
- directories
properties:
name:
type: string
pattern: ^(?!([tT][eE][nN][aA][bB][lL][eE])$).*$
directories:
type: array
items:
type: integer
/api/profiles/{id}/unstage:
post:
summary: Unstages change of the related profile
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'204':
description: ''
content:
application/json:
schema:
description: Profile
nullable: true
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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/profiles/{id}/commit:
post:
summary: Commits change of the related profile
description: 'Required license type: ioe, ioa, ioaPreview'
responses:
'204':
description: ''
content:
application/json:
schema:
description: Profile
nullable: true
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Profile
x-tenablead-required-product-license-type:
- ioe
- ioa
- ioaPreview
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: []
components:
securitySchemes:
Bearer:
type: apiKey
in: header
name: Authorization
description: 'Example: Bearer {{token}}'
x-readme:
proxy-enabled: false
explorer-enabled: true
samples-enabled: true
samples-languages:
- python
- curl
- node
- powershell
- ruby
- javascript
- objectivec
- java
- php
- csharp
- go
- swift
- kotlin