Tenable Child Containers API

The Tenable Managed Security Service Provider (MSSP) Portal API provides a secure and accessible way for MSSP administrators to manage and maintain multiple customer instances of Tenable products. Child Containers endpoints in the Tenable MSSP Portal API enables customers to view and manage your child accounts. For more information about the Tenable MSSP Portal, see the [Tenable MSSP Portal User Guide](https://docs.tenable.com/managed-security-service-provider/Content/Welcome.htm).

OpenAPI Specification

tenable-child-containers-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Downloads About Child Containers 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: Child Containers
  description: "The Tenable Managed Security Service Provider (MSSP) Portal API provides a secure and accessible way for MSSP administrators to manage and maintain multiple customer instances of Tenable products. Child Containers endpoints in the Tenable MSSP Portal API enables customers to view and manage your child accounts. \n\nFor more information about the Tenable MSSP Portal, see the [Tenable MSSP Portal User Guide](https://docs.tenable.com/managed-security-service-provider/Content/Welcome.htm)."
paths:
  /mssp/accounts/mssp-child-keys:
    post:
      tags:
      - Child Containers
      summary: Generate auth keys for child container
      description: Generates authorization keys for the specified child container. An `access_key` and a `secret_key` is included in the response. <div class="perms-callout">Requires the Administrator [64] user role. See [Roles](doc:roles).</div>
      operationId: io-mssp-child-containers-generate-keys
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - child_container_uuid
              properties:
                child_container_uuid:
                  type: string
                  description: The UUID of the child container you want to generate authorization keys for.
                keys_validity_duration_seconds:
                  type: integer
                  description: The number of seconds that the authorization keys should remain valid. The maximum value is `3600`. If this parameter is omitted, Tenable MSSP uses the default value of `1800` seconds.
                  example: 60
      responses:
        '200':
          description: Returned if the authorization keys for the specified child container were generated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  parent_container_uuid:
                    type: string
                    format: uuid
                    description: The UUID of the parent container.
                  child_container_uuid:
                    type: string
                    format: uuid
                    description: The UUID of the child container associated with the parent customer account.
                  child_container_site:
                    type: string
                    description: The cloud region in which the child container is located.
                  keys_user_uuid:
                    type: string
                    format: uuid
                    description: The UUID of the read-only MSSP child keys user.
                  access_key:
                    type: string
                    description: The generated access key. It must be paired with the `secret_key`.
                  secret_key:
                    type: string
                    description: The generated secret key. It must be paired with the `access_key`.
                  keys_expiration_epoch_seconds:
                    type: integer
                    description: The date and time in Unix format when the authorization keys expire.
                    example: '1680627675'
                  remote:
                    type: boolean
                    description: Indicates whether or not the parent and child containers are in the same cloud region. If `true`, the parent and child containers are located in different cloud regions. If `false`, the parent and child containers are located in the same cloud region.
                  _validity_info:
                    type: string
                    description: The date and time in datetime format when the authorization keys expire.
                    example: 1680627675 60s PT1M 2023-04-04T17:01:15Z
              examples:
                response:
                  value:
                    parent_container_uuid: 2e9436cf-e482-4548-adbc-6bc37a97a847
                    child_container_uuid: ab5e06fd-0534-416e-95f2-f05be2c60897
                    child_container_site: us-2b
                    keys_user_uuid: 180d3c62-0b93-45d0-995a-e20ff1d79386
                    access_key: 47382ce31d9e1e6aa45a2a1cb77fe0bc4c4e8036476b9883289661484a35e2bc
                    secret_key: 2c0442e31a0ab2249ce8c745d39280daeeb2e6a2eee840fae7a847372fcfc910
                    keys_expiration_epoch_seconds: 1680627675
                    remote: false
                    _validity_info: 1680627675 60s PT1M 2023-04-04T17:01:15Z
        '400':
          description: Returned if your request specified invalid parameters or if your request was improperly formatted.
        '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.
        '404':
          description: Returned if the Tenable MSSP Platform could not find the specified child container.
        '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.
  /mssp/accounts/childContainers/{user_uuid}:
    get:
      tags:
      - Child Containers
      summary: List child containers
      description: Returns a list of child containers associated with the specified user. You can retrieve a list of users with the [GET /users](ref:users-list) endpoint. <div class="perms-callout">Requires the Basic [16] user role. See [Roles](doc:roles).</div>
      operationId: io-mssp-child-containers-list
      parameters:
      - name: user_uuid
        in: path
        description: The UUID of the user you want to retrieve the list of child containers for.
        required: true
        schema:
          type: string
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
      responses:
        '200':
          description: Returned if the list of child containers for the specified user UUID was retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response-Child-Accounts'
              examples:
                response:
                  value:
                  - parent_uuid: a1b2c3d4
                    child_container_uuid: e5f6g7h8
                  - parent_uuid: i1j2k3l4
                    child_container_uuid: m5n6o7p8
                  - parent_uuid: q1r2s3t4
                    child_container_uuid: u5v6w7x8
        '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.
        '404':
          description: Returned if the Tenable MSSP Platform could not find the specified child container.
        '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.
  /mssp/accounts/childContainers/{account_uuid}/history:
    get:
      tags:
      - Child Containers
      summary: Get child container history
      description: Returns the history for child containers associated with the specified parent account UUID. <div class="perms-callout">Requires the Basic [16] user role. See [Roles](doc:roles).</div>
      operationId: io-mssp-child-containers-history
      parameters:
      - name: account_uuid
        in: path
        description: The UUID of the account you want to retrieve the child container history for.
        required: true
        schema:
          type: string
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
      responses:
        '200':
          description: Returned if the child container history for the specified parent account UUID was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response-Child-Accounts-History'
              examples:
                response:
                  value:
                    history:
                    - uuid: c3f75679-3e5f-4e14-a5c9-5f3d45e2c831
                      child_container_uuid: container1
                      user_name: John Smith
                      old_value: Old value
                      updated_value: New value
                      created: '2021-01-16T12:00:00Z'
                    - uuid: d3f75679-3e5f-4e14-a5c9-5f3d45e2c831
                      child_container_uuid: container2
                      user_name: Jane Doe
                      old_value: Old value
                      updated_value: New value
                      created: '2021-01-16T12:00:00Z'
        '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.
        '404':
          description: Returned if the Tenable MSSP Platform could not find the specified customer account.
        '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.
components:
  schemas:
    Response-Child-Accounts-History-Object:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: 483f7000-734e-46d0-9fea-2a8ac2f8e9f6
          description: The UUID of the customer account in the Tenable MSSP Portal.
        child_container_uuid:
          type: string
          format: uuid
          example: 483f7000-734e-46d0-9fea-2a8ac2f8e9f6
          description: The UUID of the child container associated with the parent customer account.
        user_name:
          type: string
          description: The user name associated with the change.
        old_value:
          type: string
          description: The old value of the item that was changed.
        new_value:
          type: string
          description: The new value of the item that was changed.
        created:
          type: string
          description: An ISO timestamp indicating the date and time on which the change was made; for example, `2021-01-16T12:00:00Z`.
    Response-Child-Accounts-History:
      type: object
      required:
      - history
      properties:
        history:
          description: An array of child container history objects.
          type: array
          items:
            $ref: '#/components/schemas/Response-Child-Accounts-History-Object'
    Response-Child-Accounts:
      type: object
      properties:
        parent_uuid:
          description: The UUID of the parent account.
          type: string
          format: uuid
        account_uuids:
          type: array
          description: An array of child account UUIDs that you want to link with the parent account.
          items:
            type: string
    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:
    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