# Helper

## Retrieve HTML File

> Retrieves an HTML file stored in Firebase using an encrypted token passed as a query parameter. \
> \
> \### Query Parameter\
> \- \*\*token\*\* \*(string, required)\*: Encrypted token representing the user, session, and file name. This token is used to locate and decrypt the corresponding HTML file.\
> \
> \### Response (HTTP 200)\
> \
> On success, returns the content of the HTML file with a \`Content-Type\` of \`text/html\`.\
> \
> \`\`\`html\
> \<html>\<body>\<h1>Example HTML\</h1>\</body>\</html>\
> \`\`\`\
> \
> \### Error Handling\
> \
> \- \*\*400 Bad Request\*\*: Returned if the \`token\` query parameter is missing or empty.\
> \- \*\*404 Not Found\*\*: Returned if the HTML file cannot be retrieved (e.g., invalid token or file not found).\
> \- \*\*500 Internal Server Error\*\*: Returned if an unexpected error occurs on the server.\
> \
> \### Security\
> \
> No authentication is required for this endpoint.

````json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[],"paths":{"/helper/html-files/":{"get":{"operationId":"helper_html-files_list","summary":"Retrieve HTML File","description":"Retrieves an HTML file stored in Firebase using an encrypted token passed as a query parameter. \n\n### Query Parameter\n- **token** *(string, required)*: Encrypted token representing the user, session, and file name. This token is used to locate and decrypt the corresponding HTML file.\n\n### Response (HTTP 200)\n\nOn success, returns the content of the HTML file with a `Content-Type` of `text/html`.\n\n```html\n<html><body><h1>Example HTML</h1></body></html>\n```\n\n### Error Handling\n\n- **400 Bad Request**: Returned if the `token` query parameter is missing or empty.\n- **404 Not Found**: Returned if the HTML file cannot be retrieved (e.g., invalid token or file not found).\n- **500 Internal Server Error**: Returned if an unexpected error occurs on the server.\n\n### Security\n\nNo authentication is required for this endpoint.","parameters":[{"schema":{"type":"string"},"name":"token","in":"query","description":"Encrypted token used to retrieve the HTML file.","required":true}],"responses":{"200":{"description":"HTML file retrieved successfully.","content":{"application/json":{"schema":{"description":"The HTML file content.","type":"string"}}}},"400":{"description":"Bad Request - Returned if the `token` parameter is missing or empty. Ensure that the token is provided in the query string.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Error message explaining that the token is required.","type":"string"}}}}}},"404":{"description":"Not Found - Returned if the HTML file cannot be retrieved. This may be due to an invalid token or if the file does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Error message indicating that the HTML file could not be found.","type":"string"}}}}}},"500":{"description":"Internal Server Error - Returned if an unexpected error occurred on the server. Check the error details for further information.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message describing the server-side failure.","type":"string"}}}}}}},"tags":["helper"]}}}}
````

## Upload HTML File

> Uploads an HTML file to Firebase for a specific session. The file must be provided as form-data with a key \`html\_file\` and have a content type of 'text/html'. Additionally, the \`session\_id\` must be included in the form-data to associate the file with a session.\
> \
> \### Form Data\
> \- \*\*html\_file\*\* \*(file, required)\*: The HTML file to be uploaded. Only files with content type 'text/html' are accepted.\
> \- \*\*session\_id\*\* \*(string, required)\*: The session ID associated with the uploaded HTML file.\
> \
> \### Response (HTTP 201)\
> On success, returns a JSON object containing:\
> \- \*\*message\*\* \*(string)\*: A confirmation message indicating that the file was uploaded successfully.\
> \- \*\*token\*\* \*(string)\*: An encrypted token representing the file and session information.\
> \
> \### Error Handling\
> \
> \- \*\*400 Bad Request\*\*: Returned if required fields are missing (e.g. no file or session ID provided), if the file type is not 'text/html', or if the admin UID is invalid.\
> \- \*\*404 Not Found\*\*: Returned if the session ID does not exist in Firestore. This indicates that the session ID provided does not match any existing session in the database.\
> \- \*\*422 Unprocessable Entity\*\*: Returned if the HTML file processing (e.g., encryption) fails.\
> \- \*\*500 Internal Server Error\*\*: Returned if an unexpected error occurs on the server.\
> \
> \### Security\
> A valid API-KEY token must be provided in the \`Authorization\` header.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Enter your bearer token (Firebase auth) in the format: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Enter your API key in the header: API-KEY: <api_key>"}}},"paths":{"/helper/html-files/":{"post":{"operationId":"helper_html-files_create","summary":"Upload HTML File","description":"Uploads an HTML file to Firebase for a specific session. The file must be provided as form-data with a key `html_file` and have a content type of 'text/html'. Additionally, the `session_id` must be included in the form-data to associate the file with a session.\n\n### Form Data\n- **html_file** *(file, required)*: The HTML file to be uploaded. Only files with content type 'text/html' are accepted.\n- **session_id** *(string, required)*: The session ID associated with the uploaded HTML file.\n\n### Response (HTTP 201)\nOn success, returns a JSON object containing:\n- **message** *(string)*: A confirmation message indicating that the file was uploaded successfully.\n- **token** *(string)*: An encrypted token representing the file and session information.\n\n### Error Handling\n\n- **400 Bad Request**: Returned if required fields are missing (e.g. no file or session ID provided), if the file type is not 'text/html', or if the admin UID is invalid.\n- **404 Not Found**: Returned if the session ID does not exist in Firestore. This indicates that the session ID provided does not match any existing session in the database.\n- **422 Unprocessable Entity**: Returned if the HTML file processing (e.g., encryption) fails.\n- **500 Internal Server Error**: Returned if an unexpected error occurs on the server.\n\n### Security\nA valid API-KEY token must be provided in the `Authorization` header.","responses":{"201":{"description":"File uploaded successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"A confirmation message.","type":"string"},"token":{"description":"Encrypted token representing the file and session information.","type":"string"}}}}}},"400":{"description":"Bad Request - Returned if required fields are missing (e.g., no file provided, session ID missing), if the file type is invalid (only HTML files are allowed), or if the admin UID is invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detailed error message explaining the invalid request.","type":"string"}}}}}},"404":{"description":"Not Found - Returned if the session ID does not exist in Firestore.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Error message indicating that the session ID was not found.","type":"string"}}}}}},"422":{"description":"Unprocessable Entity - Returned if the HTML file processing (e.g., encryption) fails.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Detailed error message describing the processing failure.","type":"string"}}}}}},"500":{"description":"Internal Server Error - Returned if an unexpected error occurs on the server.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message indicating a server-side failure.","type":"string"}}}}}}},"tags":["helper"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"html_file":{"type":"string","description":"The HTML file to upload. Must have the content type 'text/html'."},"session_id":{"type":"string","description":"The session ID to associate with the uploaded HTML file."}},"required":["html_file","session_id"]}}}}}}}}
```

