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-license-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Tenable License API
version: '1.0'
description: 'Operations tagged License across 2 of this provider''s published API definitions: tenable-identity-exposure-openapi.json, tenable-mssp-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: '{protocol}://customer.tenable.ad'
variables:
protocol:
default: https
- url: https://cloud.tenable.com
tags:
- name: License
description: Product license
paths:
/api/license:
get:
summary: Get license singleton
description: 'Required license type: none'
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- customerName
- maxActiveUserCount
- expirationDateUTC
- inAppEula
- type
- features
- containerUuid
- activationCode
properties:
customerName:
type: string
maxActiveUserCount:
type: integer
currentActiveUserCount:
type:
- integer
- 'null'
expirationDateUTC:
type: string
format: date-time
inAppEula:
type: boolean
type:
enum:
- POC
- PROD
- INTERNAL
- NFR
features:
type: array
items:
enum:
- ioe
- ioa
- ioaPreview
containerUuid:
type:
- string
- 'null'
format: uuid
activationCode:
type:
- string
- 'null'
productAssociation:
type:
- string
- 'null'
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- License
x-tenablead-required-product-license-type: []
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: []
operationId: getApiLicense
x-operation-id-source: derived
post:
summary: Create new license singleton
description: 'Required license type: none'
responses:
'201':
description: ''
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- customerName
- maxActiveUserCount
- expirationDateUTC
- inAppEula
- type
- features
- containerUuid
- activationCode
properties:
customerName:
type: string
maxActiveUserCount:
type: integer
currentActiveUserCount:
type:
- integer
- 'null'
expirationDateUTC:
type: string
format: date-time
inAppEula:
type: boolean
type:
enum:
- POC
- PROD
- INTERNAL
- NFR
features:
type: array
items:
enum:
- ioe
- ioa
- ioaPreview
containerUuid:
type:
- string
- 'null'
format: uuid
activationCode:
type:
- string
- 'null'
'401':
description: Unauthorized
'500':
description: Internal server error
tags:
- License
x-tenablead-required-product-license-type: []
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: license payload
type: object
additionalProperties: false
required:
- license
properties:
license:
type: string
operationId: postApiLicense
x-operation-id-source: derived
servers:
- url: '{protocol}://customer.tenable.ad'
variables:
protocol:
default: https
/api/license/product-association:
get:
summary: Get product association in the License
description: 'Required license type: none'
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
productAssociation:
type:
- string
- 'null'
'500':
description: Internal server error
tags:
- License
x-tenablead-required-product-license-type: []
operationId: getApiLicenseProductAssociation
x-operation-id-source: derived
servers:
- url: '{protocol}://customer.tenable.ad'
variables:
protocol:
default: https
/mssp/license:
get:
tags:
- License
summary: Get license details
description: 'Returns license details for the account associated with the user''s API credentials.
Requires the Basic [16] user role. See Roles.'
operationId: io-mssp-license-details
responses:
'200':
description: Returned if the license details were retrieved successfully.
content:
application/json:
schema:
type: object
properties:
license_used:
type: string
description: The number of licenses in use.
license_purchased:
type: string
description: The number of licenses purchased.
examples:
response:
value:
license_used: '195484'
license_purchased: '0'
'400':
description: Returned if you specify invalid input parameters.
'401':
description: Returned if the API keys specified in your request are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
statusCode: 401
error: Unauthorized
message: Invalid credentials.
'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/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: []
servers:
- url: https://cloud.tenable.com
components:
schemas:
ErrorResponse:
type: object
properties:
statusCode:
type: integer
description: The HTTP status code of the error.
error:
type: string
description: The standard HTTP error name.
message:
type: string
description: A brief message about the cause of the error.
securitySchemes:
ApiKey:
name: x-api-key
description: The user's API key
in: header
type: apiKey
cloud:
type: apiKey
in: header
name: X-ApiKeys
description: Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY
x-refined-from:
- tenable-identity-exposure-openapi.json
- tenable-mssp-openapi.json
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