Tenable Role API

Groupment of permissions that may be assigned to several users

Operations 8

GET /api/roles Retrieve all role instances.
POST /api/roles Create role instance.
GET /api/roles/user-creation-defaults Return the default roles for user creation
GET /api/roles/{id} Get role instance by id.
PATCH /api/roles/{id} Update role instance.
DELETE /api/roles/{id} Delete role instance.
POST /api/roles/from/{fromId} Creates a new role from another one
PUT /api/roles/{id}/permissions Replace permission list for a role

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tenable-role-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tenable-role-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Downloads About Role 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: Role
  description: Groupment of permissions that may be assigned to several users
paths:
  /api/roles:
    get:
      summary: Retrieve all role instances.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the get /roles response
                type: array
                items:
                  description: Role
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - name
                  - description
                  - permissions
                  properties:
                    id:
                      type: number
                    name:
                      type: string
                    description:
                      type: string
                    permissions:
                      type: array
                      items:
                        description: Permission
                        type: object
                        additionalProperties: false
                        required:
                        - entityIds
                        - action
                        - entityName
                        properties:
                          entityName:
                            type: string
                          action:
                            type: string
                          entityIds:
                            type:
                            - array
                            - 'null'
                            items:
                              type: string
                          dynamicId:
                            type:
                            - string
                            - 'null'
                            enum:
                            - self-user-id
                            - null
                            default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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 role instance.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the get /roles response
                type: array
                minItems: 1
                items:
                  description: Role
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - name
                  - description
                  - permissions
                  properties:
                    id:
                      type: number
                    name:
                      type: string
                    description:
                      type: string
                    permissions:
                      type: array
                      items:
                        description: Permission
                        type: object
                        additionalProperties: false
                        required:
                        - entityIds
                        - action
                        - entityName
                        properties:
                          entityName:
                            type: string
                          action:
                            type: string
                          entityIds:
                            type:
                            - array
                            - 'null'
                            items:
                              type: string
                          dynamicId:
                            type:
                            - string
                            - 'null'
                            enum:
                            - self-user-id
                            - null
                            default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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 /roles request
              type: array
              minItems: 1
              items:
                type: object
                additionalProperties: false
                required:
                - name
                - description
                properties:
                  name:
                    type: string
                  description:
                    type: string
  /api/roles/user-creation-defaults:
    get:
      summary: Return the default roles for user creation
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the get /roles response
                type: array
                items:
                  description: Role
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - name
                  - description
                  - permissions
                  properties:
                    id:
                      type: number
                    name:
                      type: string
                    description:
                      type: string
                    permissions:
                      type: array
                      items:
                        description: Permission
                        type: object
                        additionalProperties: false
                        required:
                        - entityIds
                        - action
                        - entityName
                        properties:
                          entityName:
                            type: string
                          action:
                            type: string
                          entityIds:
                            type:
                            - array
                            - 'null'
                            items:
                              type: string
                          dynamicId:
                            type:
                            - string
                            - 'null'
                            enum:
                            - self-user-id
                            - null
                            default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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: []
  /api/roles/{id}:
    get:
      summary: Get role instance by id.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Role
                type: object
                additionalProperties: false
                required:
                - id
                - name
                - description
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  description:
                    type: string
                  permissions:
                    type: array
                    items:
                      description: Permission
                      type: object
                      additionalProperties: false
                      required:
                      - entityIds
                      - action
                      - entityName
                      properties:
                        entityName:
                          type: string
                        action:
                          type: string
                        entityIds:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        dynamicId:
                          type:
                          - string
                          - 'null'
                          enum:
                          - self-user-id
                          - null
                          default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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: []
    patch:
      summary: Update role instance.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Role
                type: object
                additionalProperties: false
                required:
                - id
                - name
                - description
                - permissions
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  description:
                    type: string
                  permissions:
                    type: array
                    items:
                      description: Permission
                      type: object
                      additionalProperties: false
                      required:
                      - entityIds
                      - action
                      - entityName
                      properties:
                        entityName:
                          type: string
                        action:
                          type: string
                        entityIds:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        dynamicId:
                          type:
                          - string
                          - 'null'
                          enum:
                          - self-user-id
                          - null
                          default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Role
              type: object
              additionalProperties: false
              properties:
                name:
                  type: string
                description:
                  type: string
    delete:
      summary: Delete role instance.
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                description: Role
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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/roles/from/{fromId}:
    post:
      summary: Creates a new role from another one
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the POST /roles/from/{fromId} response
                type: object
                additionalProperties: false
                required:
                - id
                - name
                - description
                - permissions
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  description:
                    type: string
                  permissions:
                    type: array
                    items:
                      description: Permission
                      type: object
                      additionalProperties: false
                      required:
                      - entityIds
                      - action
                      - entityName
                      properties:
                        entityName:
                          type: string
                        action:
                          type: string
                        entityIds:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        dynamicId:
                          type:
                          - string
                          - 'null'
                          enum:
                          - self-user-id
                          - null
                          default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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: 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: Role copy from
              type: object
              additionalProperties: false
              required:
              - name
              properties:
                name:
                  type: string
  /api/roles/{id}/permissions:
    put:
      summary: Replace permission list for a role
      description: 'Required license type: ioa, ioaPreview, ioe'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Validates the POST /roles/{id}/permissions response
                type: object
                additionalProperties: false
                required:
                - id
                - name
                - description
                - permissions
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  description:
                    type: string
                  permissions:
                    type: array
                    items:
                      description: Permission
                      type: object
                      additionalProperties: false
                      required:
                      - entityIds
                      - action
                      - entityName
                      properties:
                        entityName:
                          type: string
                        action:
                          type: string
                        entityIds:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        dynamicId:
                          type:
                          - string
                          - 'null'
                          enum:
                          - self-user-id
                          - null
                          default: null
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      tags:
      - Role
      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: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Role add-permission
              type: array
              items:
                description: Permission
                type: object
                additionalProperties: false
                required:
                - entityIds
                - action
                - entityName
                properties:
                  entityName:
                    type: string
                  action:
                    type: string
                  entityIds:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  dynamicId:
                    type:
                    - string
                    - 'null'
                    enum:
                    - self-user-id
                    - null
                    default: null
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