## Retrieve Session Comments

> Retrieves the report comments for a specific session. \
> \
> \### Path Parameter\
> \- \*\*session\_id\*\* \*(string, required)\*: The unique identifier of the session for which comments are requested.\
> \
> \### Response Structure (HTTP 200)\
> \
> On success, the response is a JSON object containing language-specific comments. For example:\
> \
> \- \*\*text\_summary\*\* \*(object)\*: Contains summary comments in different languages.\
> &#x20;   \- \*\*en\*\* \*(string)\*: Summary in English.\
> &#x20;   \- \*\*ru\*\* \*(string)\*: Summary in Russian.\
> \- \*\*text\_contact\_angle\*\* \*(object)\*: Contact angle comments.\
> \- \*\*text\_push\_angle\*\* \*(object)\*: Push angle comments.\
> \- \*\*text\_knee\_ankle\*\* \*(object)\*: Knee-ankle comments.\
> \- \*\*text\_hip\_angle\*\* \*(object)\*: Hip angle comments.\
> \- \*\*text\_left\_ankle\_angle\*\* \*(object)\*: Left ankle angle comments.\
> \- \*\*text\_left\_knee\_angle\*\* \*(object)\*: Left knee angle comments.\
> \- \*\*text\_right\_ankle\_angle\*\* \*(object)\*: Right ankle angle comments.\
> \- \*\*text\_right\_knee\_angle\*\* \*(object)\*: Right knee angle comments.\
> \
> \### Error Handling\
> \
> \- \*\*400 Bad Request\*\*: Invalid request parameters.\
> \- \*\*401 Unauthorized\*\*: Missing or invalid access token.\
> \- \*\*403 Forbidden\*\*: Insufficient privileges (admin access required).\
> \- \*\*404 Not Found\*\*: Comments not found for the given session.\
> \- \*\*500 Internal Server Error\*\*: An unexpected error occurred on the server.\
> \
> \### Security\
> \
> A valid API-KEY token must be provided in the \`Authorization\` header.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Enter your bearer token (Firebase auth) in the format: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Enter your API key in the header: API-KEY: <api_key>"}}},"paths":{"/helper/sessions/{session_id}/report-comments/":{"get":{"operationId":"helper_sessions_report-comments_list","summary":"Retrieve Session Comments","description":"Retrieves the report comments for a specific session. \n\n### Path Parameter\n- **session_id** *(string, required)*: The unique identifier of the session for which comments are requested.\n\n### Response Structure (HTTP 200)\n\nOn success, the response is a JSON object containing language-specific comments. For example:\n\n- **text_summary** *(object)*: Contains summary comments in different languages.\n    - **en** *(string)*: Summary in English.\n    - **ru** *(string)*: Summary in Russian.\n- **text_contact_angle** *(object)*: Contact angle comments.\n- **text_push_angle** *(object)*: Push angle comments.\n- **text_knee_ankle** *(object)*: Knee-ankle comments.\n- **text_hip_angle** *(object)*: Hip angle comments.\n- **text_left_ankle_angle** *(object)*: Left ankle angle comments.\n- **text_left_knee_angle** *(object)*: Left knee angle comments.\n- **text_right_ankle_angle** *(object)*: Right ankle angle comments.\n- **text_right_knee_angle** *(object)*: Right knee angle comments.\n\n### Error Handling\n\n- **400 Bad Request**: Invalid request parameters.\n- **401 Unauthorized**: Missing or invalid access token.\n- **403 Forbidden**: Insufficient privileges (admin access required).\n- **404 Not Found**: Comments not found for the given session.\n- **500 Internal Server Error**: An unexpected error occurred on the server.\n\n### Security\n\nA valid API-KEY token must be provided in the `Authorization` header.","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"The unique session identifier.","required":true}],"responses":{"200":{"description":"Session comments retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"text_summary":{"description":"Summary comments in multiple languages.","type":"object","properties":{"en":{"description":"Summary in English.","type":"string"},"ru":{"description":"Summary in Russian.","type":"string"}}},"text_contact_angle":{"description":"Contact angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_push_angle":{"description":"Push angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_knee_ankle":{"description":"Knee ankle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_hip_angle":{"description":"Hip angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_left_ankle_angle":{"description":"Left ankle angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_left_knee_angle":{"description":"Left knee angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_right_ankle_angle":{"description":"Right ankle angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_right_knee_angle":{"description":"Right knee angle comments.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}}}}}}},"400":{"description":"Bad Request - Error getting comments due to invalid parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message.","type":"string"}}}}}},"401":{"description":"Unauthorized - Missing or invalid access token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Token is missing or invalid.","type":"string"}}}}}},"403":{"description":"Forbidden - Admin access is required.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"User does not have admin privileges.","type":"string"}}}}}},"404":{"description":"Not Found - Comments not found for the given session.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Comments not found.","type":"string"}}}}}},"500":{"description":"Internal Server Error - An unexpected error occurred.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message indicating a server-side failure.","type":"string"}}}}}}},"tags":["helper"]}}}}
```

## Update Session Comments

> Updates the report comments for a specific session. The request body must include the comment fields for various aspects of the session (e.g., summary, contact angle, push angle, etc.) in multiple languages. \
> \
> \### Request Body (JSON)\
> \
> The following fields are expected (all fields are objects with language keys):\
> \
> \- \*\*text\_summary\*\* \*(object)\*: Summary comments (e.g., \`{'en': 'English text', 'ru': 'Russian text'}\`).\
> \- \*\*text\_contact\_angle\*\* \*(object)\*: Contact angle comments.\
> \- \*\*text\_push\_angle\*\* \*(object)\*: Push angle comments.\
> \- \*\*text\_knee\_ankle\*\* \*(object)\*: Knee ankle comments.\
> \- \*\*text\_hip\_angle\*\* \*(object)\*: Hip angle comments.\
> \- \*\*text\_left\_ankle\_angle\*\* \*(object)\*: Left ankle angle comments.\
> \- \*\*text\_left\_knee\_angle\*\* \*(object)\*: Left knee angle comments.\
> \- \*\*text\_right\_ankle\_angle\*\* \*(object)\*: Right ankle angle comments.\
> \- \*\*text\_right\_knee\_angle\*\* \*(object)\*: Right knee angle comments.\
> \
> \### Response Structure (HTTP 200)\
> \
> On success, the response is a JSON object with:\
> \- \*\*message\*\* \*(string)\*: A confirmation message indicating that comments were updated.\
> \
> \### Error Handling\
> \
> \- \*\*400 Bad Request\*\*: If the input data is missing or invalid.\
> \- \*\*401 Unauthorized\*\*: If the access token is missing or invalid.\
> \- \*\*403 Forbidden\*\*: If the user does not have admin privileges.\
> \- \*\*500 Internal Server Error\*\*: If an unexpected error occurs on the server.\
> \
> \### Security\
> \
> A valid API-KEY token must be provided in the \`Authorization\` header.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Enter your bearer token (Firebase auth) in the format: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Enter your API key in the header: API-KEY: <api_key>"}}},"paths":{"/helper/sessions/{session_id}/report-comments/":{"post":{"operationId":"helper_sessions_report-comments_create","summary":"Update Session Comments","description":"Updates the report comments for a specific session. The request body must include the comment fields for various aspects of the session (e.g., summary, contact angle, push angle, etc.) in multiple languages. \n\n### Request Body (JSON)\n\nThe following fields are expected (all fields are objects with language keys):\n\n- **text_summary** *(object)*: Summary comments (e.g., `{'en': 'English text', 'ru': 'Russian text'}`).\n- **text_contact_angle** *(object)*: Contact angle comments.\n- **text_push_angle** *(object)*: Push angle comments.\n- **text_knee_ankle** *(object)*: Knee ankle comments.\n- **text_hip_angle** *(object)*: Hip angle comments.\n- **text_left_ankle_angle** *(object)*: Left ankle angle comments.\n- **text_left_knee_angle** *(object)*: Left knee angle comments.\n- **text_right_ankle_angle** *(object)*: Right ankle angle comments.\n- **text_right_knee_angle** *(object)*: Right knee angle comments.\n\n### Response Structure (HTTP 200)\n\nOn success, the response is a JSON object with:\n- **message** *(string)*: A confirmation message indicating that comments were updated.\n\n### Error Handling\n\n- **400 Bad Request**: If the input data is missing or invalid.\n- **401 Unauthorized**: If the access token is missing or invalid.\n- **403 Forbidden**: If the user does not have admin privileges.\n- **500 Internal Server Error**: If an unexpected error occurs on the server.\n\n### Security\n\nA valid API-KEY token must be provided in the `Authorization` header.","responses":{"200":{"description":"Comments updated successfully.","content":{"application/json":{"schema":{"required":["message"],"type":"object","properties":{"message":{"description":"A confirmation message indicating the comments were updated.","type":"string"}}}}}},"400":{"description":"Bad Request - Error updating comments due to missing or invalid data.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message.","type":"string"}}}}}},"401":{"description":"Unauthorized - Missing or invalid access token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Token is missing or invalid.","type":"string"}}}}}},"403":{"description":"Forbidden - Admin privileges are required.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"User does not have admin access.","type":"string"}}}}}},"500":{"description":"Internal Server Error - An unexpected error occurred.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message indicating a server-side failure.","type":"string"}}}}}}},"tags":["helper"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"text_summary":{"description":"Summary comments in different languages.","type":"object","properties":{"en":{"description":"English summary text.","type":"string"},"ru":{"description":"Russian summary text.","type":"string"}}},"text_contact_angle":{"description":"Contact angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_push_angle":{"description":"Push angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_knee_ankle":{"description":"Knee ankle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_hip_angle":{"description":"Hip angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_left_ankle_angle":{"description":"Left ankle angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_left_knee_angle":{"description":"Left knee angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_right_ankle_angle":{"description":"Right ankle angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}},"text_right_knee_angle":{"description":"Right knee angle comments in different languages.","type":"object","properties":{"en":{"description":"English text.","type":"string"},"ru":{"description":"Russian text.","type":"string"}}}}}}},"required":true}}}}}
```

## Delete Report Comments

> Deletes all report comments for a given session. \
> \
> \### Request\
> \
> \- \*\*Path Parameter\*\*:\
> &#x20;   \- \*\*session\_id\*\* \*(string, required)\*: The unique identifier of the session whose report comments will be deleted.\
> \
> \### Response Structure (HTTP 200)\
> \
> On success, the response is a JSON object with:\
> \- \*\*message\*\* \*(string)\*: A success message indicating that the comments have been deleted.\
> \
> \### Error Handling\
> \
> \- \*\*400 Bad Request\*\*: Indicates that the request parameters are invalid or that an error occurred during deletion.\
> \- \*\*401 Unauthorized\*\*: The access token is missing or invalid.\
> \- \*\*403 Forbidden\*\*: The user does not have admin privileges to delete report comments.\
> \- \*\*404 Not Found\*\*: The session or report comments were not found.\
> \- \*\*500 Internal Server Error\*\*: An unexpected error occurred on the server.\
> \
> \### Security\
> \
> A valid API-KEY token must be provided in the \`Authorization\` header.

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Enter your bearer token (Firebase auth) in the format: Bearer <token>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Enter your API key in the header: API-KEY: <api_key>"}}},"paths":{"/helper/sessions/{session_id}/report-comments/":{"delete":{"operationId":"helper_sessions_report-comments_delete","summary":"Delete Report Comments","description":"Deletes all report comments for a given session. \n\n### Request\n\n- **Path Parameter**:\n    - **session_id** *(string, required)*: The unique identifier of the session whose report comments will be deleted.\n\n### Response Structure (HTTP 200)\n\nOn success, the response is a JSON object with:\n- **message** *(string)*: A success message indicating that the comments have been deleted.\n\n### Error Handling\n\n- **400 Bad Request**: Indicates that the request parameters are invalid or that an error occurred during deletion.\n- **401 Unauthorized**: The access token is missing or invalid.\n- **403 Forbidden**: The user does not have admin privileges to delete report comments.\n- **404 Not Found**: The session or report comments were not found.\n- **500 Internal Server Error**: An unexpected error occurred on the server.\n\n### Security\n\nA valid API-KEY token must be provided in the `Authorization` header.","parameters":[{"schema":{"type":"string"},"name":"session_id","in":"path","description":"The unique identifier of the session for which report comments will be deleted.","required":true}],"responses":{"200":{"description":"Comments deleted successfully.","content":{"application/json":{"schema":{"required":["message"],"type":"object","properties":{"message":{"description":"A message indicating that the comments were deleted successfully.","type":"string"}}}}}},"400":{"description":"Bad Request - Error deleting comments (e.g., invalid parameters).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message explaining why deletion failed.","type":"string"}}}}}},"401":{"description":"Unauthorized - Missing or invalid access token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"An error message indicating that the token is missing or invalid.","type":"string"}}}}}},"403":{"description":"Forbidden - The user does not have admin privileges to delete report comments.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"An error message indicating that admin access is required.","type":"string"}}}}}},"404":{"description":"Not Found - The session or report comments were not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"An error message indicating that the session or comments were not found.","type":"string"}}}}}},"500":{"description":"Internal Server Error - An unexpected error occurred on the server.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A detailed error message indicating a server-side failure.","type":"string"}}}}}}},"tags":["helper"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aikynetix.app/api-documentation/developer-resources-and-api-reference/api-reference/v.2/helper.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
