Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/tenable-deviance-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
OpenAPI Specification
openapi: 3.2.0
info:
version: 1.0.0
title: Downloads About Deviance 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: Deviance
description: Security deviance items
paths:
/api/deviances/changed:
get:
summary: Get all deviances that has been created or resolved since an event
description: 'Required license type: ioe'
responses:
'200':
description: ''
content:
application/json:
schema:
description: Validates the GET /deviances/changed response
type: object
properties:
_embedded:
type: object
properties:
deviance:
type: array
items:
description: AD object deviance
type: object
additionalProperties: false
required:
- id
- checkerId
- directoryId
- profileId
- adObjectId
- reasonId
- createdEventId
- resolvedEventId
- eventDate
- devianceProviderId
- attributes
- description
properties:
id:
type: number
description: Unique numeric identifier of the deviance
directoryId:
type: number
description: Identifier of the directory the underlying deviant AD object belongs to
checkerId:
type: number
description: Identifier of the checker that has emitted the deviance
profileId:
type: number
description: Identifier of the profile for which the deviance has been emitted
adObjectId:
type: number
description: Identifier of the AD object for which the deviance has been emitted
reasonId:
type: number
description: Identifier of the reason for which the deviance has been emitted
resolvedEventId:
oneOf:
- not: {}
format: int64
description: Identifier of the event that fixed the deviance
resolvedAt:
type:
- string
- 'null'
format: date-time
description: Date of the event that fixed the deviance
createdEventId:
format: int64
description: Identifier of the event that created the deviance
eventDate:
type: string
format: date-time
description: Date of the event that created the deviance
ignoreUntil:
type:
- string
- 'null'
format: date-time
description: Date until which the deviance should be ignored
devianceProviderId:
type:
- string
- 'null'
description: String identifier of the deviance, unique for non-revolved deviances
attributes:
type: array
items:
type: object
additionalProperties: false
required:
- name
- value
properties:
name:
type: string
description: Name of the deviance incriminating attribute
value:
type: string
description: JSON-stringified value of the deviance incriminating attribute
description: Deviance incriminating attributes data
description:
type: object
additionalProperties: false
required:
- template
- replacements
properties:
template:
type: string
description: Localized description template of the deviance
replacements:
type: array
items:
type: object
additionalProperties: false
required:
- name
- valueType
properties:
name:
type: string
description: Name of the deviance incriminating attribute
valueType:
type: string
description: Type of the deviance incriminating attribute
description: Metadata about the placeholders in the template
description: Deviance description data
x-_links:
type: object
additionalProperties: true
properties:
next:
type: string
description: Url of the next batch results. If there is no result for the current call, this property will not be defined
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Deviance
x-tenablead-required-product-license-type:
- 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: []
/api/directories/{directoryId}/deviances/{id}:
get:
summary: Get ad-object-deviance-history instance by id.
description: 'Required license type: ioe'
responses:
'200':
description: ''
content:
application/json:
schema:
description: AD object deviance
type: object
additionalProperties: false
required:
- id
- checkerId
- directoryId
- profileId
- adObjectId
- reasonId
- createdEventId
- resolvedEventId
- eventDate
- devianceProviderId
- attributes
- description
properties:
id:
type: number
description: Unique numeric identifier of the deviance
directoryId:
type: number
description: Identifier of the directory the underlying deviant AD object belongs to
checkerId:
type: number
description: Identifier of the checker that has emitted the deviance
profileId:
type: number
description: Identifier of the profile for which the deviance has been emitted
adObjectId:
type: number
description: Identifier of the AD object for which the deviance has been emitted
reasonId:
type: number
description: Identifier of the reason for which the deviance has been emitted
resolvedEventId:
oneOf:
- not: {}
format: int64
description: Identifier of the event that fixed the deviance
resolvedAt:
type:
- string
- 'null'
format: date-time
description: Date of the event that fixed the deviance
createdEventId:
format: int64
description: Identifier of the event that created the deviance
eventDate:
type: string
format: date-time
description: Date of the event that created the deviance
ignoreUntil:
type:
- string
- 'null'
format: date-time
description: Date until which the deviance should be ignored
devianceProviderId:
type:
- string
- 'null'
description: String identifier of the deviance, unique for non-revolved deviances
attributes:
type: array
items:
type: object
additionalProperties: false
required:
- name
- value
properties:
name:
type: string
description: Name of the deviance incriminating attribute
value:
type: string
description: JSON-stringified value of the deviance incriminating attribute
description: Deviance incriminating attributes data
description:
type: object
additionalProperties: false
required:
- template
- replacements
properties:
template:
type: string
description: Localized description template of the deviance
replacements:
type: array
items:
type: object
additionalProperties: false
required:
- name
- valueType
properties:
name:
type: string
description: Name of the deviance incriminating attribute
valueType:
type: string
description: Type of the deviance incriminating attribute
description: Metadata about the placeholders in the template
description: Deviance description data
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Deviance
x-tenablead-required-product-license-type:
- 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: directoryId
in: path
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
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/export/profiles/{profileId}/checkers/{checkerId}:
get:
summary: Get all ad objects of a deviance in CSV rows format
description: 'Required license type: ioe'
responses:
'200':
description: ''
content:
application/json:
schema:
description: Validates GET /ad-object-deviance-history/rofiles/:profileId/checkers/:checkerId response
type: string
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Deviance
x-tenablead-required-product-license-type:
- 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: profileId
in: path
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: true
deprecated: false
- name: checkerId
in: path
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: true
deprecated: false
- name: language
in: query
schema:
type: string
required: false
deprecated: false
- name: parameters
in: query
schema:
type: string
required: false
deprecated: false
security:
- ApiKey: []
/api/infrastructures/{infrastructureId}/directories/{directoryId}/deviances:
get:
summary: Get all deviances for a directory.
description: 'Required license type: ioe'
responses:
'200':
description: ''
content:
application/json:
schema:
description: Validates the GET /ad-object-deviance-history response
type: array
items:
description: AD object deviance
type: object
additionalProperties: false
required:
- id
- checkerId
- directoryId
- profileId
- adObjectId
- reasonId
- createdEventId
- resolvedEventId
- eventDate
- devianceProviderId
- attributes
- description
properties:
id:
type: number
description: Unique numeric identifier of the deviance
directoryId:
type: number
description: Identifier of the directory the underlying deviant AD object belongs to
checkerId:
type: number
description: Identifier of the checker that has emitted the deviance
profileId:
type: number
description: Identifier of the profile for which the deviance has been emitted
adObjectId:
type: number
description: Identifier of the AD object for which the deviance has been emitted
reasonId:
type: number
description: Identifier of the reason for which the deviance has been emitted
resolvedEventId:
oneOf:
- not: {}
format: int64
description: Identifier of the event that fixed the deviance
resolvedAt:
type:
- string
- 'null'
format: date-time
description: Date of the event that fixed the deviance
createdEventId:
format: int64
description: Identifier of the event that created the deviance
eventDate:
type: string
format: date-time
description: Date of the event that created the deviance
ignoreUntil:
type:
- string
- 'null'
format: date-time
description: Date until which the deviance should be ignored
devianceProviderId:
type:
- string
- 'null'
description: String identifier of the deviance, unique for non-revolved deviances
attributes:
type: array
items:
type: object
additionalProperties: false
required:
- name
- value
properties:
name:
type: string
description: Name of the deviance incriminating attribute
value:
type: string
description: JSON-stringified value of the deviance incriminating attribute
description: Deviance incriminating attributes data
description:
type: object
additionalProperties: false
required:
- template
- replacements
properties:
template:
type: string
description: Localized description template of the deviance
replacements:
type: array
items:
type: object
additionalProperties: false
required:
- name
- valueType
properties:
name:
type: string
description: Name of the deviance incriminating attribute
valueType:
type: string
description: Type of the deviance incriminating attribute
description: Metadata about the placeholders in the template
description: Deviance description data
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Deviance
x-tenablead-required-product-license-type:
- 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: directoryId
in: path
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
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
- name: page
in: query
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: false
deprecated: false
- name: perPage
in: query
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: false
deprecated: false
- name: batchSize
in: query
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: false
deprecated: false
- name: lastIdentifierSeen
in: query
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
required: false
deprecated: false
- name: resolved
in: query
schema:
type: string
enum:
- '0'
- '1'
required: false
deprecated: false
security:
- ApiKey: []
/api/infrastructures/{infrastructureId}/directories/{directoryId}/deviances/{id}:
get:
summary: Get ad-object-deviance-history instance by id.
description: 'Required license type: ioe'
responses:
'200':
description: ''
content:
application/json:
schema:
description: AD object deviance
type: object
additionalProperties: false
required:
- id
- checkerId
- directoryId
- profileId
- adObjectId
- reasonId
- createdEventId
- resolvedEventId
- eventDate
- devianceProviderId
- attributes
- description
properties:
id:
type: number
description: Unique numeric identifier of the deviance
directoryId:
type: number
description: Identifier of the directory the underlying deviant AD object belongs to
checkerId:
type: number
description: Identifier of the checker that has emitted the deviance
profileId:
type: number
description: Identifier of the profile for which the deviance has been emitted
adObjectId:
type: number
description: Identifier of the AD object for which the deviance has been emitted
reasonId:
type: number
description: Identifier of the reason for which the deviance has been emitted
resolvedEventId:
oneOf:
- not: {}
format: int64
description: Identifier of the event that fixed the deviance
resolvedAt:
type:
- string
- 'null'
format: date-time
description: Date of the event that fixed the deviance
createdEventId:
format: int64
description: Identifier of the event that created the deviance
eventDate:
type: string
format: date-time
description: Date of the event that created the deviance
ignoreUntil:
type:
- string
- 'null'
format: date-time
description: Date until which the deviance should be ignored
devianceProviderId:
type:
- string
- 'null'
description: String identifier of the deviance, unique for non-revolved deviances
attributes:
type: array
items:
type: object
additionalProperties: false
required:
- name
- value
properties:
name:
type: string
description: Name of the deviance incriminating attribute
value:
type: string
description: JSON-stringified value of the deviance incriminating attribute
description: Deviance incriminating attributes data
description:
type: object
additionalProperties: false
required:
- template
- replacements
properties:
template:
type: string
description: Localized description template of the deviance
replacements:
type: array
items:
type: object
additionalProperties: false
required:
- name
- valueType
properties:
name:
type: string
description: Name of the deviance incriminating attribute
valueType:
type: string
description: Type of the deviance incriminating attribute
description: Metadata about the placeholders in the template
description: Deviance description data
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- Deviance
x-tenablead-required-product-license-type:
- 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
- name: directoryId
in: path
schema:
type: string
pattern: ^[0-9]+$
x-patternError: should be a numerical string
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 ad-object-deviance-history instance.
description: 'Required license type: ioe'
responses:
'200':
description: ''
content:
application/json:
schema:
description: AD object deviance
type: object
additionalProperties: false
required:
- id
- checkerId
- directoryId
- profileId
- adObjectId
- reasonId
- createdEventId
- resolvedEventId
- eventDate
- devianceProviderId
- attributes
- description
properties:
id:
type: number
description: Unique numeric identifier of the deviance
directoryId:
type: number
description: Identifier of the directory the underlying deviant AD object belongs to
checkerId:
type: number
description: Identifier of the checker that has emitted the deviance
profileId:
type: number
description: Identifier of the profile for which the deviance has been emitted
adObjectId:
type: number
description: Identifier of the AD object for which the deviance has been emitted
reasonId:
type: number
description: Identifier of the reason for which the deviance has been emitted
resolvedEventId:
oneOf:
- not: {}
format: int64
description: Identifier of the event that fixed the deviance
resolvedAt:
type:
- string
- 'null'
format: date-time
description: Date of the event that fixed the deviance
createdEventId:
format: int64
description: Identifier of the event that created the deviance
eventDate:
type: string
format: date-time
description: Date of the event that created the deviance
ignoreUntil:
type:
- string
- 'null'
format: date-time
description: Date until which the deviance should be ignored
devianceProviderId:
type:
- string
- 'null'
description: String identifier of the deviance, unique for non-revolved deviances
attributes:
type: array
items:
type: object
additionalProperties: false
required:
- name
- value
properties:
name:
type: string
description: Name of the deviance incriminating attribute
value:
type: string
description: JSON-stringified value of the deviance incriminating attribute
description: Deviance incriminating attributes da
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tenable/refs/heads/main/openapi/tenable-deviance-api-openapi.yml