Tenable Shared Collections API

The Shared Collections API from Tenable — 5 operation(s) for shared collections.

OpenAPI Specification

tenable-shared-collections-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Downloads About Shared Collections 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: Shared Collections
  x-displayName: Shared Collections
paths:
  /shared-collections:
    post:
      summary: Create shared collection
      description: "Creates a shared collection. You can create up to 1,000 total shared collections. \n\nThis request creates an asynchronous job in Tenable Vulnerability Management. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint. <div class=\"perms-callout\">Requires the Scan Operator [24] user role or the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.CREATE` custom role privilege. See [Roles](doc:roles).</div>"
      operationId: shared-collections-create
      tags:
      - Shared Collections
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Shared_Collections_request-create-shared-collection'
      responses:
        '200':
          description: Returned if the asynchronous job was queued successfully. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_async-api-response-body'
              examples:
                response:
                  value:
                    message: Request has been received.
                    request_status_id: e0ab9f07-dd4e-4891-9eed-01b47db5ead6
        '400':
          description: "Returned if your request specified invalid parameters or if your request was improperly formatted. For example: \n- Missing `name` parameter or `acl` object. \n- The `name` or `description` parameters exceed the character limit. \n- The specified `name` already exists.\n- Trying to assign more than one permission to the same user. \n- The `acl` object is missing the `type` property or more than one `OWNER` permission is specified. \n- Trying to assign the `OWNER` permission to a `GROUP` type. \n- Invalid `acl.permission`, `acl.type`, or `acl.uuid`."
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '403':
          description: Returned if you do not have permission to create a shared collection.
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
    get:
      summary: List shared collections
      description: Returns a list of shared collections that the current user has access to. <div class="perms-callout">Requires the Basic [16] user role or the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.READ` custom role privilege. See [Roles](doc:roles).</div>
      operationId: shared-collections-list
      tags:
      - Shared Collections
      responses:
        '200':
          description: Returned if the list of shared collections was retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Shared_Collections_shared-collection-object'
              examples:
                response:
                  value:
                  - name: Example Shared Collection
                    description: An example shared collection.
                    uuid: 07e3ea92-d792-4d70-b23d-d3d57c63495e
                    acl:
                    - permission: OWNER
                      uuid: f0625cad-6af5-450b-9429-f40419a26189
                      name: user1@example.com
                      type: USER
                    - permission: CAN_EDIT
                      uuid: 7f46340d-17cc-4760-b170-9fd0954f03e0
                      name: user2@example.com
                      type: USER
                    - permission: CAN_VIEW
                      uuid: 77935353-13a9-44a6-a098-81cddc4f6250
                      name: user3@example.com
                      type: USER
                    - permission: CAN_VIEW
                      uuid: cffe9496-4ebc-40e0-ba37-cb0a7dccf34e
                      name: user4@example.com
                      type: USER
                    - permission: CAN_EDIT
                      uuid: c50df8da-de4f-4c3a-9fc5-09d2f35d7e3f
                      name: Manager Group
                      type: GROUP
                    - permission: CAN_VIEW
                      uuid: 1b461842-7db5-4d96-9565-8c45b9cf9849
                      name: Dev Group
                      type: GROUP
                  - name: Office Network
                    description: A shared collection for office scans.
                    uuid: e01b7836-1e33-42ca-af8e-aa770c01d192
                    acl:
                    - permission: OWNER
                      uuid: 7f46340d-17cc-4760-b170-9fd0954f03e0
                      name: admin@example.com
                      type: USER
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '403':
          description: Returned if you do not have permission to retrieve the list of shared collections.
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
  /shared-collections/{shared_collection_id}:
    get:
      summary: Get shared collection details
      description: Returns the details for the specified shared collection. <div class="perms-callout">Requires the Basic [16] user role and the `CAN_VIEW` shared collections permission. Alternatively, requires the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.READ` custom role privilege. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>
      operationId: shared-collections-details
      tags:
      - Shared Collections
      parameters:
      - name: shared_collection_id
        in: path
        required: true
        description: The `uuid` of the shared collection to return details for.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Returned if the details for the specified shared collection were retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_shared-collection-object'
              examples:
                response:
                  value:
                    name: Office Shared Collection
                    description: Shared collection for office users.
                    uuid: ef5b2b45-7d23-46af-a5ce-ca784acb6007
                    acl:
                    - permission: OWNER
                      uuid: 7f46340d-17cc-4760-b170-9fd0954f03e0
                      name: user@example.com
                      type: USER
                    - permission: CAN_VIEW
                      uuid: 00000000-0000-0000-0000-000000000000
                      name: All Users
                      type: GROUP
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '403':
          description: Returned if you do not have permission to retrieve the shared collection.
        '404':
          description: Returned if Tenable Vulnerability Management could not find the specified shared collection.
          content:
            application/json:
              examples:
                response:
                  value:
                    error: No shared collection found with uuid=f5751411-308d-4c56-b85e-48829707c5f3
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
    put:
      summary: Update shared collection
      description: "Updates a shared collection. A shared collection can only be updated by the current owner or an administrator. \n\nThis request creates an asynchronous job in Tenable Vulnerability Management. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint.\n\n**Note:** To remove a user or group from a shared collection, update the permission to `REMOVE_USER`. <div class=\"perms-callout\">Requires the Scan Operator [24] user role and the `CAN_EDIT` shared collections permission. Alternatively, requires the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.EDIT` custom role privilege. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>"
      operationId: shared-collections-update
      tags:
      - Shared Collections
      parameters:
      - name: shared_collection_id
        in: path
        required: true
        description: The `uuid` of the shared collection to update.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Shared_Collections_request-update-shared-collection'
            examples:
              response:
                value:
                  message: Request has been received.
                  request_status_id: de4283db-06c2-4b55-86bb-5f2173bc81b2
      responses:
        '200':
          description: Returned if the asynchronous job was queued successfully. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_async-api-response-body'
              examples:
                response:
                  value:
                    message: Request has been received.
                    request_status_id: e0ab9f07-dd4e-4891-9eed-01b47db5ead6
        '400':
          description: "Returned if your request specified invalid parameters or if your request was improperly formatted. For example: \n- Missing `name` parameter or `acl` object. \n- The `name` or `description` parameters exceed the character limit. \n- The specified `name` already exists.\n- Trying to assign more than one permission to the same user. \n- The `acl` object is missing the `type` property or more than one `OWNER` permission is specified. \n- Trying to assign the `OWNER` permission to a `GROUP` type. \n- Invalid `acl.permission`, `acl.type`, or `acl.uuid`."
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '403':
          description: Returned if you do not have permission to update the shared collection.
        '404':
          description: Returned if Tenable Vulnerability Management could not find the specified shared collection.
          content:
            application/json:
              examples:
                response:
                  value:
                    error: No shared collection found with uuid=f5751411-308d-4c56-b85e-48829707c5f3
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
    delete:
      summary: Delete shared collection
      description: "Deletes a shared collection. \n\nThis request creates an asynchronous job in Tenable Vulnerability Management. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint. <div class=\"perms-callout\">Requires the Administrator [64] user role, the `OWNER` shared collections permission, or the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.DELETE` custom role privilege. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>"
      operationId: shared-collections-delete
      tags:
      - Shared Collections
      parameters:
      - name: shared_collection_id
        in: path
        required: true
        description: The `uuid` of the shared collection to delete.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Returned if the asynchronous job was queued successfully. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_async-api-response-body'
              examples:
                response:
                  value:
                    message: Request has been received.
                    request_status_id: de4283db-06c2-4b55-86bb-5f2173bc81b2
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '403':
          description: Returned if you do not have permission to delete the shared collection.
        '404':
          description: Returned if Tenable Vulnerability Management could not find the specified shared collection.
          content:
            application/json:
              examples:
                response:
                  value:
                    error: No shared collection found with uuid=f5751411-308d-4c56-b85e-48829707c5f3
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
  /shared-collections/_byName:
    post:
      summary: Get shared collection details by name
      description: Returns the details for the specified shared collection by name. <div class="perms-callout">Requires the Basic [16] user role and the `CAN_VEW` shared collections permission. Alternatively, requires the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.READ` custom role privilege. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>
      operationId: shared-collections-details-by-name
      tags:
      - Shared Collections
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the shared collection to return details for.
                  example: My Shared Collection
      responses:
        '200':
          description: Returned if the specified shared collection was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_shared-collection-object'
              examples:
                response:
                  value:
                    name: Office Shared Collection
                    description: Shared collection for office users.
                    uuid: ef5b2b45-7d23-46af-a5ce-ca784acb6007
                    acl:
                    - permission: OWNER
                      uuid: 7f46340d-17cc-4760-b170-9fd0954f03e0
                      name: user@example.com
                      type: USER
                    - permission: CAN_VIEW
                      uuid: 00000000-0000-0000-0000-000000000000
                      name: All Users
                      type: GROUP
        '400':
          description: Returned if your request is missing `name` or if the `name` exceeds the maximum 100 character limit.
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '404':
          description: Returned if Tenable Vulnerability Management could not find the specified shared collection.
          content:
            application/json:
              examples:
                response:
                  value:
                    error: No shared collection found with name=Office
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
  /shared-collections/request-status/{request_status_id}:
    get:
      summary: Get job status
      description: "Retrieves the status of the specified asynchronous shared collections job. \n\nYou can use the `request_status_id` returned in the response of the following endpoints to check the status of the asynchronous job: \n- [Create shared collection](ref:shared-collections-create) \n- [Update shared collection](ref:shared-collections-update) \n- [Delete shared collection](ref:shared-collections-delete) \n- [Add scan configs to shared collection](ref:shared-collections-config-add) \n- [Remove scan configs from shared collection](ref:shared-collections-configs-remove) \n<div class=\"perms-callout\">Requires the Basic [16] user role or the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.READ` custom role privilege. See [Roles](doc:roles).</div>"
      operationId: shared-collections-job-status
      tags:
      - Shared Collections
      parameters:
      - name: request_status_id
        in: path
        required: true
        description: The `request_status_id` or `id` of the asynchronous job you want to retrieve the status for.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Returned if the status of the asynchronous job was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_request-status-response-body'
              examples:
                response:
                  value:
                    container_uuid: c050dec4-78a7-4d9a-9905-ab9cb3757766
                    type: shared-collections
                    id: e0ab9f07-dd4e-4891-9eed-01b47db5ead6
                    status: completed
                    created: 1738350594
                    modified: 1738350594
                    expiration: 1738352394
        '401':
          description: Returned if the API keys specified in your request are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_ErrorResponse'
              examples:
                response:
                  value:
                    statusCode: 401
                    error: Unauthorized
                    message: Invalid credentials.
        '403':
          description: Returned if you do not have permission to retrieve the status of the asynchronous job.
        '404':
          description: Returned if Tenable Vulnerability Management could not find the specified `request_status_id`.
          content:
            application/json:
              examples:
                response:
                  value:
                    error: No shared collection found with uuid=f5751411-308d-4c56-b85e-48829707c5f3
        '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/Shared_Collections_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:
      - Shared_Collections_cloud: []
  /shared-collections/{shared_collection_id}/scan-configs:
    post:
      summary: Add scan configs to shared collection
      description: "Adds scan configurations to a shared collection. \n\nThis request creates an asynchronous job in Tenable Vulnerability Management. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint. <div class=\"perms-callout\">Requires the Scan Operator [24] user role and the `CAN_EDIT` shared collections permission. Alternatively, requires the `VM.VM_SCAN.VM_SCAN_SHARED_COLLECTION.CREATE` custom role privilege. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>"
      operationId: shared-collections-config-add
      tags:
      - Shared Collections
      parameters:
      - name: shared_collection_id
        in: path
        required: true
        description: The `uuid` of the shared collection to add scan configurations to.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - scan_configs
              properties:
                scan_configs:
                  type: array
                  description: 'The list of scan configuration IDs to add to the shared collection. You can add up to 1,000 scan configurations per request.


                    **Note:** Remediation scan configurations and Web App Scanning (WAS) scan configurations cannot be added to a shared collection. Users must have at least Can View [16] scan permissions to share a scan configuration.'
                  items:
                    type: string
                    example: f536f82a-a3e2-4911-84cb-72cc0177578a
      responses:
        '200':
          description: Returned if the asynchronous job was queued successfully. You can query the status of the job with the [Get job status](ref:shared-collections-job-status) endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shared_Collections_async-api-response-body'
              examples:
                response:
                  value:
                    message: Request has been received.
                    request_status_id: 311dd641-88e6-4b9e-ae93-693d66dfb463
                response - duplicate scan configs:
                  value:
                    message: 'Request has been received. The following scan configs were already shared to the collection: template-5bbbd6f7-0a85-5d1f-723c-6bb6781abb9efd2a4d8f86043098, template-4a0e770e-34ae-823e-353c-7429dd0bb2fb9996ac3c7d06b5b3, 379bed2d-f8e3-9c3e-66a9-5fa20a04175df74cb55a4f7f8a23, template-f92cfd73-96ce-98c2-ee12-cdcb1323717053f10f42c9475139.'
                    request_status_id: 311dd641-88e6-4b9e-ae93-693d66dfb463
        '400':
          description: Returned if your request specified invalid parameters, if your request was improperly formatted, or if the scan configurations are missing from the request.
          content:
            application/json:
              examples:
                response - missing scan configs:
                  value:
                    error: Request is missing scan configurations.
                response - remediation scans:
                  value:
                    error: You cannot add remediation scans to a shared collection.
                response - web application scans:
                  value:
                    error: You cannot add web application scans to a shared collection.
                response - too many scan configs:
                  value:
                    error: The request exceeds the maximum limit of 1,000 scan configurations per API call.
                response - invalid scan config id:
                  value:
                    error: Scan configuration `[uuid]` is invalid.
                response - no min permissions for scan config:
          

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tenable/refs/heads/main/openapi/tenable-shared-collections-api-openapi.yml