diff --git a/net_api_generator/generator.py b/net_api_generator/generator.py
index 6e5dce0cbfb968f268ae911c7dbc359dd8c80273..06db9cc58d2476cd344a16c64c41c00d7db72b99 100644
--- a/net_api_generator/generator.py
+++ b/net_api_generator/generator.py
@@ -324,7 +324,11 @@ def typescript(output_dir):
 
 
     def generate_api_function(api_function: ApiFunction)->str:
-        api_call = ("$METHOD_NAME (config: AxiosConfig, $FUNCTION_PARAMETER)$RETURN_TYPE {\n"
+        api_call = ("/**\n"
+                    "* @param {AxiosConfig} config AxiosConfig\n"
+                    "$PARAMETER_DESCRIPTION_COMMENTS\n"
+                    "*/\n"
+                    "$METHOD_NAME (config: AxiosConfig, $FUNCTION_PARAMETER)$RETURN_TYPE {\n"
                     "\tconst requestData: $AXIOS_REQUEST_DATA = $REQUEST_DATA\n\n"
                     
                     "\tconst axiosRequestConfig: AxiosRequestConfig<$AXIOS_REQUEST_DATA> = {\n"
@@ -354,18 +358,19 @@ def typescript(output_dir):
         function_parameters = ""
         request_data = {"old": "", "new": ""}
         number_parameters = len(seperated_parameters['old']) + len(seperated_parameters['new'])
+        parameter_description_comments = ""
         for parameter_scope, parameter_list in seperated_parameters.items():
             for i, parameter in enumerate(parameter_list):
-                if api_function.name == "update":
-                    print("Update!")
                 parameter_definition = "'$PARAMETER_NAME': $PARAMETER_NAME_REFERENCE" if i > 0 else "\t\t'$PARAMETER_NAME': $PARAMETER_NAME_REFERENCE"
+                parameter_name_reference = parameter.name
                 if api_function.is_data_manipulating:
-                    function_parameter_item = f"{parameter.name}_{parameter_scope}: {map_netdb_type_to_typescript_type(parameter.data_type)}"
-                    request_data[parameter_scope] += f"f{parameter.name}: {parameter.name}_{parameter_scope}"
+                    parameter_name_reference = parameter.name + "_" + parameter_scope
+                    function_parameter_item = f"{parameter_name_reference}: {map_netdb_type_to_typescript_type(parameter.data_type)}"
+                    request_data[parameter_scope] += f"f{parameter.name}: {parameter_name_reference}"
                     if i < len(parameter_list) - 1:
                         request_data[parameter_scope] += ", \n\t\t\t"
                 else:
-                    function_parameter_item = f"{parameter.name}: {map_netdb_type_to_typescript_type(parameter.data_type)}"
+                    function_parameter_item = f"{parameter_name_reference}: {map_netdb_type_to_typescript_type(parameter.data_type)}"
                     if parameter.data_type['json_name'] == "array":
                         parameter_definition = parameter_definition.replace("$PARAMETER_NAME_REFERENCE",
                                                                             "($PARAMETER_NAME === null) ? null: JSON.stringify($PARAMETER_NAME)")
@@ -373,7 +378,7 @@ def typescript(output_dir):
                         parameter_definition = parameter_definition.replace("$PARAMETER_NAME_REFERENCE",
                                                                             "$PARAMETER_NAME")
 
-                    parameter_definition = parameter_definition.replace("$PARAMETER_NAME", parameter.name)
+                    parameter_definition = parameter_definition.replace("$PARAMETER_NAME", parameter_name_reference)
                     if parameter_counter < number_parameters - 1:
                         parameter_definition += ",\n\t\t"
                     request_data["old"] += parameter_definition
@@ -388,11 +393,29 @@ def typescript(output_dir):
                 else:
                     function_parameters += function_parameter_item
 
+                # generate parameter description comments
+                parameter_description_comment = f"* @param {{{map_netdb_type_to_typescript_type(parameter.data_type)}}} {parameter_name_reference} {parameter.description_detail}"
+                if len(parameter_description_comments) > 120:
+                    parameter_description_word_splitted = parameter_description_comment.split(" ")
+                    parameter_description_comment = ""
+                    current_line_length = 0
+                    for j, word in enumerate(parameter_description_word_splitted):
+                        if current_line_length < 120 or j == len(parameter_description_word_splitted) - 1:
+                            parameter_description_comment += word + " "
+                        else:
+                            parameter_description_comment += f"\n * {word} "
+                            current_line_length = 0
+                        current_line_length += len(word)
+
+                parameter_description_comments += parameter_description_comment
+                if parameter_counter < number_parameters - 1:
+                    parameter_description_comments += "\n"
+
                 parameter_counter += 1
 
 
         api_call = api_call.replace("$FUNCTION_PARAMETER", function_parameters)
-
+        api_call = api_call.replace("$PARAMETER_DESCRIPTION_COMMENTS", parameter_description_comments)
         # determine the type of request: Update, Create, Delete or List?
         request_data_declaration_code = ""
         if api_function.is_data_manipulating: