How to generate a support bundle
1. POST /support-bundle API
The POST /support-bundle endpoint is to trigger the asynchronous process to generate the support bundle. The following is an example of the response:
{
  "async_task_id": 1,
  "operation": "SUPPORT_BUNDLE_GENERATE",
  "reference": "hyperscale-support-20240319-13-38-33",
  "status": "RUNNING",
  "start_time": "2024-03-19T13:38:34.325159Z",
  "cancellable": true
}
                                                2. GET /async-tasks/{async-task-id} API
Since the generation of support bundle is an asynchronous process, it is helpful to know the current status of these activities by utilizing the GET /async-tasks/{async-task-id} endpoint. Here the value of request parameter async-task-id will be the value of async_task_id field of the response of /support-bundle API (defined above)/
In the response of the API, the current status of the support-bundle generation can be identified by the field status.
The following is an example of the response: 
{
  "async_task_id": 1,
  "operation": "SUPPORT_BUNDLE_GENERATE",
  "reference": "hyperscale-support-20240319-13-38-33.tar.gz",
  "status": "SUCCEEDED",
  "start_time": "2024-03-19T13:38:34.325159Z",
  "end_time": "2024-03-19T13:39:43.118582Z",
  "cancellable": true
}
                                                3. GET /file-download API
GET /file-download API can be triggered to download the generated support-bundle when status from the response of GET /async-tasks/{async-task-id} is received as SUCCEEDED or PARTIAL_SUCCEEDED.
This API expects query parameter entity_type as SUPPORT_BUNDLE and id as the value of  async_task_id from the above response.
The response of this API will be in octet-stream and a download link will be provided of the support-bundle tar file.
4. Other related APIs
a) DELETE /support-bundle/{async-task-id} API
The DELETE /support-bundle/{async-task-id} API is useful to delete any already SUCCEEDED or PARTIAL_SUCCEEDED or FAILED support-bundle file or directory.
This is useful to clean up the disk space consumed by these tar files or directories.
b) PUT /async-tasks/{async-task-id}/cancel API
The PUT async-tasks/{async-task-id}/cancel API is useful to cancel any RUNNING support-bundle asynchronous generation.
The following is an example of the response: 
{
  "async_task_id": 1,
  "operation": "SUPPORT_BUNDLE_GENERATE",
  "reference": "hyperscale-support-20240319-13-38-33",
  "status": "CANCELLED",
  "start_time": "2024-03-19T13:38:34.325159Z",
  "end_time": "2024-03-19T13:38:43.118582Z",
  "cancellable": true
}
                                                c) GET /async-tasks
This API is useful to list all async tasks. The following is an example of the response:
[
  {
    "async_task_id": 1,
    "operation": "SUPPORT_BUNDLE_GENERATE",
    "reference": "hyperscale-support-20240318-09-54-53.tar.gz",
    "status": "SUCCEEDED",
    "start_time": "2024-03-18T09:54:53.419806Z",
    "end_time": "2024-03-18T09:55:53.957697Z",
    "cancellable": true
  },
  {
    "async_task_id": 2,
    "operation": "SUPPORT_BUNDLE_GENERATE",
    "reference": "hyperscale-support-20240318-14-45-03.tar.gz",
    "status": "PARTIAL_SUCCEEDED",
    "start_time": "2024-03-18T14:45:04.00008Z",
    "end_time": "2024-03-18T14:46:04.294322Z",
    "cancellable": true,
    "errors": [
      {
        "message": "Support bundle generation API is not enabled",
        "object_name": "load-service"
      },
      {
        "message": "Support bundle generation API is not enabled",
        "object_name": "unload-service"
      }
    ]
  },
  {
    "async_task_id": 3,
    "operation": "SUPPORT_BUNDLE_GENERATE",
    "reference": "hyperscale-support-20240319-13-38-33",
    "status": "CANCELLED",
    "start_time": "2024-03-19T13:38:34.325159Z",
    "end_time": "2024-03-19T13:39:34.356925Z",
    "cancellable": true
  }
]