From cbfee58fb256592337ecacc56e334ecbec3eaf5a Mon Sep 17 00:00:00 2001
From: Marat Gumerov <marat.gumerof@aspose.com>
Date: Tue, 28 Jan 2020 16:32:46 +0400
Subject: [PATCH 1/7] AI tests added to pipeline

---
 tests/tests/sdk_test.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/tests/sdk_test.py b/tests/tests/sdk_test.py
index fd6093d..74fcce5 100644
--- a/tests/tests/sdk_test.py
+++ b/tests/tests/sdk_test.py
@@ -86,6 +86,7 @@ def test_date_time(td: TestData):
     assert start_date == fact_start_date
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_bcr_parse_storage(td: TestData):
     file_name = str(uuid.uuid4())+ ".png"
     image_file = os.path.join(os.path.dirname(__file__), '..', 'data', 'test_single_0001.png')
@@ -118,6 +119,7 @@ def test_ai_bcr_parse_storage(td: TestData):
     assert len(contact_properties.internal_properties) >= 3
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_bcr_parse(td: TestData):
     image_file = os.path.join(os.path.dirname(__file__), '..', 'data', 'test_single_0001.png')
     image_data = None
@@ -133,6 +135,7 @@ def test_ai_bcr_parse(td: TestData):
     assert 'Thomas' in display_name.value
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_name_genderize(td: TestData):
     """ Test name gender detection """
     result = td.email.ai_name_genderize(
@@ -141,6 +144,7 @@ def test_ai_name_genderize(td: TestData):
     assert result.value[0].gender == 'Male'
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_name_format(td: TestData):
     result = td.email.ai_name_format(
         requests.AiNameFormatRequest(
@@ -149,6 +153,7 @@ def test_ai_name_format(td: TestData):
     assert result.name == 'Mr. Cane J. M.'
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_name_match(td: TestData):
     first = 'John Michael Cane'
     second = 'Cane J.'
@@ -157,6 +162,7 @@ def test_ai_name_match(td: TestData):
     assert result.similarity >= 0.5
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_name_expand(td: TestData):
     name = 'Smith Bobby'
     result = td.email.ai_name_expand(
@@ -166,6 +172,7 @@ def test_ai_name_expand(td: TestData):
     assert 'B. Smith' in expandedNames
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_name_complete(td: TestData):
     prefix = 'Dav'
     result = td.email.ai_name_complete(
@@ -176,6 +183,7 @@ def test_ai_name_complete(td: TestData):
     assert 'Davis' in names
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_name_parse_email_address(td: TestData):
     address = 'john-cane@gmail.com'
     result = td.email.ai_name_parse_email_address(
@@ -262,6 +270,7 @@ def test_contact_model(td: TestData):
     assert exist_result.exists
 
 @pytest.mark.ai
+@pytest.mark.pipeline
 def test_ai_bcr_parse_model(td: TestData):
     image_file = os.path.join(os.path.dirname(__file__), '..', 'data', 'test_single_0001.png')
     image_data = None

From b3d6b7eb8cfd3eb236c07e076d1010d9b49a7799 Mon Sep 17 00:00:00 2001
From: "Aspose.Email Team" <aspose.email.team@gmail.com>
Date: Thu, 13 Feb 2020 10:34:58 -0600
Subject: [PATCH 2/7] SDK version 20.1.1 generated

---
 sdk/AsposeEmailCloudSdk/__init__.py           |  10 +
 sdk/AsposeEmailCloudSdk/api/email_api.py      |  60 ++++
 sdk/AsposeEmailCloudSdk/models/__init__.py    |  10 +
 .../models/discover_email_config_oauth.py     | 233 +++++++++++++
 .../models/discover_email_config_password.py  | 144 ++++++++
 .../models/discover_email_config_request.py   | 195 +++++++++++
 .../models/email_account_config.py            | 322 ++++++++++++++++++
 .../models/email_account_config_list.py       | 105 ++++++
 .../list_response_of_email_account_config.py  | 134 ++++++++
 .../models/name_value_pair.py                 | 148 ++++++++
 .../models/requests/__init__.py               |   3 +
 .../discover_email_config_oauth_request.py    |  85 +++++
 .../discover_email_config_password_request.py |  85 +++++
 .../requests/discover_email_config_request.py |  97 ++++++
 sdk/docs/DiscoverEmailConfigOauth.md          |  14 +
 sdk/docs/DiscoverEmailConfigPassword.md       |  11 +
 sdk/docs/DiscoverEmailConfigRequest.md        |  13 +
 sdk/docs/EmailAccountConfig.md                |  18 +
 sdk/docs/EmailAccountConfigList.md            |  10 +
 sdk/docs/EmailApi.md                          | 195 +++++++++++
 sdk/docs/ListResponseOfEmailAccountConfig.md  |  11 +
 sdk/docs/NameValuePair.md                     |  12 +
 sdk/docs/README.md                            |  13 +
 sdk/setup.py                                  |   2 +-
 24 files changed, 1929 insertions(+), 1 deletion(-)
 create mode 100644 sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/email_account_config.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/email_account_config_list.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/name_value_pair.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py
 create mode 100644 sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py
 create mode 100644 sdk/docs/DiscoverEmailConfigOauth.md
 create mode 100644 sdk/docs/DiscoverEmailConfigPassword.md
 create mode 100644 sdk/docs/DiscoverEmailConfigRequest.md
 create mode 100644 sdk/docs/EmailAccountConfig.md
 create mode 100644 sdk/docs/EmailAccountConfigList.md
 create mode 100644 sdk/docs/ListResponseOfEmailAccountConfig.md
 create mode 100644 sdk/docs/NameValuePair.md

diff --git a/sdk/AsposeEmailCloudSdk/__init__.py b/sdk/AsposeEmailCloudSdk/__init__.py
index cd5413b..ffae317 100644
--- a/sdk/AsposeEmailCloudSdk/__init__.py
+++ b/sdk/AsposeEmailCloudSdk/__init__.py
@@ -64,6 +64,8 @@
 from AsposeEmailCloudSdk.models.create_email_request import CreateEmailRequest
 from AsposeEmailCloudSdk.models.customer_event import CustomerEvent
 from AsposeEmailCloudSdk.models.disc_usage import DiscUsage
+from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+from AsposeEmailCloudSdk.models.email_account_config import EmailAccountConfig
 from AsposeEmailCloudSdk.models.email_account_request import EmailAccountRequest
 from AsposeEmailCloudSdk.models.email_address import EmailAddress
 from AsposeEmailCloudSdk.models.email_document import EmailDocument
@@ -93,6 +95,7 @@
 from AsposeEmailCloudSdk.models.list_response_of_ai_name_extracted import ListResponseOfAiNameExtracted
 from AsposeEmailCloudSdk.models.list_response_of_ai_name_gender_hypothesis import ListResponseOfAiNameGenderHypothesis
 from AsposeEmailCloudSdk.models.list_response_of_contact_dto import ListResponseOfContactDto
+from AsposeEmailCloudSdk.models.list_response_of_email_account_config import ListResponseOfEmailAccountConfig
 from AsposeEmailCloudSdk.models.list_response_of_email_dto import ListResponseOfEmailDto
 from AsposeEmailCloudSdk.models.list_response_of_hierarchical_object import ListResponseOfHierarchicalObject
 from AsposeEmailCloudSdk.models.list_response_of_hierarchical_object_response import ListResponseOfHierarchicalObjectResponse
@@ -105,6 +108,7 @@
 from AsposeEmailCloudSdk.models.mail_address import MailAddress
 from AsposeEmailCloudSdk.models.mail_server_folder import MailServerFolder
 from AsposeEmailCloudSdk.models.mime_response import MimeResponse
+from AsposeEmailCloudSdk.models.name_value_pair import NameValuePair
 from AsposeEmailCloudSdk.models.object_exist import ObjectExist
 from AsposeEmailCloudSdk.models.phone_number import PhoneNumber
 from AsposeEmailCloudSdk.models.postal_address import PostalAddress
@@ -136,6 +140,9 @@
 from AsposeEmailCloudSdk.models.create_folder_base_request import CreateFolderBaseRequest
 from AsposeEmailCloudSdk.models.delete_folder_base_request import DeleteFolderBaseRequest
 from AsposeEmailCloudSdk.models.delete_message_base_request import DeleteMessageBaseRequest
+from AsposeEmailCloudSdk.models.discover_email_config_oauth import DiscoverEmailConfigOauth
+from AsposeEmailCloudSdk.models.discover_email_config_password import DiscoverEmailConfigPassword
+from AsposeEmailCloudSdk.models.email_account_config_list import EmailAccountConfigList
 from AsposeEmailCloudSdk.models.email_dto_list import EmailDtoList
 from AsposeEmailCloudSdk.models.file_version import FileVersion
 from AsposeEmailCloudSdk.models.hierarchical_object import HierarchicalObject
@@ -197,6 +204,9 @@
 from AsposeEmailCloudSdk.models.requests.delete_folder_request import DeleteFolderRequest
 from AsposeEmailCloudSdk.models.requests.delete_mapi_attachment_request import DeleteMapiAttachmentRequest
 from AsposeEmailCloudSdk.models.requests.delete_mapi_properties_request import DeleteMapiPropertiesRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_oauth_request import DiscoverEmailConfigOauthRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_password_request import DiscoverEmailConfigPasswordRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_request import DiscoverEmailConfigRequest
 from AsposeEmailCloudSdk.models.requests.download_file_request import DownloadFileRequest
 from AsposeEmailCloudSdk.models.requests.fetch_email_message_request import FetchEmailMessageRequest
 from AsposeEmailCloudSdk.models.requests.fetch_email_model_request import FetchEmailModelRequest
diff --git a/sdk/AsposeEmailCloudSdk/api/email_api.py b/sdk/AsposeEmailCloudSdk/api/email_api.py
index 1d79a01..434de4c 100644
--- a/sdk/AsposeEmailCloudSdk/api/email_api.py
+++ b/sdk/AsposeEmailCloudSdk/api/email_api.py
@@ -903,6 +903,66 @@ def delete_mapi_properties_async(self, request: requests.DeleteMapiPropertiesReq
         http_request = request.to_http_info(self.api_client.configuration)
         return self.__make_request_async(http_request, 'DELETE', None)
 
+    def discover_email_config(self, request: requests.DiscoverEmailConfigRequest)  -> EmailAccountConfigList:
+        """Discover email accounts by email address. Does not validate discovered accounts.             
+
+
+        :param request DiscoverEmailConfigRequest object with parameters
+        :return: EmailAccountConfigList
+        """
+        http_request = request.to_http_info(self.api_client.configuration)
+        return self.__make_request(http_request, 'GET', 'EmailAccountConfigList')
+
+    def discover_email_config_async(self, request: requests.DiscoverEmailConfigRequest) -> multiprocessing.pool.AsyncResult:
+        """Discover email accounts by email address. Does not validate discovered accounts.             
+        Performs operation asynchronously. Returns multiprocessing.pool.AsyncResult
+
+        :param request DiscoverEmailConfigRequest object with parameters
+        :return: multiprocessing.pool.AsyncResult (AsyncResult.get() returns EmailAccountConfigList)
+        """
+        http_request = request.to_http_info(self.api_client.configuration)
+        return self.__make_request_async(http_request, 'GET', 'EmailAccountConfigList')
+
+    def discover_email_config_oauth(self, request: requests.DiscoverEmailConfigOauthRequest)  -> EmailAccountConfigList:
+        """Discover email accounts by email address. Validates discovered accounts using OAuth 2.0.             
+
+
+        :param request DiscoverEmailConfigOauthRequest object with parameters
+        :return: EmailAccountConfigList
+        """
+        http_request = request.to_http_info(self.api_client.configuration)
+        return self.__make_request(http_request, 'POST', 'EmailAccountConfigList')
+
+    def discover_email_config_oauth_async(self, request: requests.DiscoverEmailConfigOauthRequest) -> multiprocessing.pool.AsyncResult:
+        """Discover email accounts by email address. Validates discovered accounts using OAuth 2.0.             
+        Performs operation asynchronously. Returns multiprocessing.pool.AsyncResult
+
+        :param request DiscoverEmailConfigOauthRequest object with parameters
+        :return: multiprocessing.pool.AsyncResult (AsyncResult.get() returns EmailAccountConfigList)
+        """
+        http_request = request.to_http_info(self.api_client.configuration)
+        return self.__make_request_async(http_request, 'POST', 'EmailAccountConfigList')
+
+    def discover_email_config_password(self, request: requests.DiscoverEmailConfigPasswordRequest)  -> EmailAccountConfigList:
+        """Discover email accounts by email address. Validates discovered accounts using login and password.             
+
+
+        :param request DiscoverEmailConfigPasswordRequest object with parameters
+        :return: EmailAccountConfigList
+        """
+        http_request = request.to_http_info(self.api_client.configuration)
+        return self.__make_request(http_request, 'POST', 'EmailAccountConfigList')
+
+    def discover_email_config_password_async(self, request: requests.DiscoverEmailConfigPasswordRequest) -> multiprocessing.pool.AsyncResult:
+        """Discover email accounts by email address. Validates discovered accounts using login and password.             
+        Performs operation asynchronously. Returns multiprocessing.pool.AsyncResult
+
+        :param request DiscoverEmailConfigPasswordRequest object with parameters
+        :return: multiprocessing.pool.AsyncResult (AsyncResult.get() returns EmailAccountConfigList)
+        """
+        http_request = request.to_http_info(self.api_client.configuration)
+        return self.__make_request_async(http_request, 'POST', 'EmailAccountConfigList')
+
     def download_file(self, request: requests.DownloadFileRequest)  -> str:
         """Download file
 
diff --git a/sdk/AsposeEmailCloudSdk/models/__init__.py b/sdk/AsposeEmailCloudSdk/models/__init__.py
index 890a61c..608346e 100644
--- a/sdk/AsposeEmailCloudSdk/models/__init__.py
+++ b/sdk/AsposeEmailCloudSdk/models/__init__.py
@@ -58,6 +58,8 @@
 from AsposeEmailCloudSdk.models.create_email_request import CreateEmailRequest
 from AsposeEmailCloudSdk.models.customer_event import CustomerEvent
 from AsposeEmailCloudSdk.models.disc_usage import DiscUsage
+from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+from AsposeEmailCloudSdk.models.email_account_config import EmailAccountConfig
 from AsposeEmailCloudSdk.models.email_account_request import EmailAccountRequest
 from AsposeEmailCloudSdk.models.email_address import EmailAddress
 from AsposeEmailCloudSdk.models.email_document import EmailDocument
@@ -87,6 +89,7 @@
 from AsposeEmailCloudSdk.models.list_response_of_ai_name_extracted import ListResponseOfAiNameExtracted
 from AsposeEmailCloudSdk.models.list_response_of_ai_name_gender_hypothesis import ListResponseOfAiNameGenderHypothesis
 from AsposeEmailCloudSdk.models.list_response_of_contact_dto import ListResponseOfContactDto
+from AsposeEmailCloudSdk.models.list_response_of_email_account_config import ListResponseOfEmailAccountConfig
 from AsposeEmailCloudSdk.models.list_response_of_email_dto import ListResponseOfEmailDto
 from AsposeEmailCloudSdk.models.list_response_of_hierarchical_object import ListResponseOfHierarchicalObject
 from AsposeEmailCloudSdk.models.list_response_of_hierarchical_object_response import ListResponseOfHierarchicalObjectResponse
@@ -99,6 +102,7 @@
 from AsposeEmailCloudSdk.models.mail_address import MailAddress
 from AsposeEmailCloudSdk.models.mail_server_folder import MailServerFolder
 from AsposeEmailCloudSdk.models.mime_response import MimeResponse
+from AsposeEmailCloudSdk.models.name_value_pair import NameValuePair
 from AsposeEmailCloudSdk.models.object_exist import ObjectExist
 from AsposeEmailCloudSdk.models.phone_number import PhoneNumber
 from AsposeEmailCloudSdk.models.postal_address import PostalAddress
@@ -130,6 +134,9 @@
 from AsposeEmailCloudSdk.models.create_folder_base_request import CreateFolderBaseRequest
 from AsposeEmailCloudSdk.models.delete_folder_base_request import DeleteFolderBaseRequest
 from AsposeEmailCloudSdk.models.delete_message_base_request import DeleteMessageBaseRequest
+from AsposeEmailCloudSdk.models.discover_email_config_oauth import DiscoverEmailConfigOauth
+from AsposeEmailCloudSdk.models.discover_email_config_password import DiscoverEmailConfigPassword
+from AsposeEmailCloudSdk.models.email_account_config_list import EmailAccountConfigList
 from AsposeEmailCloudSdk.models.email_dto_list import EmailDtoList
 from AsposeEmailCloudSdk.models.file_version import FileVersion
 from AsposeEmailCloudSdk.models.hierarchical_object import HierarchicalObject
@@ -191,6 +198,9 @@
 from AsposeEmailCloudSdk.models.requests.delete_folder_request import DeleteFolderRequest
 from AsposeEmailCloudSdk.models.requests.delete_mapi_attachment_request import DeleteMapiAttachmentRequest
 from AsposeEmailCloudSdk.models.requests.delete_mapi_properties_request import DeleteMapiPropertiesRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_oauth_request import DiscoverEmailConfigOauthRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_password_request import DiscoverEmailConfigPasswordRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_request import DiscoverEmailConfigRequest
 from AsposeEmailCloudSdk.models.requests.download_file_request import DownloadFileRequest
 from AsposeEmailCloudSdk.models.requests.fetch_email_message_request import FetchEmailMessageRequest
 from AsposeEmailCloudSdk.models.requests.fetch_email_model_request import FetchEmailModelRequest
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
new file mode 100644
index 0000000..8bfec0a
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
@@ -0,0 +1,233 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="DiscoverEmailConfigOauth.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+
+
+class DiscoverEmailConfigOauth(DiscoverEmailConfigRequest):
+    """
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'address': 'str',
+        'fast_processing': 'bool',
+        'login': 'str',
+        'client_id': 'str',
+        'client_secret': 'str',
+        'refresh_token': 'str',
+        'request_url': 'str'
+    }
+
+    attribute_map = {
+        'address': 'address',
+        'fast_processing': 'fastProcessing',
+        'login': 'login',
+        'client_id': 'clientId',
+        'client_secret': 'clientSecret',
+        'refresh_token': 'refreshToken',
+        'request_url': 'requestUrl'
+    }
+
+    def __init__(self, address: str = None, fast_processing: bool = None, login: str = None, client_id: str = None, client_secret: str = None, refresh_token: str = None, request_url: str = None):
+        """DiscoverEmailConfigOauth - a model defined in Swagger"""
+        super(DiscoverEmailConfigOauth, self).__init__()
+
+        self._client_id = None
+        self._client_secret = None
+        self._refresh_token = None
+        self._request_url = None
+        self.discriminator = None
+
+        if address is not None:
+            self.address = address
+        if fast_processing is not None:
+            self.fast_processing = fast_processing
+        if login is not None:
+            self.login = login
+        if client_id is not None:
+            self.client_id = client_id
+        if client_secret is not None:
+            self.client_secret = client_secret
+        if refresh_token is not None:
+            self.refresh_token = refresh_token
+        if request_url is not None:
+            self.request_url = request_url
+
+    @property
+    def client_id(self) -> str:
+        """Gets the client_id of this DiscoverEmailConfigOauth.
+
+        OAuth client id.             
+
+        :return: The client_id of this DiscoverEmailConfigOauth.
+        :rtype: str
+        """
+        return self._client_id
+
+    @client_id.setter
+    def client_id(self, client_id: str):
+        """Sets the client_id of this DiscoverEmailConfigOauth.
+
+        OAuth client id.             
+
+        :param client_id: The client_id of this DiscoverEmailConfigOauth.
+        :type: str
+        """
+        if client_id is None:
+            raise ValueError("Invalid value for `client_id`, must not be `None`")
+        if client_id is not None and len(client_id) < 1:
+            raise ValueError("Invalid value for `client_id`, length must be greater than or equal to `1`")
+        self._client_id = client_id
+
+    @property
+    def client_secret(self) -> str:
+        """Gets the client_secret of this DiscoverEmailConfigOauth.
+
+        OAuth client secret.             
+
+        :return: The client_secret of this DiscoverEmailConfigOauth.
+        :rtype: str
+        """
+        return self._client_secret
+
+    @client_secret.setter
+    def client_secret(self, client_secret: str):
+        """Sets the client_secret of this DiscoverEmailConfigOauth.
+
+        OAuth client secret.             
+
+        :param client_secret: The client_secret of this DiscoverEmailConfigOauth.
+        :type: str
+        """
+        if client_secret is None:
+            raise ValueError("Invalid value for `client_secret`, must not be `None`")
+        if client_secret is not None and len(client_secret) < 1:
+            raise ValueError("Invalid value for `client_secret`, length must be greater than or equal to `1`")
+        self._client_secret = client_secret
+
+    @property
+    def refresh_token(self) -> str:
+        """Gets the refresh_token of this DiscoverEmailConfigOauth.
+
+        OAuth refresh token.             
+
+        :return: The refresh_token of this DiscoverEmailConfigOauth.
+        :rtype: str
+        """
+        return self._refresh_token
+
+    @refresh_token.setter
+    def refresh_token(self, refresh_token: str):
+        """Sets the refresh_token of this DiscoverEmailConfigOauth.
+
+        OAuth refresh token.             
+
+        :param refresh_token: The refresh_token of this DiscoverEmailConfigOauth.
+        :type: str
+        """
+        if refresh_token is None:
+            raise ValueError("Invalid value for `refresh_token`, must not be `None`")
+        if refresh_token is not None and len(refresh_token) < 1:
+            raise ValueError("Invalid value for `refresh_token`, length must be greater than or equal to `1`")
+        self._refresh_token = refresh_token
+
+    @property
+    def request_url(self) -> str:
+        """Gets the request_url of this DiscoverEmailConfigOauth.
+
+        The url to obtain access token. If not specified, will be discovered from email configuration.             
+
+        :return: The request_url of this DiscoverEmailConfigOauth.
+        :rtype: str
+        """
+        return self._request_url
+
+    @request_url.setter
+    def request_url(self, request_url: str):
+        """Sets the request_url of this DiscoverEmailConfigOauth.
+
+        The url to obtain access token. If not specified, will be discovered from email configuration.             
+
+        :param request_url: The request_url of this DiscoverEmailConfigOauth.
+        :type: str
+        """
+        self._request_url = request_url
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, DiscoverEmailConfigOauth):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
new file mode 100644
index 0000000..33e0640
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
@@ -0,0 +1,144 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="DiscoverEmailConfigPassword.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+
+
+class DiscoverEmailConfigPassword(DiscoverEmailConfigRequest):
+    """
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'address': 'str',
+        'fast_processing': 'bool',
+        'login': 'str',
+        'password': 'str'
+    }
+
+    attribute_map = {
+        'address': 'address',
+        'fast_processing': 'fastProcessing',
+        'login': 'login',
+        'password': 'password'
+    }
+
+    def __init__(self, address: str = None, fast_processing: bool = None, login: str = None, password: str = None):
+        """DiscoverEmailConfigPassword - a model defined in Swagger"""
+        super(DiscoverEmailConfigPassword, self).__init__()
+
+        self._password = None
+        self.discriminator = None
+
+        if address is not None:
+            self.address = address
+        if fast_processing is not None:
+            self.fast_processing = fast_processing
+        if login is not None:
+            self.login = login
+        if password is not None:
+            self.password = password
+
+    @property
+    def password(self) -> str:
+        """Gets the password of this DiscoverEmailConfigPassword.
+
+        Email account password.             
+
+        :return: The password of this DiscoverEmailConfigPassword.
+        :rtype: str
+        """
+        return self._password
+
+    @password.setter
+    def password(self, password: str):
+        """Sets the password of this DiscoverEmailConfigPassword.
+
+        Email account password.             
+
+        :param password: The password of this DiscoverEmailConfigPassword.
+        :type: str
+        """
+        if password is None:
+            raise ValueError("Invalid value for `password`, must not be `None`")
+        if password is not None and len(password) < 1:
+            raise ValueError("Invalid value for `password`, length must be greater than or equal to `1`")
+        self._password = password
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, DiscoverEmailConfigPassword):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py
new file mode 100644
index 0000000..618fadc
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py
@@ -0,0 +1,195 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="DiscoverEmailConfigRequest.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+
+class DiscoverEmailConfigRequest(object):
+    """Discover email configuration request.             
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'address': 'str',
+        'fast_processing': 'bool',
+        'login': 'str'
+    }
+
+    attribute_map = {
+        'address': 'address',
+        'fast_processing': 'fastProcessing',
+        'login': 'login'
+    }
+
+    discriminator_value_class_map = {
+        'DiscoverEmailConfigPassword': 'DiscoverEmailConfigPassword',
+        'DiscoverEmailConfigOauth': 'DiscoverEmailConfigOauth'
+    }
+
+    def __init__(self, address: str = None, fast_processing: bool = None, login: str = None):
+        """DiscoverEmailConfigRequest - a model defined in Swagger"""
+
+        self._address = None
+        self._fast_processing = None
+        self._login = None
+        self.discriminator = 'Type'
+
+        if address is not None:
+            self.address = address
+        if fast_processing is not None:
+            self.fast_processing = fast_processing
+        if login is not None:
+            self.login = login
+
+    @property
+    def address(self) -> str:
+        """Gets the address of this DiscoverEmailConfigRequest.
+
+        Email address to discover.             
+
+        :return: The address of this DiscoverEmailConfigRequest.
+        :rtype: str
+        """
+        return self._address
+
+    @address.setter
+    def address(self, address: str):
+        """Sets the address of this DiscoverEmailConfigRequest.
+
+        Email address to discover.             
+
+        :param address: The address of this DiscoverEmailConfigRequest.
+        :type: str
+        """
+        if address is None:
+            raise ValueError("Invalid value for `address`, must not be `None`")
+        if address is not None and len(address) < 1:
+            raise ValueError("Invalid value for `address`, length must be greater than or equal to `1`")
+        self._address = address
+
+    @property
+    def fast_processing(self) -> bool:
+        """Gets the fast_processing of this DiscoverEmailConfigRequest.
+
+        Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
+
+        :return: The fast_processing of this DiscoverEmailConfigRequest.
+        :rtype: bool
+        """
+        return self._fast_processing
+
+    @fast_processing.setter
+    def fast_processing(self, fast_processing: bool):
+        """Sets the fast_processing of this DiscoverEmailConfigRequest.
+
+        Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
+
+        :param fast_processing: The fast_processing of this DiscoverEmailConfigRequest.
+        :type: bool
+        """
+        if fast_processing is None:
+            raise ValueError("Invalid value for `fast_processing`, must not be `None`")
+        self._fast_processing = fast_processing
+
+    @property
+    def login(self) -> str:
+        """Gets the login of this DiscoverEmailConfigRequest.
+
+        Email account login. If not specified, address used as a login.             
+
+        :return: The login of this DiscoverEmailConfigRequest.
+        :rtype: str
+        """
+        return self._login
+
+    @login.setter
+    def login(self, login: str):
+        """Sets the login of this DiscoverEmailConfigRequest.
+
+        Email account login. If not specified, address used as a login.             
+
+        :param login: The login of this DiscoverEmailConfigRequest.
+        :type: str
+        """
+        self._login = login
+
+    def get_real_child_model(self, data):
+        """Returns the real base class specified by the discriminator"""
+        discriminator_value = data.get(self.discriminator)
+        return self.discriminator_value_class_map.get(discriminator_value.lower()) if discriminator_value else None
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, DiscoverEmailConfigRequest):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_config.py b/sdk/AsposeEmailCloudSdk/models/email_account_config.py
new file mode 100644
index 0000000..532cae3
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_config.py
@@ -0,0 +1,322 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="EmailAccountConfig.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+from AsposeEmailCloudSdk.models.name_value_pair import NameValuePair
+
+
+class EmailAccountConfig(object):
+    """Email account configuration.             
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'display_name': 'str',
+        'type': 'str',
+        'host': 'str',
+        'port': 'int',
+        'socket_type': 'str',
+        'authentication_types': 'list[str]',
+        'extra_info': 'list[NameValuePair]',
+        'is_validated': 'bool'
+    }
+
+    attribute_map = {
+        'display_name': 'displayName',
+        'type': 'type',
+        'host': 'host',
+        'port': 'port',
+        'socket_type': 'socketType',
+        'authentication_types': 'authenticationTypes',
+        'extra_info': 'extraInfo',
+        'is_validated': 'isValidated'
+    }
+
+    def __init__(self, display_name: str = None, type: str = None, host: str = None, port: int = None, socket_type: str = None, authentication_types: List[str] = None, extra_info: List[NameValuePair] = None, is_validated: bool = None):
+        """EmailAccountConfig - a model defined in Swagger"""
+
+        self._display_name = None
+        self._type = None
+        self._host = None
+        self._port = None
+        self._socket_type = None
+        self._authentication_types = None
+        self._extra_info = None
+        self._is_validated = None
+        self.discriminator = None
+
+        if display_name is not None:
+            self.display_name = display_name
+        if type is not None:
+            self.type = type
+        if host is not None:
+            self.host = host
+        if port is not None:
+            self.port = port
+        if socket_type is not None:
+            self.socket_type = socket_type
+        if authentication_types is not None:
+            self.authentication_types = authentication_types
+        if extra_info is not None:
+            self.extra_info = extra_info
+        if is_validated is not None:
+            self.is_validated = is_validated
+
+    @property
+    def display_name(self) -> str:
+        """Gets the display_name of this EmailAccountConfig.
+
+        Email account display name             
+
+        :return: The display_name of this EmailAccountConfig.
+        :rtype: str
+        """
+        return self._display_name
+
+    @display_name.setter
+    def display_name(self, display_name: str):
+        """Sets the display_name of this EmailAccountConfig.
+
+        Email account display name             
+
+        :param display_name: The display_name of this EmailAccountConfig.
+        :type: str
+        """
+        self._display_name = display_name
+
+    @property
+    def type(self) -> str:
+        """Gets the type of this EmailAccountConfig.
+
+        Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
+
+        :return: The type of this EmailAccountConfig.
+        :rtype: str
+        """
+        return self._type
+
+    @type.setter
+    def type(self, type: str):
+        """Sets the type of this EmailAccountConfig.
+
+        Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
+
+        :param type: The type of this EmailAccountConfig.
+        :type: str
+        """
+        if type is None:
+            raise ValueError("Invalid value for `type`, must not be `None`")
+        self._type = type
+
+    @property
+    def host(self) -> str:
+        """Gets the host of this EmailAccountConfig.
+
+        Email account host.             
+
+        :return: The host of this EmailAccountConfig.
+        :rtype: str
+        """
+        return self._host
+
+    @host.setter
+    def host(self, host: str):
+        """Sets the host of this EmailAccountConfig.
+
+        Email account host.             
+
+        :param host: The host of this EmailAccountConfig.
+        :type: str
+        """
+        self._host = host
+
+    @property
+    def port(self) -> int:
+        """Gets the port of this EmailAccountConfig.
+
+        Port.             
+
+        :return: The port of this EmailAccountConfig.
+        :rtype: int
+        """
+        return self._port
+
+    @port.setter
+    def port(self, port: int):
+        """Sets the port of this EmailAccountConfig.
+
+        Port.             
+
+        :param port: The port of this EmailAccountConfig.
+        :type: int
+        """
+        self._port = port
+
+    @property
+    def socket_type(self) -> str:
+        """Gets the socket_type of this EmailAccountConfig.
+
+        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+
+        :return: The socket_type of this EmailAccountConfig.
+        :rtype: str
+        """
+        return self._socket_type
+
+    @socket_type.setter
+    def socket_type(self, socket_type: str):
+        """Sets the socket_type of this EmailAccountConfig.
+
+        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+
+        :param socket_type: The socket_type of this EmailAccountConfig.
+        :type: str
+        """
+        if socket_type is None:
+            raise ValueError("Invalid value for `socket_type`, must not be `None`")
+        self._socket_type = socket_type
+
+    @property
+    def authentication_types(self) -> List[str]:
+        """Gets the authentication_types of this EmailAccountConfig.
+
+        Supported authentication types.              Items: Email account authentication types. Enum, available values: NoAuth, OAuth2, PasswordCleartext, PasswordEncrypted, SmtpAfterPop, ClientIpAddress
+
+        :return: The authentication_types of this EmailAccountConfig.
+        :rtype: list[str]
+        """
+        return self._authentication_types
+
+    @authentication_types.setter
+    def authentication_types(self, authentication_types: List[str]):
+        """Sets the authentication_types of this EmailAccountConfig.
+
+        Supported authentication types.              Items: Email account authentication types. Enum, available values: NoAuth, OAuth2, PasswordCleartext, PasswordEncrypted, SmtpAfterPop, ClientIpAddress
+
+        :param authentication_types: The authentication_types of this EmailAccountConfig.
+        :type: list[str]
+        """
+        self._authentication_types = authentication_types
+
+    @property
+    def extra_info(self) -> List[NameValuePair]:
+        """Gets the extra_info of this EmailAccountConfig.
+
+        Extra account information.             
+
+        :return: The extra_info of this EmailAccountConfig.
+        :rtype: list[NameValuePair]
+        """
+        return self._extra_info
+
+    @extra_info.setter
+    def extra_info(self, extra_info: List[NameValuePair]):
+        """Sets the extra_info of this EmailAccountConfig.
+
+        Extra account information.             
+
+        :param extra_info: The extra_info of this EmailAccountConfig.
+        :type: list[NameValuePair]
+        """
+        self._extra_info = extra_info
+
+    @property
+    def is_validated(self) -> bool:
+        """Gets the is_validated of this EmailAccountConfig.
+
+        Determines that configuration validated. Set to false if validation skipped.             
+
+        :return: The is_validated of this EmailAccountConfig.
+        :rtype: bool
+        """
+        return self._is_validated
+
+    @is_validated.setter
+    def is_validated(self, is_validated: bool):
+        """Sets the is_validated of this EmailAccountConfig.
+
+        Determines that configuration validated. Set to false if validation skipped.             
+
+        :param is_validated: The is_validated of this EmailAccountConfig.
+        :type: bool
+        """
+        if is_validated is None:
+            raise ValueError("Invalid value for `is_validated`, must not be `None`")
+        self._is_validated = is_validated
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, EmailAccountConfig):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py b/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py
new file mode 100644
index 0000000..261a756
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py
@@ -0,0 +1,105 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="EmailAccountConfigList.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+from AsposeEmailCloudSdk.models.email_account_config import EmailAccountConfig
+from AsposeEmailCloudSdk.models.list_response_of_email_account_config import ListResponseOfEmailAccountConfig
+
+
+class EmailAccountConfigList(ListResponseOfEmailAccountConfig):
+    """List of email accounts             
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'value': 'list[EmailAccountConfig]'
+    }
+
+    attribute_map = {
+        'value': 'value'
+    }
+
+    def __init__(self, value: List[EmailAccountConfig] = None):
+        """EmailAccountConfigList - a model defined in Swagger"""
+        super(EmailAccountConfigList, self).__init__()
+        self.discriminator = None
+
+        if value is not None:
+            self.value = value
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, EmailAccountConfigList):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py
new file mode 100644
index 0000000..a25f957
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py
@@ -0,0 +1,134 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="ListResponseOfEmailAccountConfig.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+from AsposeEmailCloudSdk.models.email_account_config import EmailAccountConfig
+
+
+class ListResponseOfEmailAccountConfig(object):
+    """
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'value': 'list[EmailAccountConfig]'
+    }
+
+    attribute_map = {
+        'value': 'value'
+    }
+
+    discriminator_value_class_map = {
+        'EmailAccountConfigList': 'EmailAccountConfigList'
+    }
+
+    def __init__(self, value: List[EmailAccountConfig] = None):
+        """ListResponseOfEmailAccountConfig - a model defined in Swagger"""
+
+        self._value = None
+        self.discriminator = 'Type'
+
+        if value is not None:
+            self.value = value
+
+    @property
+    def value(self) -> List[EmailAccountConfig]:
+        """Gets the value of this ListResponseOfEmailAccountConfig.
+
+
+        :return: The value of this ListResponseOfEmailAccountConfig.
+        :rtype: list[EmailAccountConfig]
+        """
+        return self._value
+
+    @value.setter
+    def value(self, value: List[EmailAccountConfig]):
+        """Sets the value of this ListResponseOfEmailAccountConfig.
+
+
+        :param value: The value of this ListResponseOfEmailAccountConfig.
+        :type: list[EmailAccountConfig]
+        """
+        self._value = value
+
+    def get_real_child_model(self, data):
+        """Returns the real base class specified by the discriminator"""
+        discriminator_value = data.get(self.discriminator)
+        return self.discriminator_value_class_map.get(discriminator_value.lower()) if discriminator_value else None
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, ListResponseOfEmailAccountConfig):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/name_value_pair.py b/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
new file mode 100644
index 0000000..d9999f8
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
@@ -0,0 +1,148 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="NameValuePair.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+
+import pprint
+import re
+import six
+from typing import List, Set, Dict, Tuple, Optional
+from datetime import datetime
+
+
+class NameValuePair(object):
+    """
+    """
+
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'value': 'str',
+        'name': 'str'
+    }
+
+    attribute_map = {
+        'value': 'value',
+        'name': 'name'
+    }
+
+    def __init__(self, value: str = None, name: str = None):
+        """NameValuePair - a model defined in Swagger"""
+
+        self._value = None
+        self._name = None
+        self.discriminator = None
+
+        if value is not None:
+            self.value = value
+        if name is not None:
+            self.name = name
+
+    @property
+    def value(self) -> str:
+        """Gets the value of this NameValuePair.
+
+
+        :return: The value of this NameValuePair.
+        :rtype: str
+        """
+        return self._value
+
+    @value.setter
+    def value(self, value: str):
+        """Sets the value of this NameValuePair.
+
+
+        :param value: The value of this NameValuePair.
+        :type: str
+        """
+        self._value = value
+
+    @property
+    def name(self) -> str:
+        """Gets the name of this NameValuePair.
+
+
+        :return: The name of this NameValuePair.
+        :rtype: str
+        """
+        return self._name
+
+    @name.setter
+    def name(self, name: str):
+        """Sets the name of this NameValuePair.
+
+
+        :param name: The name of this NameValuePair.
+        :type: str
+        """
+        self._name = name
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, NameValuePair):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/__init__.py b/sdk/AsposeEmailCloudSdk/models/requests/__init__.py
index 938e09d..ab76fc6 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/__init__.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/__init__.py
@@ -68,6 +68,9 @@
 from AsposeEmailCloudSdk.models.requests.delete_folder_request import DeleteFolderRequest
 from AsposeEmailCloudSdk.models.requests.delete_mapi_attachment_request import DeleteMapiAttachmentRequest
 from AsposeEmailCloudSdk.models.requests.delete_mapi_properties_request import DeleteMapiPropertiesRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_oauth_request import DiscoverEmailConfigOauthRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_password_request import DiscoverEmailConfigPasswordRequest
+from AsposeEmailCloudSdk.models.requests.discover_email_config_request import DiscoverEmailConfigRequest
 from AsposeEmailCloudSdk.models.requests.download_file_request import DownloadFileRequest
 from AsposeEmailCloudSdk.models.requests.fetch_email_message_request import FetchEmailMessageRequest
 from AsposeEmailCloudSdk.models.requests.fetch_email_model_request import FetchEmailModelRequest
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py
new file mode 100644
index 0000000..93462c2
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py
@@ -0,0 +1,85 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="discover_email_config_oauth_request.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+##for __init__.py:from AsposeEmailCloudSdk.models.requests.discover_email_config_oauth_request import DiscoverEmailConfigOauthRequest
+
+from AsposeEmailCloudSdk.models.requests.base_request import BaseRequest
+from AsposeEmailCloudSdk.models.requests.http_request import HttpRequest
+from AsposeEmailCloudSdk.models import *
+
+
+class DiscoverEmailConfigOauthRequest(BaseRequest):
+    """
+    Request model for discover_email_config_oauth operation.
+    Initializes a new instance.
+
+    :param rq (DiscoverEmailConfigOauth) Discover email configuration request.
+    """
+
+    def __init__(self, rq: DiscoverEmailConfigOauth):
+        BaseRequest.__init__(self)
+        self.rq = rq
+
+    def to_http_info(self, config):
+        """
+        Prepares initial info for HTTP request
+
+        :param config: Email API configuration
+        :type: AsposeEmailCloudSdk.Configuration
+        :return: http_request configured http request
+        :rtype: Configuration.models.requests.HttpRequest
+        """
+        # verify the required parameter 'rq' is set
+        if self.rq is None:
+            raise ValueError("Missing the required parameter `rq` when calling `discover_email_config_oauth`")
+
+        collection_formats = {}
+        path = '/email/config/discover/oauth'
+        path_params = {}
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = []
+
+        body_params = None
+        if self.rq is not None:
+            body_params = self.rq
+
+        # HTTP header `Accept`
+        header_params['Accept'] = self._select_header_accept(
+            ['application/json'])
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self._select_header_content_type(
+            ['application/json'])
+
+        # Authentication setting
+        auth_settings = ['JWT']
+
+        return HttpRequest(path, path_params, query_params, header_params, form_params, body_params, local_var_files,
+                           collection_formats, auth_settings)
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py
new file mode 100644
index 0000000..97646b8
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py
@@ -0,0 +1,85 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="discover_email_config_password_request.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+##for __init__.py:from AsposeEmailCloudSdk.models.requests.discover_email_config_password_request import DiscoverEmailConfigPasswordRequest
+
+from AsposeEmailCloudSdk.models.requests.base_request import BaseRequest
+from AsposeEmailCloudSdk.models.requests.http_request import HttpRequest
+from AsposeEmailCloudSdk.models import *
+
+
+class DiscoverEmailConfigPasswordRequest(BaseRequest):
+    """
+    Request model for discover_email_config_password operation.
+    Initializes a new instance.
+
+    :param rq (DiscoverEmailConfigPassword) Discover email configuration request.
+    """
+
+    def __init__(self, rq: DiscoverEmailConfigPassword):
+        BaseRequest.__init__(self)
+        self.rq = rq
+
+    def to_http_info(self, config):
+        """
+        Prepares initial info for HTTP request
+
+        :param config: Email API configuration
+        :type: AsposeEmailCloudSdk.Configuration
+        :return: http_request configured http request
+        :rtype: Configuration.models.requests.HttpRequest
+        """
+        # verify the required parameter 'rq' is set
+        if self.rq is None:
+            raise ValueError("Missing the required parameter `rq` when calling `discover_email_config_password`")
+
+        collection_formats = {}
+        path = '/email/config/discover/password'
+        path_params = {}
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = []
+
+        body_params = None
+        if self.rq is not None:
+            body_params = self.rq
+
+        # HTTP header `Accept`
+        header_params['Accept'] = self._select_header_accept(
+            ['application/json'])
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self._select_header_content_type(
+            ['application/json'])
+
+        # Authentication setting
+        auth_settings = ['JWT']
+
+        return HttpRequest(path, path_params, query_params, header_params, form_params, body_params, local_var_files,
+                           collection_formats, auth_settings)
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py
new file mode 100644
index 0000000..e787196
--- /dev/null
+++ b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py
@@ -0,0 +1,97 @@
+#  coding: utf-8
+#  ----------------------------------------------------------------------------
+#  <copyright company="Aspose" file="discover_email_config_request.py">
+#    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
+#  </copyright>
+#  <summary>
+#    Permission is hereby granted, free of charge, to any person obtaining a
+#   copy  of this software and associated documentation files (the "Software"),
+#   to deal  in the Software without restriction, including without limitation
+#   the rights  to use, copy, modify, merge, publish, distribute, sublicense,
+#   and/or sell  copies of the Software, and to permit persons to whom the
+#   Software is  furnished to do so, subject to the following conditions:
+#
+#   The above copyright notice and this permission notice shall be included in
+#   all  copies or substantial portions of the Software.
+#
+#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#   FROM,  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+#   DEALINGS IN THE SOFTWARE.
+#  </summary>
+#  ----------------------------------------------------------------------------
+##for __init__.py:from AsposeEmailCloudSdk.models.requests.discover_email_config_request import DiscoverEmailConfigRequest
+
+from AsposeEmailCloudSdk.models.requests.base_request import BaseRequest
+from AsposeEmailCloudSdk.models.requests.http_request import HttpRequest
+from AsposeEmailCloudSdk.models import *
+
+
+class DiscoverEmailConfigRequest(BaseRequest):
+    """
+    Request model for discover_email_config operation.
+    Initializes a new instance.
+
+    :param address (str) Email address
+    :param fast_processing (bool) Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned             
+    """
+
+    def __init__(self, address: str, fast_processing: bool = None):
+        BaseRequest.__init__(self)
+        self.address = address
+        self.fast_processing = fast_processing
+
+    def to_http_info(self, config):
+        """
+        Prepares initial info for HTTP request
+
+        :param config: Email API configuration
+        :type: AsposeEmailCloudSdk.Configuration
+        :return: http_request configured http request
+        :rtype: Configuration.models.requests.HttpRequest
+        """
+        # verify the required parameter 'address' is set
+        if self.address is None:
+            raise ValueError("Missing the required parameter `address` when calling `discover_email_config`")
+
+        collection_formats = {}
+        path = '/email/config/discover'
+        path_params = {}
+
+        query_params = []
+        path_parameter = '{' + self._lowercase_first_letter('address') + '}'
+        if path_parameter in path:
+            path = path.replace(path_parameter, self.address if self.address is not None else '')
+        else:
+            if self.address is not None:
+                query_params.append((self._lowercase_first_letter('address'), self.address))
+        path_parameter = '{' + self._lowercase_first_letter('fastProcessing') + '}'
+        if path_parameter in path:
+            path = path.replace(path_parameter, self.fast_processing if self.fast_processing is not None else '')
+        else:
+            if self.fast_processing is not None:
+                query_params.append((self._lowercase_first_letter('fastProcessing'), self.fast_processing))
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = []
+
+        body_params = None
+
+        # HTTP header `Accept`
+        header_params['Accept'] = self._select_header_accept(
+            ['application/json'])
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self._select_header_content_type(
+            ['application/json'])
+
+        # Authentication setting
+        auth_settings = ['JWT']
+
+        return HttpRequest(path, path_params, query_params, header_params, form_params, body_params, local_var_files,
+                           collection_formats, auth_settings)
diff --git a/sdk/docs/DiscoverEmailConfigOauth.md b/sdk/docs/DiscoverEmailConfigOauth.md
new file mode 100644
index 0000000..89ccc2c
--- /dev/null
+++ b/sdk/docs/DiscoverEmailConfigOauth.md
@@ -0,0 +1,14 @@
+# AsposeEmailCloudSdk.models.DiscoverEmailConfigOauth
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**client_id** | **str** | OAuth client id.              | 
+**client_secret** | **str** | OAuth client secret.              | 
+**refresh_token** | **str** | OAuth refresh token.              | 
+**request_url** | **str** | The url to obtain access token. If not specified, will be discovered from email configuration.              | [optional] 
+
+ Parent class: [DiscoverEmailConfigRequest](DiscoverEmailConfigRequest.md)
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/DiscoverEmailConfigPassword.md b/sdk/docs/DiscoverEmailConfigPassword.md
new file mode 100644
index 0000000..edc0edf
--- /dev/null
+++ b/sdk/docs/DiscoverEmailConfigPassword.md
@@ -0,0 +1,11 @@
+# AsposeEmailCloudSdk.models.DiscoverEmailConfigPassword
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**password** | **str** | Email account password.              | 
+
+ Parent class: [DiscoverEmailConfigRequest](DiscoverEmailConfigRequest.md)
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/DiscoverEmailConfigRequest.md b/sdk/docs/DiscoverEmailConfigRequest.md
new file mode 100644
index 0000000..d37a6fa
--- /dev/null
+++ b/sdk/docs/DiscoverEmailConfigRequest.md
@@ -0,0 +1,13 @@
+# AsposeEmailCloudSdk.models.DiscoverEmailConfigRequest
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**address** | **str** | Email address to discover.              | 
+**fast_processing** | **bool** | Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.              | 
+**login** | **str** | Email account login. If not specified, address used as a login.              | [optional] 
+
+
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/EmailAccountConfig.md b/sdk/docs/EmailAccountConfig.md
new file mode 100644
index 0000000..b0b257c
--- /dev/null
+++ b/sdk/docs/EmailAccountConfig.md
@@ -0,0 +1,18 @@
+# AsposeEmailCloudSdk.models.EmailAccountConfig
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**display_name** | **str** | Email account display name              | [optional] 
+**type** | **str** | Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav | 
+**host** | **str** | Email account host.              | [optional] 
+**port** | **int** | Port.              | [optional] 
+**socket_type** | **str** | Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
+**authentication_types** | **list[str]** | Supported authentication types.              Items: Email account authentication types. Enum, available values: NoAuth, OAuth2, PasswordCleartext, PasswordEncrypted, SmtpAfterPop, ClientIpAddress | [optional] 
+**extra_info** | [**list[NameValuePair]**](NameValuePair.md) | Extra account information.              | [optional] 
+**is_validated** | **bool** | Determines that configuration validated. Set to false if validation skipped.              | 
+
+
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/EmailAccountConfigList.md b/sdk/docs/EmailAccountConfigList.md
new file mode 100644
index 0000000..405dadb
--- /dev/null
+++ b/sdk/docs/EmailAccountConfigList.md
@@ -0,0 +1,10 @@
+# AsposeEmailCloudSdk.models.EmailAccountConfigList
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+ Parent class: [ListResponseOfEmailAccountConfig](ListResponseOfEmailAccountConfig.md)
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/EmailApi.md b/sdk/docs/EmailApi.md
index 3ae81e0..421fa02 100644
--- a/sdk/docs/EmailApi.md
+++ b/sdk/docs/EmailApi.md
@@ -3090,6 +3090,201 @@ Name | Type | Description  | Notes
 
 [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
 
+<a name="discover_email_config"></a>
+# **discover_email_config**
+> discover_email_config(self, discover_email_config_request)
+
+Discover email accounts by email address. Does not validate discovered accounts.             
+
+### Return type
+
+[**EmailAccountConfigList**](EmailAccountConfigList.md)
+
+### Request Parameters
+```python
+__init__(self, 
+    address, 
+    fast_processing=fast_processing)
+```
+
+### Usage
+```python
+EmailApi.discover_email_config(
+    DiscoverEmailConfigRequest(
+        address, 
+        fast_processing=fast_processing))
+```
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **address** | **str**| Email address | 
+ **fast_processing** | **bool**| Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned              | [optional] [default to false]
+
+[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
+
+<a name="discover_email_config_async"></a>
+# **discover_email_config_async**
+> discover_email_config_async(self, discover_email_config_request)
+
+Discover email accounts by email address. Does not validate discovered accounts.             
+
+Performs operation asynchronously.
+
+### Return type
+
+Returns multiprocessing.pool.AsyncResult.
+discover_email_config_async(request).get() returns [**EmailAccountConfigList**](EmailAccountConfigList.md)
+
+### Request Parameters
+```python
+__init__(self, 
+    address, 
+    fast_processing=fast_processing)
+```
+
+### Usage
+```python
+EmailApi.discover_email_config_async(
+    DiscoverEmailConfigRequest(
+        address, 
+        fast_processing=fast_processing))
+```
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **address** | **str**| Email address | 
+ **fast_processing** | **bool**| Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned              | [optional] [default to false]
+
+[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
+
+<a name="discover_email_config_oauth"></a>
+# **discover_email_config_oauth**
+> discover_email_config_oauth(self, discover_email_config_oauth_request)
+
+Discover email accounts by email address. Validates discovered accounts using OAuth 2.0.             
+
+### Return type
+
+[**EmailAccountConfigList**](EmailAccountConfigList.md)
+
+### Request Parameters
+```python
+__init__(self, 
+    rq)
+```
+
+### Usage
+```python
+EmailApi.discover_email_config_oauth(
+    DiscoverEmailConfigOauthRequest(
+        rq))
+```
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **rq** | [**DiscoverEmailConfigOauth**](DiscoverEmailConfigOauth.md)| Discover email configuration request. | 
+
+[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
+
+<a name="discover_email_config_oauth_async"></a>
+# **discover_email_config_oauth_async**
+> discover_email_config_oauth_async(self, discover_email_config_oauth_request)
+
+Discover email accounts by email address. Validates discovered accounts using OAuth 2.0.             
+
+Performs operation asynchronously.
+
+### Return type
+
+Returns multiprocessing.pool.AsyncResult.
+discover_email_config_oauth_async(request).get() returns [**EmailAccountConfigList**](EmailAccountConfigList.md)
+
+### Request Parameters
+```python
+__init__(self, 
+    rq)
+```
+
+### Usage
+```python
+EmailApi.discover_email_config_oauth_async(
+    DiscoverEmailConfigOauthRequest(
+        rq))
+```
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **rq** | [**DiscoverEmailConfigOauth**](DiscoverEmailConfigOauth.md)| Discover email configuration request. | 
+
+[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
+
+<a name="discover_email_config_password"></a>
+# **discover_email_config_password**
+> discover_email_config_password(self, discover_email_config_password_request)
+
+Discover email accounts by email address. Validates discovered accounts using login and password.             
+
+### Return type
+
+[**EmailAccountConfigList**](EmailAccountConfigList.md)
+
+### Request Parameters
+```python
+__init__(self, 
+    rq)
+```
+
+### Usage
+```python
+EmailApi.discover_email_config_password(
+    DiscoverEmailConfigPasswordRequest(
+        rq))
+```
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **rq** | [**DiscoverEmailConfigPassword**](DiscoverEmailConfigPassword.md)| Discover email configuration request. | 
+
+[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
+
+<a name="discover_email_config_password_async"></a>
+# **discover_email_config_password_async**
+> discover_email_config_password_async(self, discover_email_config_password_request)
+
+Discover email accounts by email address. Validates discovered accounts using login and password.             
+
+Performs operation asynchronously.
+
+### Return type
+
+Returns multiprocessing.pool.AsyncResult.
+discover_email_config_password_async(request).get() returns [**EmailAccountConfigList**](EmailAccountConfigList.md)
+
+### Request Parameters
+```python
+__init__(self, 
+    rq)
+```
+
+### Usage
+```python
+EmailApi.discover_email_config_password_async(
+    DiscoverEmailConfigPasswordRequest(
+        rq))
+```
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **rq** | [**DiscoverEmailConfigPassword**](DiscoverEmailConfigPassword.md)| Discover email configuration request. | 
+
+[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
+
 <a name="download_file"></a>
 # **download_file**
 > download_file(self, download_file_request)
diff --git a/sdk/docs/ListResponseOfEmailAccountConfig.md b/sdk/docs/ListResponseOfEmailAccountConfig.md
new file mode 100644
index 0000000..3e77112
--- /dev/null
+++ b/sdk/docs/ListResponseOfEmailAccountConfig.md
@@ -0,0 +1,11 @@
+# AsposeEmailCloudSdk.models.ListResponseOfEmailAccountConfig
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**value** | [**list[EmailAccountConfig]**](EmailAccountConfig.md) |  | [optional] 
+
+
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/NameValuePair.md b/sdk/docs/NameValuePair.md
new file mode 100644
index 0000000..e97096d
--- /dev/null
+++ b/sdk/docs/NameValuePair.md
@@ -0,0 +1,12 @@
+# AsposeEmailCloudSdk.models.NameValuePair
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**value** | **str** |  | [optional] 
+**name** | **str** |  | [optional] 
+
+
+
+[[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
+
+
diff --git a/sdk/docs/README.md b/sdk/docs/README.md
index b6ce833..d8de61c 100644
--- a/sdk/docs/README.md
+++ b/sdk/docs/README.md
@@ -88,6 +88,12 @@ Class | Method | HTTP request | Description
 *EmailApi* | [**delete_mapi_attachment_async**](EmailApi.md#delete_mapi_attachment_async) | **DELETE** /email/Mapi/{name}/attachments/{attachment} | Remove attachment from document             
 *EmailApi* | [**delete_mapi_properties**](EmailApi.md#delete_mapi_properties) | **DELETE** /email/Mapi/{name}/properties | Delete document properties             
 *EmailApi* | [**delete_mapi_properties_async**](EmailApi.md#delete_mapi_properties_async) | **DELETE** /email/Mapi/{name}/properties | Delete document properties             
+*EmailApi* | [**discover_email_config**](EmailApi.md#discover_email_config) | **GET** /email/config/discover | Discover email accounts by email address. Does not validate discovered accounts.             
+*EmailApi* | [**discover_email_config_async**](EmailApi.md#discover_email_config_async) | **GET** /email/config/discover | Discover email accounts by email address. Does not validate discovered accounts.             
+*EmailApi* | [**discover_email_config_oauth**](EmailApi.md#discover_email_config_oauth) | **POST** /email/config/discover/oauth | Discover email accounts by email address. Validates discovered accounts using OAuth 2.0.             
+*EmailApi* | [**discover_email_config_oauth_async**](EmailApi.md#discover_email_config_oauth_async) | **POST** /email/config/discover/oauth | Discover email accounts by email address. Validates discovered accounts using OAuth 2.0.             
+*EmailApi* | [**discover_email_config_password**](EmailApi.md#discover_email_config_password) | **POST** /email/config/discover/password | Discover email accounts by email address. Validates discovered accounts using login and password.             
+*EmailApi* | [**discover_email_config_password_async**](EmailApi.md#discover_email_config_password_async) | **POST** /email/config/discover/password | Discover email accounts by email address. Validates discovered accounts using login and password.             
 *EmailApi* | [**download_file**](EmailApi.md#download_file) | **GET** /email/storage/file/{path} | Download file
 *EmailApi* | [**download_file_async**](EmailApi.md#download_file_async) | **GET** /email/storage/file/{path} | Download file
 *EmailApi* | [**fetch_email_message**](EmailApi.md#fetch_email_message) | **GET** /email/client/Fetch | Fetch message mime from email account             
@@ -219,6 +225,8 @@ Class | Method | HTTP request | Description
  - [AsposeEmailCloudSdk.models.CreateEmailRequest](CreateEmailRequest.md)
  - [AsposeEmailCloudSdk.models.CustomerEvent](CustomerEvent.md)
  - [AsposeEmailCloudSdk.models.DiscUsage](DiscUsage.md)
+ - [AsposeEmailCloudSdk.models.DiscoverEmailConfigRequest](DiscoverEmailConfigRequest.md)
+ - [AsposeEmailCloudSdk.models.EmailAccountConfig](EmailAccountConfig.md)
  - [AsposeEmailCloudSdk.models.EmailAccountRequest](EmailAccountRequest.md)
  - [AsposeEmailCloudSdk.models.EmailAddress](EmailAddress.md)
  - [AsposeEmailCloudSdk.models.EmailDocument](EmailDocument.md)
@@ -248,6 +256,7 @@ Class | Method | HTTP request | Description
  - [AsposeEmailCloudSdk.models.ListResponseOfAiNameExtracted](ListResponseOfAiNameExtracted.md)
  - [AsposeEmailCloudSdk.models.ListResponseOfAiNameGenderHypothesis](ListResponseOfAiNameGenderHypothesis.md)
  - [AsposeEmailCloudSdk.models.ListResponseOfContactDto](ListResponseOfContactDto.md)
+ - [AsposeEmailCloudSdk.models.ListResponseOfEmailAccountConfig](ListResponseOfEmailAccountConfig.md)
  - [AsposeEmailCloudSdk.models.ListResponseOfEmailDto](ListResponseOfEmailDto.md)
  - [AsposeEmailCloudSdk.models.ListResponseOfHierarchicalObject](ListResponseOfHierarchicalObject.md)
  - [AsposeEmailCloudSdk.models.ListResponseOfHierarchicalObjectResponse](ListResponseOfHierarchicalObjectResponse.md)
@@ -260,6 +269,7 @@ Class | Method | HTTP request | Description
  - [AsposeEmailCloudSdk.models.MailAddress](MailAddress.md)
  - [AsposeEmailCloudSdk.models.MailServerFolder](MailServerFolder.md)
  - [AsposeEmailCloudSdk.models.MimeResponse](MimeResponse.md)
+ - [AsposeEmailCloudSdk.models.NameValuePair](NameValuePair.md)
  - [AsposeEmailCloudSdk.models.ObjectExist](ObjectExist.md)
  - [AsposeEmailCloudSdk.models.PhoneNumber](PhoneNumber.md)
  - [AsposeEmailCloudSdk.models.PostalAddress](PostalAddress.md)
@@ -291,6 +301,9 @@ Class | Method | HTTP request | Description
  - [AsposeEmailCloudSdk.models.CreateFolderBaseRequest](CreateFolderBaseRequest.md)
  - [AsposeEmailCloudSdk.models.DeleteFolderBaseRequest](DeleteFolderBaseRequest.md)
  - [AsposeEmailCloudSdk.models.DeleteMessageBaseRequest](DeleteMessageBaseRequest.md)
+ - [AsposeEmailCloudSdk.models.DiscoverEmailConfigOauth](DiscoverEmailConfigOauth.md)
+ - [AsposeEmailCloudSdk.models.DiscoverEmailConfigPassword](DiscoverEmailConfigPassword.md)
+ - [AsposeEmailCloudSdk.models.EmailAccountConfigList](EmailAccountConfigList.md)
  - [AsposeEmailCloudSdk.models.EmailDtoList](EmailDtoList.md)
  - [AsposeEmailCloudSdk.models.FileVersion](FileVersion.md)
  - [AsposeEmailCloudSdk.models.HierarchicalObject](HierarchicalObject.md)
diff --git a/sdk/setup.py b/sdk/setup.py
index 5b57bd4..57711d2 100644
--- a/sdk/setup.py
+++ b/sdk/setup.py
@@ -8,7 +8,7 @@
 from setuptools import setup, find_packages  # noqa: H301
 
 NAME = "aspose-email-cloud"
-VERSION = "20.1.0"
+VERSION = "20.1.1"
 # To install the library, run the following
 #
 # python setup.py install

From c38d277d0febb25bf5843d010e682e538ad39abf Mon Sep 17 00:00:00 2001
From: "Aspose.Email Team" <aspose.email.team@gmail.com>
Date: Thu, 13 Feb 2020 12:05:47 -0600
Subject: [PATCH 3/7] SDK version 20.1.1 generated

---
 sdk/AsposeEmailCloudSdk/__init__.py           |  2 +-
 sdk/AsposeEmailCloudSdk/models/__init__.py    |  2 +-
 .../models/discover_email_config_oauth.py     |  4 +--
 .../models/discover_email_config_password.py  |  4 +--
 ...request.py => discover_email_config_rq.py} | 32 +++++++++----------
 sdk/docs/DiscoverEmailConfigOauth.md          |  2 +-
 sdk/docs/DiscoverEmailConfigPassword.md       |  2 +-
 ...figRequest.md => DiscoverEmailConfigRq.md} |  2 +-
 sdk/docs/README.md                            |  2 +-
 9 files changed, 26 insertions(+), 26 deletions(-)
 rename sdk/AsposeEmailCloudSdk/models/{discover_email_config_request.py => discover_email_config_rq.py} (89%)
 rename sdk/docs/{DiscoverEmailConfigRequest.md => DiscoverEmailConfigRq.md} (91%)

diff --git a/sdk/AsposeEmailCloudSdk/__init__.py b/sdk/AsposeEmailCloudSdk/__init__.py
index ffae317..40ad834 100644
--- a/sdk/AsposeEmailCloudSdk/__init__.py
+++ b/sdk/AsposeEmailCloudSdk/__init__.py
@@ -64,7 +64,7 @@
 from AsposeEmailCloudSdk.models.create_email_request import CreateEmailRequest
 from AsposeEmailCloudSdk.models.customer_event import CustomerEvent
 from AsposeEmailCloudSdk.models.disc_usage import DiscUsage
-from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+from AsposeEmailCloudSdk.models.discover_email_config_rq import DiscoverEmailConfigRq
 from AsposeEmailCloudSdk.models.email_account_config import EmailAccountConfig
 from AsposeEmailCloudSdk.models.email_account_request import EmailAccountRequest
 from AsposeEmailCloudSdk.models.email_address import EmailAddress
diff --git a/sdk/AsposeEmailCloudSdk/models/__init__.py b/sdk/AsposeEmailCloudSdk/models/__init__.py
index 608346e..f2ce6b3 100644
--- a/sdk/AsposeEmailCloudSdk/models/__init__.py
+++ b/sdk/AsposeEmailCloudSdk/models/__init__.py
@@ -58,7 +58,7 @@
 from AsposeEmailCloudSdk.models.create_email_request import CreateEmailRequest
 from AsposeEmailCloudSdk.models.customer_event import CustomerEvent
 from AsposeEmailCloudSdk.models.disc_usage import DiscUsage
-from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+from AsposeEmailCloudSdk.models.discover_email_config_rq import DiscoverEmailConfigRq
 from AsposeEmailCloudSdk.models.email_account_config import EmailAccountConfig
 from AsposeEmailCloudSdk.models.email_account_request import EmailAccountRequest
 from AsposeEmailCloudSdk.models.email_address import EmailAddress
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
index 8bfec0a..293dd34 100644
--- a/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
@@ -30,10 +30,10 @@
 from typing import List, Set, Dict, Tuple, Optional
 from datetime import datetime
 
-from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+from AsposeEmailCloudSdk.models.discover_email_config_rq import DiscoverEmailConfigRq
 
 
-class DiscoverEmailConfigOauth(DiscoverEmailConfigRequest):
+class DiscoverEmailConfigOauth(DiscoverEmailConfigRq):
     """
     """
 
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
index 33e0640..211b143 100644
--- a/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
@@ -30,10 +30,10 @@
 from typing import List, Set, Dict, Tuple, Optional
 from datetime import datetime
 
-from AsposeEmailCloudSdk.models.discover_email_config_request import DiscoverEmailConfigRequest
+from AsposeEmailCloudSdk.models.discover_email_config_rq import DiscoverEmailConfigRq
 
 
-class DiscoverEmailConfigPassword(DiscoverEmailConfigRequest):
+class DiscoverEmailConfigPassword(DiscoverEmailConfigRq):
     """
     """
 
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py
similarity index 89%
rename from sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py
rename to sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py
index 618fadc..8406b07 100644
--- a/sdk/AsposeEmailCloudSdk/models/discover_email_config_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py
@@ -1,6 +1,6 @@
 #  coding: utf-8
 #  ----------------------------------------------------------------------------
-#  <copyright company="Aspose" file="DiscoverEmailConfigRequest.py">
+#  <copyright company="Aspose" file="DiscoverEmailConfigRq.py">
 #    Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
 #  </copyright>
 #  <summary>
@@ -31,7 +31,7 @@
 from datetime import datetime
 
 
-class DiscoverEmailConfigRequest(object):
+class DiscoverEmailConfigRq(object):
     """Discover email configuration request.             
     """
 
@@ -60,7 +60,7 @@ class DiscoverEmailConfigRequest(object):
     }
 
     def __init__(self, address: str = None, fast_processing: bool = None, login: str = None):
-        """DiscoverEmailConfigRequest - a model defined in Swagger"""
+        """DiscoverEmailConfigRq - a model defined in Swagger"""
 
         self._address = None
         self._fast_processing = None
@@ -76,22 +76,22 @@ def __init__(self, address: str = None, fast_processing: bool = None, login: str
 
     @property
     def address(self) -> str:
-        """Gets the address of this DiscoverEmailConfigRequest.
+        """Gets the address of this DiscoverEmailConfigRq.
 
         Email address to discover.             
 
-        :return: The address of this DiscoverEmailConfigRequest.
+        :return: The address of this DiscoverEmailConfigRq.
         :rtype: str
         """
         return self._address
 
     @address.setter
     def address(self, address: str):
-        """Sets the address of this DiscoverEmailConfigRequest.
+        """Sets the address of this DiscoverEmailConfigRq.
 
         Email address to discover.             
 
-        :param address: The address of this DiscoverEmailConfigRequest.
+        :param address: The address of this DiscoverEmailConfigRq.
         :type: str
         """
         if address is None:
@@ -102,22 +102,22 @@ def address(self, address: str):
 
     @property
     def fast_processing(self) -> bool:
-        """Gets the fast_processing of this DiscoverEmailConfigRequest.
+        """Gets the fast_processing of this DiscoverEmailConfigRq.
 
         Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
 
-        :return: The fast_processing of this DiscoverEmailConfigRequest.
+        :return: The fast_processing of this DiscoverEmailConfigRq.
         :rtype: bool
         """
         return self._fast_processing
 
     @fast_processing.setter
     def fast_processing(self, fast_processing: bool):
-        """Sets the fast_processing of this DiscoverEmailConfigRequest.
+        """Sets the fast_processing of this DiscoverEmailConfigRq.
 
         Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
 
-        :param fast_processing: The fast_processing of this DiscoverEmailConfigRequest.
+        :param fast_processing: The fast_processing of this DiscoverEmailConfigRq.
         :type: bool
         """
         if fast_processing is None:
@@ -126,22 +126,22 @@ def fast_processing(self, fast_processing: bool):
 
     @property
     def login(self) -> str:
-        """Gets the login of this DiscoverEmailConfigRequest.
+        """Gets the login of this DiscoverEmailConfigRq.
 
         Email account login. If not specified, address used as a login.             
 
-        :return: The login of this DiscoverEmailConfigRequest.
+        :return: The login of this DiscoverEmailConfigRq.
         :rtype: str
         """
         return self._login
 
     @login.setter
     def login(self, login: str):
-        """Sets the login of this DiscoverEmailConfigRequest.
+        """Sets the login of this DiscoverEmailConfigRq.
 
         Email account login. If not specified, address used as a login.             
 
-        :param login: The login of this DiscoverEmailConfigRequest.
+        :param login: The login of this DiscoverEmailConfigRq.
         :type: str
         """
         self._login = login
@@ -185,7 +185,7 @@ def __repr__(self):
 
     def __eq__(self, other):
         """Returns true if both objects are equal"""
-        if not isinstance(other, DiscoverEmailConfigRequest):
+        if not isinstance(other, DiscoverEmailConfigRq):
             return False
 
         return self.__dict__ == other.__dict__
diff --git a/sdk/docs/DiscoverEmailConfigOauth.md b/sdk/docs/DiscoverEmailConfigOauth.md
index 89ccc2c..ededc00 100644
--- a/sdk/docs/DiscoverEmailConfigOauth.md
+++ b/sdk/docs/DiscoverEmailConfigOauth.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
 **refresh_token** | **str** | OAuth refresh token.              | 
 **request_url** | **str** | The url to obtain access token. If not specified, will be discovered from email configuration.              | [optional] 
 
- Parent class: [DiscoverEmailConfigRequest](DiscoverEmailConfigRequest.md)
+ Parent class: [DiscoverEmailConfigRq](DiscoverEmailConfigRq.md)
 
 [[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
 
diff --git a/sdk/docs/DiscoverEmailConfigPassword.md b/sdk/docs/DiscoverEmailConfigPassword.md
index edc0edf..107092e 100644
--- a/sdk/docs/DiscoverEmailConfigPassword.md
+++ b/sdk/docs/DiscoverEmailConfigPassword.md
@@ -4,7 +4,7 @@ Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **password** | **str** | Email account password.              | 
 
- Parent class: [DiscoverEmailConfigRequest](DiscoverEmailConfigRequest.md)
+ Parent class: [DiscoverEmailConfigRq](DiscoverEmailConfigRq.md)
 
 [[Back to Model list]](README.md#documentation-for-models) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to README]](README.md)
 
diff --git a/sdk/docs/DiscoverEmailConfigRequest.md b/sdk/docs/DiscoverEmailConfigRq.md
similarity index 91%
rename from sdk/docs/DiscoverEmailConfigRequest.md
rename to sdk/docs/DiscoverEmailConfigRq.md
index d37a6fa..c0d3642 100644
--- a/sdk/docs/DiscoverEmailConfigRequest.md
+++ b/sdk/docs/DiscoverEmailConfigRq.md
@@ -1,4 +1,4 @@
-# AsposeEmailCloudSdk.models.DiscoverEmailConfigRequest
+# AsposeEmailCloudSdk.models.DiscoverEmailConfigRq
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
diff --git a/sdk/docs/README.md b/sdk/docs/README.md
index d8de61c..9d989ab 100644
--- a/sdk/docs/README.md
+++ b/sdk/docs/README.md
@@ -225,7 +225,7 @@ Class | Method | HTTP request | Description
  - [AsposeEmailCloudSdk.models.CreateEmailRequest](CreateEmailRequest.md)
  - [AsposeEmailCloudSdk.models.CustomerEvent](CustomerEvent.md)
  - [AsposeEmailCloudSdk.models.DiscUsage](DiscUsage.md)
- - [AsposeEmailCloudSdk.models.DiscoverEmailConfigRequest](DiscoverEmailConfigRequest.md)
+ - [AsposeEmailCloudSdk.models.DiscoverEmailConfigRq](DiscoverEmailConfigRq.md)
  - [AsposeEmailCloudSdk.models.EmailAccountConfig](EmailAccountConfig.md)
  - [AsposeEmailCloudSdk.models.EmailAccountRequest](EmailAccountRequest.md)
  - [AsposeEmailCloudSdk.models.EmailAddress](EmailAddress.md)

From 0c6afccd37d1bf19f3624f02dd3969bc21cd3800 Mon Sep 17 00:00:00 2001
From: Marat Gumerov <marat.gumerof@aspose.com>
Date: Thu, 13 Feb 2020 22:56:37 +0400
Subject: [PATCH 4/7] Added test for discover email config

---
 tests/tests/sdk_test.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/tests/sdk_test.py b/tests/tests/sdk_test.py
index 74fcce5..4cc6a00 100644
--- a/tests/tests/sdk_test.py
+++ b/tests/tests/sdk_test.py
@@ -283,6 +283,14 @@ def test_ai_bcr_parse_model(td: TestData):
     first_vcard = result.value[0]
     assert 'Thomas' in first_vcard.display_name
 
+
+@pytest.mark.pipeline
+def test_discover_email_config(td: TestData):
+    configs = td.email.discover_email_config(requests.DiscoverEmailConfigRequest('example@gmail.com'))
+    assert len(configs.value) >= 2
+    smtp = list(filter(lambda x: x.type == 'SMTP', configs.value))[0] #type: models.EmailAccountConfig
+    assert smtp.host == 'smtp.gmail.com'
+
 def _create_calendar(td, start_date_param=None):
     name = str(uuid.uuid4())+ '.ics'
     start_date = (

From e1af0215ce6dc2f960006a65baa55faca610f8d8 Mon Sep 17 00:00:00 2001
From: Marat Gumerov <marat.gumerof@aspose.com>
Date: Thu, 13 Feb 2020 23:43:07 +0400
Subject: [PATCH 5/7] Discover email config test corrected

---
 .../models/email_account_config.py            | 38 +++++++++----------
 .../models/email_account_request.py           |  4 +-
 .../models/name_value_pair.py                 |  6 ++-
 sdk/docs/EmailAccountConfig.md                |  4 +-
 sdk/docs/EmailAccountRequest.md               |  2 +-
 sdk/docs/NameValuePair.md                     |  4 +-
 tests/tests/sdk_test.py                       |  4 +-
 7 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_config.py b/sdk/AsposeEmailCloudSdk/models/email_account_config.py
index 532cae3..9be3045 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_account_config.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_config.py
@@ -46,7 +46,7 @@ class EmailAccountConfig(object):
     """
     swagger_types = {
         'display_name': 'str',
-        'type': 'str',
+        'protocol_type': 'str',
         'host': 'str',
         'port': 'int',
         'socket_type': 'str',
@@ -57,7 +57,7 @@ class EmailAccountConfig(object):
 
     attribute_map = {
         'display_name': 'displayName',
-        'type': 'type',
+        'protocol_type': 'protocolType',
         'host': 'host',
         'port': 'port',
         'socket_type': 'socketType',
@@ -66,11 +66,11 @@ class EmailAccountConfig(object):
         'is_validated': 'isValidated'
     }
 
-    def __init__(self, display_name: str = None, type: str = None, host: str = None, port: int = None, socket_type: str = None, authentication_types: List[str] = None, extra_info: List[NameValuePair] = None, is_validated: bool = None):
+    def __init__(self, display_name: str = None, protocol_type: str = None, host: str = None, port: int = None, socket_type: str = None, authentication_types: List[str] = None, extra_info: List[NameValuePair] = None, is_validated: bool = None):
         """EmailAccountConfig - a model defined in Swagger"""
 
         self._display_name = None
-        self._type = None
+        self._protocol_type = None
         self._host = None
         self._port = None
         self._socket_type = None
@@ -81,8 +81,8 @@ def __init__(self, display_name: str = None, type: str = None, host: str = None,
 
         if display_name is not None:
             self.display_name = display_name
-        if type is not None:
-            self.type = type
+        if protocol_type is not None:
+            self.protocol_type = protocol_type
         if host is not None:
             self.host = host
         if port is not None:
@@ -119,28 +119,28 @@ def display_name(self, display_name: str):
         self._display_name = display_name
 
     @property
-    def type(self) -> str:
-        """Gets the type of this EmailAccountConfig.
+    def protocol_type(self) -> str:
+        """Gets the protocol_type of this EmailAccountConfig.
 
         Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
 
-        :return: The type of this EmailAccountConfig.
+        :return: The protocol_type of this EmailAccountConfig.
         :rtype: str
         """
-        return self._type
+        return self._protocol_type
 
-    @type.setter
-    def type(self, type: str):
-        """Sets the type of this EmailAccountConfig.
+    @protocol_type.setter
+    def protocol_type(self, protocol_type: str):
+        """Sets the protocol_type of this EmailAccountConfig.
 
         Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
 
-        :param type: The type of this EmailAccountConfig.
+        :param protocol_type: The protocol_type of this EmailAccountConfig.
         :type: str
         """
-        if type is None:
-            raise ValueError("Invalid value for `type`, must not be `None`")
-        self._type = type
+        if protocol_type is None:
+            raise ValueError("Invalid value for `protocol_type`, must not be `None`")
+        self._protocol_type = protocol_type
 
     @property
     def host(self) -> str:
@@ -190,7 +190,7 @@ def port(self, port: int):
     def socket_type(self) -> str:
         """Gets the socket_type of this EmailAccountConfig.
 
-        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :return: The socket_type of this EmailAccountConfig.
         :rtype: str
@@ -201,7 +201,7 @@ def socket_type(self) -> str:
     def socket_type(self, socket_type: str):
         """Sets the socket_type of this EmailAccountConfig.
 
-        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :param socket_type: The socket_type of this EmailAccountConfig.
         :type: str
diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_request.py b/sdk/AsposeEmailCloudSdk/models/email_account_request.py
index 0c4c293..7ccdaf6 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_account_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_request.py
@@ -176,7 +176,7 @@ def login(self, login: str):
     def security_options(self) -> str:
         """Gets the security_options of this EmailAccountRequest.
 
-        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :return: The security_options of this EmailAccountRequest.
         :rtype: str
@@ -187,7 +187,7 @@ def security_options(self) -> str:
     def security_options(self, security_options: str):
         """Sets the security_options of this EmailAccountRequest.
 
-        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :param security_options: The security_options of this EmailAccountRequest.
         :type: str
diff --git a/sdk/AsposeEmailCloudSdk/models/name_value_pair.py b/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
index d9999f8..6d2f14b 100644
--- a/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
+++ b/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
@@ -32,7 +32,7 @@
 
 
 class NameValuePair(object):
-    """
+    """An extended property.
     """
 
     """
@@ -68,6 +68,7 @@ def __init__(self, value: str = None, name: str = None):
     def value(self) -> str:
         """Gets the value of this NameValuePair.
 
+        Name of the property 
 
         :return: The value of this NameValuePair.
         :rtype: str
@@ -78,6 +79,7 @@ def value(self) -> str:
     def value(self, value: str):
         """Sets the value of this NameValuePair.
 
+        Name of the property 
 
         :param value: The value of this NameValuePair.
         :type: str
@@ -88,6 +90,7 @@ def value(self, value: str):
     def name(self) -> str:
         """Gets the name of this NameValuePair.
 
+        Value of the property
 
         :return: The name of this NameValuePair.
         :rtype: str
@@ -98,6 +101,7 @@ def name(self) -> str:
     def name(self, name: str):
         """Sets the name of this NameValuePair.
 
+        Value of the property
 
         :param name: The name of this NameValuePair.
         :type: str
diff --git a/sdk/docs/EmailAccountConfig.md b/sdk/docs/EmailAccountConfig.md
index b0b257c..befdf18 100644
--- a/sdk/docs/EmailAccountConfig.md
+++ b/sdk/docs/EmailAccountConfig.md
@@ -3,10 +3,10 @@
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **display_name** | **str** | Email account display name              | [optional] 
-**type** | **str** | Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav | 
+**protocol_type** | **str** | Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav | 
 **host** | **str** | Email account host.              | [optional] 
 **port** | **int** | Port.              | [optional] 
-**socket_type** | **str** | Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
+**socket_type** | **str** | Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
 **authentication_types** | **list[str]** | Supported authentication types.              Items: Email account authentication types. Enum, available values: NoAuth, OAuth2, PasswordCleartext, PasswordEncrypted, SmtpAfterPop, ClientIpAddress | [optional] 
 **extra_info** | [**list[NameValuePair]**](NameValuePair.md) | Extra account information.              | [optional] 
 **is_validated** | **bool** | Determines that configuration validated. Set to false if validation skipped.              | 
diff --git a/sdk/docs/EmailAccountRequest.md b/sdk/docs/EmailAccountRequest.md
index 48363f0..d730e0d 100644
--- a/sdk/docs/EmailAccountRequest.md
+++ b/sdk/docs/EmailAccountRequest.md
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
 **host** | **str** | Email account host              | 
 **port** | **int** | Email account port              | 
 **login** | **str** | Email account login              | 
-**security_options** | **str** | Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
+**security_options** | **str** | Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
 **protocol_type** | **str** | Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav | 
 **description** | **str** | Email account description              | [optional] 
 **storage_file** | [**StorageFileLocation**](StorageFileLocation.md) | A storage file location info to store email account              | 
diff --git a/sdk/docs/NameValuePair.md b/sdk/docs/NameValuePair.md
index e97096d..b7c170a 100644
--- a/sdk/docs/NameValuePair.md
+++ b/sdk/docs/NameValuePair.md
@@ -2,8 +2,8 @@
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
-**value** | **str** |  | [optional] 
-**name** | **str** |  | [optional] 
+**value** | **str** | Name of the property  | [optional] 
+**name** | **str** | Value of the property | [optional] 
 
 
 
diff --git a/tests/tests/sdk_test.py b/tests/tests/sdk_test.py
index 4cc6a00..fedcd38 100644
--- a/tests/tests/sdk_test.py
+++ b/tests/tests/sdk_test.py
@@ -286,9 +286,9 @@ def test_ai_bcr_parse_model(td: TestData):
 
 @pytest.mark.pipeline
 def test_discover_email_config(td: TestData):
-    configs = td.email.discover_email_config(requests.DiscoverEmailConfigRequest('example@gmail.com'))
+    configs = td.email.discover_email_config(requests.DiscoverEmailConfigRequest('example@gmail.com', True))
     assert len(configs.value) >= 2
-    smtp = list(filter(lambda x: x.type == 'SMTP', configs.value))[0] #type: models.EmailAccountConfig
+    smtp = list(filter(lambda x: x.protocol_type == 'SMTP', configs.value))[0] #type: models.EmailAccountConfig
     assert smtp.host == 'smtp.gmail.com'
 
 def _create_calendar(td, start_date_param=None):

From 99e6870d8f9a201fd24cfcf8c9e34bc1d0d46899 Mon Sep 17 00:00:00 2001
From: Marat Gumerov <marat.gumerof@aspose.com>
Date: Tue, 18 Feb 2020 15:34:22 +0400
Subject: [PATCH 6/7] Model docstrings improved

---
 .../models/account_base_request.py            |  7 +++-
 .../models/add_attachment_request.py          |  6 ++-
 .../models/ai_bcr_base64_image.py             |  6 ++-
 .../models/ai_bcr_base64_rq.py                |  6 ++-
 .../models/ai_bcr_image.py                    |  5 ++-
 .../models/ai_bcr_image_storage_file.py       |  6 ++-
 .../models/ai_bcr_ocr_data.py                 |  8 +++-
 .../models/ai_bcr_ocr_data_part.py            | 10 ++++-
 .../models/ai_bcr_options.py                  |  6 ++-
 .../models/ai_bcr_parse_ocr_data_rq.py        |  6 ++-
 .../models/ai_bcr_parse_storage_rq.py         |  7 +++-
 sdk/AsposeEmailCloudSdk/models/ai_bcr_rq.py   |  5 ++-
 .../models/ai_bcr_storage_image_rq.py         |  6 ++-
 .../models/ai_name_component.py               |  8 +++-
 .../models/ai_name_cultural_context.py        |  9 ++++-
 .../models/ai_name_extracted.py               |  6 ++-
 .../models/ai_name_extracted_component.py     |  6 ++-
 .../models/ai_name_formatted.py               |  6 ++-
 .../models/ai_name_gender_hypothesis.py       |  6 ++-
 .../models/ai_name_match_result.py            |  6 ++-
 .../models/ai_name_mismatch.py                |  7 +++-
 .../models/ai_name_parsed_match_rq.py         |  8 +++-
 .../models/ai_name_parsed_rq.py               |  7 +++-
 .../models/ai_name_weighted.py                |  6 ++-
 .../models/ai_name_weighted_variants.py       |  6 ++-
 .../models/alternate_view.py                  | 10 ++++-
 .../append_email_account_base_request.py      |  9 ++++-
 .../models/append_email_base_request.py       | 10 ++++-
 .../models/append_email_mime_base_request.py  | 10 ++++-
 .../models/append_email_model_rq.py           | 10 ++++-
 .../models/associated_person.py               |  7 +++-
 sdk/AsposeEmailCloudSdk/models/attachment.py  | 13 +++++-
 .../models/attachment_base.py                 |  8 +++-
 sdk/AsposeEmailCloudSdk/models/base_object.py |  6 ++-
 .../models/calendar_dto.py                    | 25 +++++++++++-
 .../models/calendar_dto_alternate_rq.py       |  7 +++-
 .../models/calendar_dto_list.py               |  5 ++-
 .../models/calendar_reminder.py               | 12 +++++-
 sdk/AsposeEmailCloudSdk/models/contact_dto.py | 40 ++++++++++++++++++-
 .../models/contact_dto_list.py                |  5 ++-
 .../models/contact_photo.py                   |  6 ++-
 .../models/content_type.py                    |  9 ++++-
 .../models/content_type_parameter.py          |  6 ++-
 .../models/create_email_request.py            |  6 ++-
 .../models/create_folder_base_request.py      |  9 ++++-
 .../models/customer_event.py                  |  6 ++-
 .../models/delete_folder_base_request.py      |  9 ++++-
 .../models/delete_message_base_request.py     |  9 ++++-
 sdk/AsposeEmailCloudSdk/models/disc_usage.py  |  6 ++-
 .../models/discover_email_config_oauth.py     | 11 ++++-
 .../models/discover_email_config_password.py  |  8 +++-
 .../models/discover_email_config_rq.py        |  7 +++-
 .../models/email_account_config.py            | 16 ++++++--
 .../models/email_account_config_list.py       |  5 ++-
 .../models/email_account_request.py           | 15 +++++--
 .../models/email_address.py                   |  9 ++++-
 .../models/email_document.py                  |  6 ++-
 .../models/email_document_response.py         |  5 ++-
 sdk/AsposeEmailCloudSdk/models/email_dto.py   | 36 ++++++++++++++++-
 .../models/email_dto_list.py                  |  5 ++-
 .../models/email_properties.py                |  6 ++-
 .../models/email_property.py                  |  7 +++-
 .../models/email_property_response.py         |  5 ++-
 ...th_custom_of_associated_person_category.py |  6 ++-
 ...m_with_custom_of_email_address_category.py |  6 ++-
 .../enum_with_custom_of_event_category.py     |  6 ++-
 ...th_custom_of_instant_messenger_category.py |  6 ++-
 ...um_with_custom_of_phone_number_category.py |  6 ++-
 ..._with_custom_of_postal_address_category.py |  6 ++-
 .../enum_with_custom_of_url_category.py       |  6 ++-
 sdk/AsposeEmailCloudSdk/models/error.py       |  8 +++-
 .../models/error_details.py                   |  6 ++-
 .../models/file_version.py                    | 11 ++++-
 .../models/file_versions.py                   |  5 ++-
 sdk/AsposeEmailCloudSdk/models/files_list.py  |  5 ++-
 .../models/files_upload_result.py             |  6 ++-
 .../models/hierarchical_object.py             |  7 +++-
 .../models/hierarchical_object_request.py     |  6 ++-
 .../models/hierarchical_object_response.py    |  6 ++-
 .../models/indexed_hierarchical_object.py     |  8 +++-
 .../models/indexed_primitive_object.py        |  8 +++-
 .../models/instant_messenger_address.py       |  7 +++-
 sdk/AsposeEmailCloudSdk/models/link.py        |  8 +++-
 .../models/linked_resource.py                 |  9 ++++-
 .../list_response_of_ai_bcr_ocr_data.py       |  5 ++-
 .../list_response_of_ai_name_component.py     |  5 ++-
 .../list_response_of_ai_name_extracted.py     |  5 ++-
 ...t_response_of_ai_name_gender_hypothesis.py |  5 ++-
 .../models/list_response_of_contact_dto.py    |  5 ++-
 .../list_response_of_email_account_config.py  |  5 ++-
 .../models/list_response_of_email_dto.py      |  5 ++-
 .../list_response_of_hierarchical_object.py   |  5 ++-
 ...esponse_of_hierarchical_object_response.py |  5 ++-
 .../list_response_of_mail_server_folder.py    |  5 ++-
 .../list_response_of_storage_file_location.py |  5 ++-
 ...sponse_of_storage_model_of_calendar_dto.py |  5 ++-
 ...esponse_of_storage_model_of_contact_dto.py |  5 ++-
 ..._response_of_storage_model_of_email_dto.py |  5 ++-
 .../models/list_response_of_string.py         |  5 ++-
 .../models/mail_address.py                    |  7 +++-
 .../models/mail_server_folder.py              |  6 ++-
 .../models/mime_response.py                   |  5 ++-
 .../models/name_value_pair.py                 | 12 +++---
 .../models/object_exist.py                    |  6 ++-
 .../models/phone_number.py                    |  7 +++-
 .../models/postal_address.py                  | 15 ++++++-
 .../models/primitive_object.py                |  7 +++-
 .../models/reminder_attendee.py               |  5 ++-
 .../models/reminder_trigger.py                |  7 +++-
 .../add_calendar_attachment_request.py        |  9 +++++
 .../add_contact_attachment_request.py         | 10 +++++
 .../requests/add_email_attachment_request.py  |  9 +++++
 .../requests/add_mapi_attachment_request.py   |  9 +++++
 .../models/requests/ai_bcr_ocr_request.py     |  7 ++++
 .../requests/ai_bcr_ocr_storage_request.py    |  7 ++++
 .../requests/ai_bcr_parse_model_request.py    |  7 ++++
 .../ai_bcr_parse_ocr_data_model_request.py    |  7 ++++
 .../models/requests/ai_bcr_parse_request.py   |  7 ++++
 .../requests/ai_bcr_parse_storage_request.py  |  7 ++++
 .../requests/ai_name_complete_request.py      | 12 ++++++
 .../requests/ai_name_expand_parsed_request.py |  7 ++++
 .../models/requests/ai_name_expand_request.py | 12 ++++++
 .../requests/ai_name_format_parsed_request.py |  7 ++++
 .../models/requests/ai_name_format_request.py | 13 ++++++
 .../ai_name_genderize_parsed_request.py       |  7 ++++
 .../requests/ai_name_genderize_request.py     | 12 ++++++
 .../requests/ai_name_match_parsed_request.py  |  7 ++++
 .../models/requests/ai_name_match_request.py  | 13 ++++++
 .../ai_name_parse_email_address_request.py    | 12 ++++++
 .../models/requests/ai_name_parse_request.py  | 12 ++++++
 .../requests/append_email_message_request.py  |  7 ++++
 .../append_email_model_message_request.py     |  7 ++++
 .../requests/append_mime_message_request.py   |  7 ++++
 ...ert_calendar_model_to_alternate_request.py |  7 ++++
 .../models/requests/convert_email_request.py  |  8 ++++
 .../models/requests/copy_file_request.py      | 11 +++++
 .../models/requests/copy_folder_request.py    | 10 +++++
 .../requests/create_calendar_request.py       |  8 ++++
 .../models/requests/create_contact_request.py |  9 +++++
 .../requests/create_email_folder_request.py   |  7 ++++
 .../models/requests/create_email_request.py   |  8 ++++
 .../models/requests/create_folder_request.py  |  8 ++++
 .../models/requests/create_mapi_request.py    |  8 ++++
 .../delete_calendar_property_request.py       | 10 +++++
 .../delete_contact_property_request.py        | 11 +++++
 .../requests/delete_email_folder_request.py   |  7 ++++
 .../requests/delete_email_message_request.py  |  7 ++++
 .../models/requests/delete_file_request.py    |  9 +++++
 .../models/requests/delete_folder_request.py  |  9 +++++
 .../delete_mapi_attachment_request.py         |  9 +++++
 .../delete_mapi_properties_request.py         |  8 ++++
 .../discover_email_config_oauth_request.py    |  7 ++++
 .../discover_email_config_password_request.py |  7 ++++
 .../requests/discover_email_config_request.py |  8 ++++
 .../models/requests/download_file_request.py  |  9 +++++
 .../requests/fetch_email_message_request.py   | 11 +++++
 .../requests/fetch_email_model_request.py     | 11 +++++
 .../get_calendar_attachment_request.py        | 10 +++++
 .../requests/get_calendar_list_request.py     | 10 +++++
 ...get_calendar_model_as_alternate_request.py | 11 +++++
 .../get_calendar_model_list_request.py        | 10 +++++
 .../requests/get_calendar_model_request.py    |  9 +++++
 .../models/requests/get_calendar_request.py   |  9 +++++
 .../get_contact_attachment_request.py         | 11 +++++
 .../requests/get_contact_list_request.py      | 11 +++++
 .../get_contact_model_list_request.py         | 11 +++++
 .../requests/get_contact_model_request.py     | 10 +++++
 .../get_contact_properties_request.py         | 10 +++++
 .../models/requests/get_disc_usage_request.py |  7 ++++
 .../requests/get_email_as_file_request.py     | 10 +++++
 .../requests/get_email_attachment_request.py  | 10 +++++
 .../requests/get_email_model_list_request.py  | 11 +++++
 .../requests/get_email_model_request.py       | 10 +++++
 .../requests/get_email_property_request.py    | 10 +++++
 .../models/requests/get_email_request.py      |  9 +++++
 .../requests/get_file_versions_request.py     |  8 ++++
 .../models/requests/get_files_list_request.py |  8 ++++
 .../requests/get_mapi_attachment_request.py   | 10 +++++
 .../requests/get_mapi_attachments_request.py  |  9 +++++
 .../models/requests/get_mapi_list_request.py  | 10 +++++
 .../requests/get_mapi_properties_request.py   |  9 +++++
 .../requests/list_email_folders_request.py    | 11 +++++
 .../requests/list_email_messages_request.py   | 13 ++++++
 .../requests/list_email_models_request.py     | 13 ++++++
 .../models/requests/move_file_request.py      | 11 +++++
 .../models/requests/move_folder_request.py    | 10 +++++
 .../models/requests/object_exists_request.py  |  9 +++++
 .../requests/save_calendar_model_request.py   |  8 ++++
 .../requests/save_contact_model_request.py    |  9 +++++
 .../requests/save_email_model_request.py      |  9 +++++
 .../requests/save_mail_account_request.py     |  7 ++++
 .../save_mail_o_auth_account_request.py       |  7 ++++
 .../requests/send_email_mime_request.py       |  7 ++++
 .../requests/send_email_model_request.py      |  7 ++++
 .../models/requests/send_email_request.py     |  7 ++++
 .../requests/set_email_property_request.py    |  9 +++++
 .../requests/set_email_read_flag_request.py   |  7 ++++
 .../models/requests/storage_exists_request.py |  7 ++++
 .../update_calendar_properties_request.py     |  8 ++++
 .../update_contact_properties_request.py      |  9 +++++
 .../update_mapi_properties_request.py         |  8 ++++
 .../models/requests/upload_file_request.py    |  9 +++++
 .../models/save_email_account_request.py      | 12 +++++-
 .../save_o_auth_email_account_request.py      | 14 ++++++-
 .../models/send_email_base_request.py         |  8 +++-
 .../models/send_email_mime_base_request.py    |  8 +++-
 .../models/send_email_model_rq.py             |  8 +++-
 .../models/set_email_property_request.py      |  6 ++-
 ..._message_read_flag_account_base_request.py |  9 ++++-
 .../models/storage_exist.py                   |  5 ++-
 .../models/storage_file.py                    |  9 ++++-
 .../models/storage_file_location.py           |  7 +++-
 .../models/storage_folder_location.py         |  6 ++-
 .../models/storage_model_of_calendar_dto.py   |  6 ++-
 .../models/storage_model_of_contact_dto.py    |  6 ++-
 .../models/storage_model_of_email_dto.py      |  6 ++-
 .../storage_model_rq_of_calendar_dto.py       |  6 ++-
 .../models/storage_model_rq_of_contact_dto.py |  6 ++-
 .../models/storage_model_rq_of_email_dto.py   |  6 ++-
 sdk/AsposeEmailCloudSdk/models/url.py         |  7 +++-
 .../models/value_response.py                  |  5 ++-
 sdk/docs/EmailAccountConfig.md                |  2 +-
 sdk/docs/EmailAccountRequest.md               |  2 +-
 sdk/docs/NameValuePair.md                     |  4 +-
 224 files changed, 1689 insertions(+), 141 deletions(-)

diff --git a/sdk/AsposeEmailCloudSdk/models/account_base_request.py b/sdk/AsposeEmailCloudSdk/models/account_base_request.py
index d8620d8..b6ec221 100644
--- a/sdk/AsposeEmailCloudSdk/models/account_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/account_base_request.py
@@ -71,7 +71,12 @@ class AccountBaseRequest(object):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None):
-        """AccountBaseRequest - a model defined in Swagger"""
+        """
+        EmailClient accounts request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        """
 
         self._first_account = None
         self._second_account = None
diff --git a/sdk/AsposeEmailCloudSdk/models/add_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/add_attachment_request.py
index 2b89e28..e948222 100644
--- a/sdk/AsposeEmailCloudSdk/models/add_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/add_attachment_request.py
@@ -55,7 +55,11 @@ class AddAttachmentRequest(object):
     }
 
     def __init__(self, document_folder: StorageFolderLocation = None, attachment_folder: StorageFolderLocation = None):
-        """AddAttachmentRequest - a model defined in Swagger"""
+        """
+        Add attachment request             
+        :param document_folder (StorageFolderLocation) Storage folder location of document             
+        :param attachment_folder (StorageFolderLocation) Storage folder location of an attachment             
+        """
 
         self._document_folder = None
         self._attachment_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_image.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_image.py
index 5bbfa9d..d45467c 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_image.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_image.py
@@ -55,7 +55,11 @@ class AiBcrBase64Image(AiBcrImage):
     }
 
     def __init__(self, is_single: bool = None, base64_data: str = None):
-        """AiBcrBase64Image - a model defined in Swagger"""
+        """
+        Image to recognize             
+        :param is_single (bool) Determines that image contains single VCard or more. Ignored in current version. Multiple cards on image support will be added soon             
+        :param base64_data (str) Image data in base64             
+        """
         super(AiBcrBase64Image, self).__init__()
 
         self._base64_data = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_rq.py
index 9a7cbd7..30db93f 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_base64_rq.py
@@ -57,7 +57,11 @@ class AiBcrBase64Rq(AiBcrRq):
     }
 
     def __init__(self, options: AiBcrOptions = None, images: List[AiBcrBase64Image] = None):
-        """AiBcrBase64Rq - a model defined in Swagger"""
+        """
+        Parse business card image request             
+        :param options (AiBcrOptions) Recognition options             
+        :param images (List[AiBcrBase64Image]) Images to recognize             
+        """
         super(AiBcrBase64Rq, self).__init__()
 
         self._images = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_image.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_image.py
index 9aaaac2..8bf82c6 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_image.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_image.py
@@ -56,7 +56,10 @@ class AiBcrImage(object):
     }
 
     def __init__(self, is_single: bool = None):
-        """AiBcrImage - a model defined in Swagger"""
+        """
+        Image for recognition             
+        :param is_single (bool) Determines that image contains single VCard or more. Ignored in current version. Multiple cards on image support will be added soon             
+        """
 
         self._is_single = None
         self.discriminator = 'Type'
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_image_storage_file.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_image_storage_file.py
index fbe5965..9d4d895 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_image_storage_file.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_image_storage_file.py
@@ -56,7 +56,11 @@ class AiBcrImageStorageFile(AiBcrImage):
     }
 
     def __init__(self, is_single: bool = None, file: StorageFileLocation = None):
-        """AiBcrImageStorageFile - a model defined in Swagger"""
+        """
+        Image from storage for recognition             
+        :param is_single (bool) Determines that image contains single VCard or more. Ignored in current version. Multiple cards on image support will be added soon             
+        :param file (StorageFileLocation) Image location             
+        """
         super(AiBcrImageStorageFile, self).__init__()
 
         self._file = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data.py
index dbfa2f7..38430af 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data.py
@@ -59,7 +59,13 @@ class AiBcrOcrData(object):
     }
 
     def __init__(self, id: str = None, image: str = None, details: Dict[str, str] = None, data: List[AiBcrOcrDataPart] = None):
-        """AiBcrOcrData - a model defined in Swagger"""
+        """
+        Image OCR results             
+        :param id (str) Image identifier             
+        :param image (str) Image with possible pre-processing in Base64             
+        :param details (Dict[str, str]) Additional details from OCR engine             
+        :param data (List[AiBcrOcrDataPart]) OCR results             
+        """
 
         self._id = None
         self._image = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data_part.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data_part.py
index 8286547..6e379df 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data_part.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_ocr_data_part.py
@@ -61,7 +61,15 @@ class AiBcrOcrDataPart(object):
     }
 
     def __init__(self, x: float = None, y: float = None, width: float = None, height: float = None, text: str = None, details: Dict[str, str] = None):
-        """AiBcrOcrDataPart - a model defined in Swagger"""
+        """
+        Recognized text block             
+        :param x (float) X position of text block             
+        :param y (float) Y position of text block             
+        :param width (float) Width of text block             
+        :param height (float) Height of text block             
+        :param text (str) Recognized text             
+        :param details (Dict[str, str]) Additional recognition result details             
+        """
 
         self._x = None
         self._y = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_options.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_options.py
index cf75faf..2a0d9b0 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_options.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_options.py
@@ -53,7 +53,11 @@ class AiBcrOptions(object):
     }
 
     def __init__(self, languages: str = None, countries: str = None):
-        """AiBcrOptions - a model defined in Swagger"""
+        """
+        Recognition options             
+        :param languages (str) Comma-separated ISO-639 codes of languages (either 639-1 or 639-3; i.e. \"it\" or \"ita\" for Italian); it's \"\" by default             
+        :param countries (str) Comma-separated codes of countries             
+        """
 
         self._languages = None
         self._countries = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_ocr_data_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_ocr_data_rq.py
index 4f7305b..f765d62 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_ocr_data_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_ocr_data_rq.py
@@ -57,7 +57,11 @@ class AiBcrParseOcrDataRq(AiBcrRq):
     }
 
     def __init__(self, options: AiBcrOptions = None, data: List[AiBcrOcrData] = None):
-        """AiBcrParseOcrDataRq - a model defined in Swagger"""
+        """
+        Parse ocr data request             
+        :param options (AiBcrOptions) Recognition options             
+        :param data (List[AiBcrOcrData]) OCR data             
+        """
         super(AiBcrParseOcrDataRq, self).__init__()
 
         self._data = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_storage_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_storage_rq.py
index ab85ff5..d1b8662 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_storage_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_parse_storage_rq.py
@@ -60,7 +60,12 @@ class AiBcrParseStorageRq(AiBcrStorageImageRq):
     }
 
     def __init__(self, options: AiBcrOptions = None, images: List[AiBcrImageStorageFile] = None, out_folder: StorageFolderLocation = None):
-        """AiBcrParseStorageRq - a model defined in Swagger"""
+        """
+        Parse business card images from Storage request             
+        :param options (AiBcrOptions) Recognition options             
+        :param images (List[AiBcrImageStorageFile]) List of images with business cards             
+        :param out_folder (StorageFolderLocation) Parse output folder location on storage             
+        """
         super(AiBcrParseStorageRq, self).__init__()
 
         self._out_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_rq.py
index 26bd007..01c8e06 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_rq.py
@@ -60,7 +60,10 @@ class AiBcrRq(object):
     }
 
     def __init__(self, options: AiBcrOptions = None):
-        """AiBcrRq - a model defined in Swagger"""
+        """
+        Business card recognition request             
+        :param options (AiBcrOptions) Recognition options             
+        """
 
         self._options = None
         self.discriminator = 'Type'
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_bcr_storage_image_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_bcr_storage_image_rq.py
index eedfb87..d9ff152 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_bcr_storage_image_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_bcr_storage_image_rq.py
@@ -57,7 +57,11 @@ class AiBcrStorageImageRq(AiBcrRq):
     }
 
     def __init__(self, options: AiBcrOptions = None, images: List[AiBcrImageStorageFile] = None):
-        """AiBcrStorageImageRq - a model defined in Swagger"""
+        """
+        Business card images from storage for recognition             
+        :param options (AiBcrOptions) Recognition options             
+        :param images (List[AiBcrImageStorageFile]) List of images with business cards             
+        """
         super(AiBcrStorageImageRq, self).__init__()
 
         self._images = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_component.py b/sdk/AsposeEmailCloudSdk/models/ai_name_component.py
index 5326db3..9940587 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_component.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_component.py
@@ -57,7 +57,13 @@ class AiNameComponent(object):
     }
 
     def __init__(self, value: str = None, category: str = None, score: float = None, position: int = None):
-        """AiNameComponent - a model defined in Swagger"""
+        """
+        Parsed name component             
+        :param value (str) Component value             
+        :param category (str) Name component category. Enum, available values: Unknown, Mononym, Score, Format, FirstInitial, FirstName, MiddleInitial, MiddleName, MiddleNickname, MiddleSobriquet, MiddleMaidenName, MiddlePatronym, MiddleMatronym, LastInitial, LastName, LastNobiliaryParticle, LastNominalConjunction, LastPaternalSurname, LastMaternalSurname, PrefixTitle, PostfixGenerationalTitle, PostfixPostnominalLetters, ArabicIsm, ArabicKunya, ArabicNasab, ArabicSlaqab, ArabicNisbah
+        :param score (float) Score from 0.0 to 1.0             
+        :param position (int) Component position from 0             
+        """
 
         self._value = None
         self._category = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_cultural_context.py b/sdk/AsposeEmailCloudSdk/models/ai_name_cultural_context.py
index 5167c03..0d3de13 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_cultural_context.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_cultural_context.py
@@ -59,7 +59,14 @@ class AiNameCulturalContext(object):
     }
 
     def __init__(self, language: str = None, location: str = None, script: str = None, encoding: str = None, style: str = None):
-        """AiNameCulturalContext - a model defined in Swagger"""
+        """
+        AiName cultural context             
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)             
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France             
+        :param script (str) A writing system code; starts with the ISO-15924 script name             
+        :param encoding (str) A character encoding name             
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
 
         self._language = None
         self._location = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_extracted.py b/sdk/AsposeEmailCloudSdk/models/ai_name_extracted.py
index 1141068..e207e9e 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_extracted.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_extracted.py
@@ -55,7 +55,11 @@ class AiNameExtracted(object):
     }
 
     def __init__(self, name: List[AiNameExtractedComponent] = None, score: float = None):
-        """AiNameExtracted - a model defined in Swagger"""
+        """
+        Extracted name             
+        :param name (List[AiNameExtractedComponent]) Extracted name components             
+        :param score (float) Extracted name score             
+        """
 
         self._name = None
         self._score = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_extracted_component.py b/sdk/AsposeEmailCloudSdk/models/ai_name_extracted_component.py
index 115c3c4..4841c5f 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_extracted_component.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_extracted_component.py
@@ -53,7 +53,11 @@ class AiNameExtractedComponent(object):
     }
 
     def __init__(self, category: str = None, value: str = None):
-        """AiNameExtractedComponent - a model defined in Swagger"""
+        """
+        Extracted name component             
+        :param category (str) Extracted from email address name component category. Enum, available values: Unknown, GivenName, Surname, SomeName, NoName, Initial
+        :param value (str) Extracted value             
+        """
 
         self._category = None
         self._value = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_formatted.py b/sdk/AsposeEmailCloudSdk/models/ai_name_formatted.py
index 13a892f..98ded89 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_formatted.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_formatted.py
@@ -53,7 +53,11 @@ class AiNameFormatted(object):
     }
 
     def __init__(self, name: str = None, comments: str = None):
-        """AiNameFormatted - a model defined in Swagger"""
+        """
+        Formatted name             
+        :param name (str) Formatted name value             
+        :param comments (str) Usually empty; can contain extra message describing some issue occurred during the formatting             
+        """
 
         self._name = None
         self._comments = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_gender_hypothesis.py b/sdk/AsposeEmailCloudSdk/models/ai_name_gender_hypothesis.py
index e891468..ecea9d7 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_gender_hypothesis.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_gender_hypothesis.py
@@ -53,7 +53,11 @@ class AiNameGenderHypothesis(object):
     }
 
     def __init__(self, gender: str = None, score: float = None):
-        """AiNameGenderHypothesis - a model defined in Swagger"""
+        """
+        Name gender hypothesis             
+        :param gender (str) Recognized name gender. Enum, available values: Male, Female, Unknown
+        :param score (float) Hypothesis score             
+        """
 
         self._gender = None
         self._score = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_match_result.py b/sdk/AsposeEmailCloudSdk/models/ai_name_match_result.py
index b49b2d0..bb5e064 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_match_result.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_match_result.py
@@ -55,7 +55,11 @@ class AiNameMatchResult(object):
     }
 
     def __init__(self, similarity: float = None, mismatches: List[AiNameMismatch] = None):
-        """AiNameMatchResult - a model defined in Swagger"""
+        """
+        Two names match result             
+        :param similarity (float) Similarity score             
+        :param mismatches (List[AiNameMismatch]) Detailed description of mismatches             
+        """
 
         self._similarity = None
         self._mismatches = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_mismatch.py b/sdk/AsposeEmailCloudSdk/models/ai_name_mismatch.py
index ce05266..68e7a9d 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_mismatch.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_mismatch.py
@@ -55,7 +55,12 @@ class AiNameMismatch(object):
     }
 
     def __init__(self, category: str = None, similarity: float = None, explanation: str = None):
-        """AiNameMismatch - a model defined in Swagger"""
+        """
+        Names mismatch detailed description             
+        :param category (str) Mismatch type. Enum, available values: Unknown, FirstName, MiddleName, MiddleLastName, MiddleNickname, Gender, Context
+        :param similarity (float) Similarity score             
+        :param explanation (str) Explanation or mismatch subtype             
+        """
 
         self._category = None
         self._similarity = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_match_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_match_rq.py
index 7900682..459dc13 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_match_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_match_rq.py
@@ -61,7 +61,13 @@ class AiNameParsedMatchRq(AiNameParsedRq):
     }
 
     def __init__(self, cultural_context: AiNameCulturalContext = None, format: str = None, parsed_name: List[AiNameComponent] = None, other_parsed_name: List[AiNameComponent] = None):
-        """AiNameParsedMatchRq - a model defined in Swagger"""
+        """
+        Two parsed names to match request             
+        :param cultural_context (AiNameCulturalContext) AiName parser cultural context             
+        :param format (str) Format of the name. Predefined format can be used by ID, or custom format can be specified. Predefined formats:      /format/default/ (= '%t%F%m%N%L%p')     /format/FN+LN/ (= '%F%L')     /format/title+FN+LN/ (= '%t%F%L')     /format/FN+MN+LN/ (= '%F%M%N%L')     /format/title+FN+MN+LN/ (= '%t%F%M%N%L')     /format/FN+MI+LN/ (= '%F%m%N%L')     /format/title+FN+MI+LN/ (= '%t%F%m%N%L')     /format/LN/ (= '%L')     /format/title+LN/ (= '%t%L')     /format/LN+FN+MN/ (= '%L,%F%M%N')     /format/LN+title+FN+MN/ (= '%L,%t%F%M%N')     /format/LN+FN+MI/ (= '%L,%F%m%N')     /format/LN+title+FN+MI/ (= '%L,%t%F%m%N')  Custom format string - custom combination of characters and the next term placeholders:      '%t' - Title (prefix)     '%F' - First name     '%f' - First initial     '%M' - Middle name(s)     '%m' - Middle initial(s)     '%N' - Nickname     '%L' - Last name     '%l' - Last initial     '%p' - Postfix  If no value for format option was provided, its default value is '%t%F%m%N%L%p'             
+        :param parsed_name (List[AiNameComponent]) Parsed name             
+        :param other_parsed_name (List[AiNameComponent]) Other parsed name to match             
+        """
         super(AiNameParsedMatchRq, self).__init__()
 
         self._other_parsed_name = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_rq.py b/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_rq.py
index c05cb9f..8726965 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_parsed_rq.py
@@ -62,7 +62,12 @@ class AiNameParsedRq(object):
     }
 
     def __init__(self, cultural_context: AiNameCulturalContext = None, format: str = None, parsed_name: List[AiNameComponent] = None):
-        """AiNameParsedRq - a model defined in Swagger"""
+        """
+        Parsed name request model             
+        :param cultural_context (AiNameCulturalContext) AiName parser cultural context             
+        :param format (str) Format of the name. Predefined format can be used by ID, or custom format can be specified. Predefined formats:      /format/default/ (= '%t%F%m%N%L%p')     /format/FN+LN/ (= '%F%L')     /format/title+FN+LN/ (= '%t%F%L')     /format/FN+MN+LN/ (= '%F%M%N%L')     /format/title+FN+MN+LN/ (= '%t%F%M%N%L')     /format/FN+MI+LN/ (= '%F%m%N%L')     /format/title+FN+MI+LN/ (= '%t%F%m%N%L')     /format/LN/ (= '%L')     /format/title+LN/ (= '%t%L')     /format/LN+FN+MN/ (= '%L,%F%M%N')     /format/LN+title+FN+MN/ (= '%L,%t%F%M%N')     /format/LN+FN+MI/ (= '%L,%F%m%N')     /format/LN+title+FN+MI/ (= '%L,%t%F%m%N')  Custom format string - custom combination of characters and the next term placeholders:      '%t' - Title (prefix)     '%F' - First name     '%f' - First initial     '%M' - Middle name(s)     '%m' - Middle initial(s)     '%N' - Nickname     '%L' - Last name     '%l' - Last initial     '%p' - Postfix  If no value for format option was provided, its default value is '%t%F%m%N%L%p'             
+        :param parsed_name (List[AiNameComponent]) Parsed name             
+        """
 
         self._cultural_context = None
         self._format = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_weighted.py b/sdk/AsposeEmailCloudSdk/models/ai_name_weighted.py
index 7506d75..9b05e4f 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_weighted.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_weighted.py
@@ -53,7 +53,11 @@ class AiNameWeighted(object):
     }
 
     def __init__(self, name: str = None, score: float = None):
-        """AiNameWeighted - a model defined in Swagger"""
+        """
+        Name with score             
+        :param name (str) Name             
+        :param score (float) Score of name             
+        """
 
         self._name = None
         self._score = None
diff --git a/sdk/AsposeEmailCloudSdk/models/ai_name_weighted_variants.py b/sdk/AsposeEmailCloudSdk/models/ai_name_weighted_variants.py
index e64e37e..8be14c8 100644
--- a/sdk/AsposeEmailCloudSdk/models/ai_name_weighted_variants.py
+++ b/sdk/AsposeEmailCloudSdk/models/ai_name_weighted_variants.py
@@ -55,7 +55,11 @@ class AiNameWeightedVariants(object):
     }
 
     def __init__(self, names: List[AiNameWeighted] = None, comments: str = None):
-        """AiNameWeightedVariants - a model defined in Swagger"""
+        """
+        Name variants             
+        :param names (List[AiNameWeighted]) List of name variations             
+        :param comments (str) Usually empty; can contain extra message describing some issue occurred during processing             
+        """
 
         self._names = None
         self._comments = None
diff --git a/sdk/AsposeEmailCloudSdk/models/alternate_view.py b/sdk/AsposeEmailCloudSdk/models/alternate_view.py
index 3d7af91..4ce61a9 100644
--- a/sdk/AsposeEmailCloudSdk/models/alternate_view.py
+++ b/sdk/AsposeEmailCloudSdk/models/alternate_view.py
@@ -65,7 +65,15 @@ class AlternateView(AttachmentBase):
     }
 
     def __init__(self, base64_data: str = None, content_id: str = None, content_type: ContentType = None, headers: Dict[str, str] = None, base_uri: str = None, linked_resources: List[LinkedResource] = None):
-        """AlternateView - a model defined in Swagger"""
+        """
+        Represents the format to view a message.             
+        :param base64_data (str) Attachment file content as Base64 string.             
+        :param content_id (str) Attachment content id             
+        :param content_type (ContentType) Content type             
+        :param headers (Dict[str, str]) Attachment headers.             
+        :param base_uri (str) Base URI.             
+        :param linked_resources (List[LinkedResource]) Embedded resources referred to by this alternate view.             
+        """
         super(AlternateView, self).__init__()
 
         self._base_uri = None
diff --git a/sdk/AsposeEmailCloudSdk/models/append_email_account_base_request.py b/sdk/AsposeEmailCloudSdk/models/append_email_account_base_request.py
index 41fa1b2..a493a9b 100644
--- a/sdk/AsposeEmailCloudSdk/models/append_email_account_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/append_email_account_base_request.py
@@ -62,7 +62,14 @@ class AppendEmailAccountBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, folder: str = None, mark_as_sent: bool = None):
-        """AppendEmailAccountBaseRequest - a model defined in Swagger"""
+        """
+        Append email to account request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param folder (str) Email account folder to store a message             
+        :param mark_as_sent (bool) Mark message as sent             
+        """
         super(AppendEmailAccountBaseRequest, self).__init__()
 
         self._folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/append_email_base_request.py b/sdk/AsposeEmailCloudSdk/models/append_email_base_request.py
index 83d4963..4936506 100644
--- a/sdk/AsposeEmailCloudSdk/models/append_email_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/append_email_base_request.py
@@ -65,7 +65,15 @@ class AppendEmailBaseRequest(AppendEmailAccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, folder: str = None, mark_as_sent: bool = None, email_file: StorageFileLocation = None):
-        """AppendEmailBaseRequest - a model defined in Swagger"""
+        """
+        Append email from storage file to account request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param folder (str) Email account folder to store a message             
+        :param mark_as_sent (bool) Mark message as sent             
+        :param email_file (StorageFileLocation) Email document file location in storage             
+        """
         super(AppendEmailBaseRequest, self).__init__()
 
         self._email_file = None
diff --git a/sdk/AsposeEmailCloudSdk/models/append_email_mime_base_request.py b/sdk/AsposeEmailCloudSdk/models/append_email_mime_base_request.py
index 97edd4c..79c1d8b 100644
--- a/sdk/AsposeEmailCloudSdk/models/append_email_mime_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/append_email_mime_base_request.py
@@ -64,7 +64,15 @@ class AppendEmailMimeBaseRequest(AppendEmailAccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, folder: str = None, mark_as_sent: bool = None, base64_mime_message: str = None):
-        """AppendEmailMimeBaseRequest - a model defined in Swagger"""
+        """
+        Append email from MIME string to account request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param folder (str) Email account folder to store a message             
+        :param mark_as_sent (bool) Mark message as sent             
+        :param base64_mime_message (str) Email document serialized as MIME string             
+        """
         super(AppendEmailMimeBaseRequest, self).__init__()
 
         self._base64_mime_message = None
diff --git a/sdk/AsposeEmailCloudSdk/models/append_email_model_rq.py b/sdk/AsposeEmailCloudSdk/models/append_email_model_rq.py
index 7fca76a..c2478fb 100644
--- a/sdk/AsposeEmailCloudSdk/models/append_email_model_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/append_email_model_rq.py
@@ -65,7 +65,15 @@ class AppendEmailModelRq(AppendEmailAccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, folder: str = None, mark_as_sent: bool = None, message: EmailDto = None):
-        """AppendEmailModelRq - a model defined in Swagger"""
+        """
+        Append email request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param folder (str) Email account folder to store a message             
+        :param mark_as_sent (bool) Mark message as sent             
+        :param message (EmailDto) Email document             
+        """
         super(AppendEmailModelRq, self).__init__()
 
         self._message = None
diff --git a/sdk/AsposeEmailCloudSdk/models/associated_person.py b/sdk/AsposeEmailCloudSdk/models/associated_person.py
index 09ec38e..08f7e4d 100644
--- a/sdk/AsposeEmailCloudSdk/models/associated_person.py
+++ b/sdk/AsposeEmailCloudSdk/models/associated_person.py
@@ -57,7 +57,12 @@ class AssociatedPerson(object):
     }
 
     def __init__(self, name: str = None, category: EnumWithCustomOfAssociatedPersonCategory = None, preferred: bool = None):
-        """AssociatedPerson - a model defined in Swagger"""
+        """
+        Describes associated person.             
+        :param name (str) Associated person's name.             
+        :param category (EnumWithCustomOfAssociatedPersonCategory) Associated person's category.             
+        :param preferred (bool) Defines whether associated person is preferred.             
+        """
 
         self._name = None
         self._category = None
diff --git a/sdk/AsposeEmailCloudSdk/models/attachment.py b/sdk/AsposeEmailCloudSdk/models/attachment.py
index 61c4753..5cd1086 100644
--- a/sdk/AsposeEmailCloudSdk/models/attachment.py
+++ b/sdk/AsposeEmailCloudSdk/models/attachment.py
@@ -70,7 +70,18 @@ class Attachment(AttachmentBase):
     }
 
     def __init__(self, base64_data: str = None, content_id: str = None, content_type: ContentType = None, headers: Dict[str, str] = None, content_disposition: str = None, is_embedded_message: bool = None, name: str = None, name_encoding: str = None, preferred_text_encoding: str = None):
-        """Attachment - a model defined in Swagger"""
+        """
+        Document attachment.             
+        :param base64_data (str) Attachment file content as Base64 string.             
+        :param content_id (str) Attachment content id             
+        :param content_type (ContentType) Content type             
+        :param headers (Dict[str, str]) Attachment headers.             
+        :param content_disposition (str) Content-Disposition header. Read only.             
+        :param is_embedded_message (bool) Determines if attachment is an embedded message. Read only.             
+        :param name (str) Attachment name.             
+        :param name_encoding (str) Encoding of attachment name.             
+        :param preferred_text_encoding (str) Preferred text encoding.             
+        """
         super(Attachment, self).__init__()
 
         self._content_disposition = None
diff --git a/sdk/AsposeEmailCloudSdk/models/attachment_base.py b/sdk/AsposeEmailCloudSdk/models/attachment_base.py
index dd7e3cd..aee0110 100644
--- a/sdk/AsposeEmailCloudSdk/models/attachment_base.py
+++ b/sdk/AsposeEmailCloudSdk/models/attachment_base.py
@@ -65,7 +65,13 @@ class AttachmentBase(object):
     }
 
     def __init__(self, base64_data: str = None, content_id: str = None, content_type: ContentType = None, headers: Dict[str, str] = None):
-        """AttachmentBase - a model defined in Swagger"""
+        """
+        AttachmentBase class             
+        :param base64_data (str) Attachment file content as Base64 string.             
+        :param content_id (str) Attachment content id             
+        :param content_type (ContentType) Content type             
+        :param headers (Dict[str, str]) Attachment headers.             
+        """
 
         self._base64_data = None
         self._content_id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/base_object.py b/sdk/AsposeEmailCloudSdk/models/base_object.py
index 57e8a67..d8333c0 100644
--- a/sdk/AsposeEmailCloudSdk/models/base_object.py
+++ b/sdk/AsposeEmailCloudSdk/models/base_object.py
@@ -60,7 +60,11 @@ class BaseObject(object):
     }
 
     def __init__(self, name: str = None, type: str = None):
-        """BaseObject - a model defined in Swagger"""
+        """
+        Base property object             
+        :param name (str) Gets or sets the name of an object.             
+        :param type (str) Property type. Used for deserialization purposes             
+        """
 
         self._name = None
         self._type = self.__class__.__name__
diff --git a/sdk/AsposeEmailCloudSdk/models/calendar_dto.py b/sdk/AsposeEmailCloudSdk/models/calendar_dto.py
index cfbaa50..c2f673d 100644
--- a/sdk/AsposeEmailCloudSdk/models/calendar_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/calendar_dto.py
@@ -95,7 +95,30 @@ class CalendarDto(object):
     }
 
     def __init__(self, attachments: List[Attachment] = None, attendees: List[MailAddress] = None, description: str = None, end_date: datetime = None, end_time_zone: str = None, flags: List[str] = None, is_description_html: bool = None, location: str = None, method: str = None, microsoft_busy_status: str = None, microsoft_intended_status: str = None, optional_attendees: List[MailAddress] = None, organizer: MailAddress = None, recurrence_string: str = None, reminders: List[CalendarReminder] = None, sequence_id: str = None, start_date: datetime = None, start_time_zone: str = None, status: str = None, summary: str = None, transparency: str = None):
-        """CalendarDto - a model defined in Swagger"""
+        """
+        iCalendar document representation.             
+        :param attachments (List[Attachment]) Document attachments.
+        :param attendees (List[MailAddress]) Event attendees.
+        :param description (str) Description.
+        :param end_date (datetime) End date.
+        :param end_time_zone (str) End time zone.
+        :param flags (List[str]) Appointment flags.
+        :param is_description_html (bool) Indicates if description is in HTML format.
+        :param location (str) Location.
+        :param method (str) Defines the iCalendar object method type associated with the calendar document. Enum, available values: None, Publish, Request, Reply, Add, Cancel, Refresh, Counter, DeclineCounter
+        :param microsoft_busy_status (str) Specifies the BUSY status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
+        :param microsoft_intended_status (str) Specifies the INTENDED status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
+        :param optional_attendees (List[MailAddress]) Optional attendees.             
+        :param organizer (MailAddress) Event organizer.             
+        :param recurrence_string (str) String representation of recurrence pattern (See iCalendar RFC, \"Recurrence rule\" section). For example:               For daily recurrence:         \"FREQ=DAILY;COUNT=10;WKST=MO\"                   For monthly recurrence:         \"BYSETPOS=1;BYDAY=MO,TU,WE,TH,FR;FREQ=MONTHLY;INTERVAL=10;WKST=MO\"                   For yearly recurrence:         \"BYMONTHDAY=30;BYMONTH=1;FREQ=YEARLY;WKST=MO\"                   
+        :param reminders (List[CalendarReminder]) Reminders.
+        :param sequence_id (str) The sequence id. Read only.
+        :param start_date (datetime) Start date.
+        :param start_time_zone (str) Start time zone.
+        :param status (str) Defines the overall status or confirmation for the calendar document. Enum, available values: NotDefined, Cancelled, Tentative, Confirmed
+        :param summary (str) Summary.
+        :param transparency (str) Specifies whether or not this appointment is intended to be visible in availability searches. Enum, available values: NotDefined, Transparent, Opaque
+        """
 
         self._attachments = None
         self._attendees = None
diff --git a/sdk/AsposeEmailCloudSdk/models/calendar_dto_alternate_rq.py b/sdk/AsposeEmailCloudSdk/models/calendar_dto_alternate_rq.py
index 57e2e35..64c62a9 100644
--- a/sdk/AsposeEmailCloudSdk/models/calendar_dto_alternate_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/calendar_dto_alternate_rq.py
@@ -57,7 +57,12 @@ class CalendarDtoAlternateRq(object):
     }
 
     def __init__(self, value: CalendarDto = None, action: str = None, sequence_id: str = None):
-        """CalendarDtoAlternateRq - a model defined in Swagger"""
+        """
+        iCalendar document as AlternateView request             
+        :param value (CalendarDto) iCalendar document model             
+        :param action (str) iCalendar actions. Enum, available values: Create, Update, Cancel
+        :param sequence_id (str) iCalendar sequence id             
+        """
 
         self._value = None
         self._action = None
diff --git a/sdk/AsposeEmailCloudSdk/models/calendar_dto_list.py b/sdk/AsposeEmailCloudSdk/models/calendar_dto_list.py
index 34592e0..e30f5ad 100644
--- a/sdk/AsposeEmailCloudSdk/models/calendar_dto_list.py
+++ b/sdk/AsposeEmailCloudSdk/models/calendar_dto_list.py
@@ -54,7 +54,10 @@ class CalendarDtoList(ListResponseOfStorageModelOfCalendarDto):
     }
 
     def __init__(self, value: List[StorageModelOfCalendarDto] = None):
-        """CalendarDtoList - a model defined in Swagger"""
+        """
+        List of iCalendar documents             
+        :param value (List[StorageModelOfCalendarDto]) 
+        """
         super(CalendarDtoList, self).__init__()
         self.discriminator = None
 
diff --git a/sdk/AsposeEmailCloudSdk/models/calendar_reminder.py b/sdk/AsposeEmailCloudSdk/models/calendar_reminder.py
index bf2b910..092fc9d 100644
--- a/sdk/AsposeEmailCloudSdk/models/calendar_reminder.py
+++ b/sdk/AsposeEmailCloudSdk/models/calendar_reminder.py
@@ -68,7 +68,17 @@ class CalendarReminder(object):
     }
 
     def __init__(self, action: str = None, attachments: List[str] = None, attendees: List[ReminderAttendee] = None, description: str = None, duration: int = None, repeat: int = None, summary: str = None, trigger: ReminderTrigger = None):
-        """CalendarReminder - a model defined in Swagger"""
+        """
+        Provides a grouping of component properties that define an alarm.             
+        :param action (str) Defines the action to be invoked when an alarm is triggered. Enum, available values: Audio, Display, Email, Procedure, None
+        :param attachments (List[str]) Collection of Reminder Attachments. Could be an absolute URI or Base64 string representation of attachment content             
+        :param attendees (List[ReminderAttendee]) Contains collection of ReminderAttendee objects.             
+        :param description (str) Provides a more complete description of the alarm.
+        :param duration (int) Specifies the delay period in ticks, after which the alarm will repeat.             
+        :param repeat (int) Defines the number of time the alarm should be repeated, after the initial trigger.             
+        :param summary (str) Defines a short summary or subject for the alarm.
+        :param trigger (ReminderTrigger) Specifies when an alarm will trigger.
+        """
 
         self._action = None
         self._attachments = None
diff --git a/sdk/AsposeEmailCloudSdk/models/contact_dto.py b/sdk/AsposeEmailCloudSdk/models/contact_dto.py
index 3f8a45b..47f49fa 100644
--- a/sdk/AsposeEmailCloudSdk/models/contact_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/contact_dto.py
@@ -131,7 +131,45 @@ class ContactDto(object):
     }
 
     def __init__(self, associated_persons: List[AssociatedPerson] = None, attachments: List[Attachment] = None, company_name: str = None, computer_network_name: str = None, customer_id: str = None, department_name: str = None, display_name: str = None, email_addresses: List[EmailAddress] = None, events: List[CustomerEvent] = None, file_as: str = None, file_as_mapping: str = None, free_busy_location: str = None, gender: str = None, given_name: str = None, government_id_number: str = None, hobbies: str = None, initials: str = None, instant_messengers: List[InstantMessengerAddress] = None, job_title: str = None, language: str = None, location: str = None, middle_name: str = None, nickname: str = None, notes: str = None, notes_format: str = None, office_location: str = None, organizational_id_number: str = None, phone_numbers: List[PhoneNumber] = None, photo: ContactPhoto = None, physical_addresses: List[PostalAddress] = None, preferred_text_encoding: str = None, prefix: str = None, profession: str = None, suffix: str = None, surname: str = None, urls: List[Url] = None):
-        """ContactDto - a model defined in Swagger"""
+        """
+        VCard document representation.             
+        :param associated_persons (List[AssociatedPerson]) Associated persons.             
+        :param attachments (List[Attachment]) Document attachments.             
+        :param company_name (str) Company name.             
+        :param computer_network_name (str) Computer network.             
+        :param customer_id (str) Customer id.             
+        :param department_name (str) Department name.             
+        :param display_name (str) Display name.             
+        :param email_addresses (List[EmailAddress]) Person's email addresses.             
+        :param events (List[CustomerEvent]) Person's events.             
+        :param file_as (str) A name used for sorting.             
+        :param file_as_mapping (str) Specifies how to generate and recompute the value of the dispidFileAs property when other contact name properties change. Coincides MS-OXPROPS revision 16.2 from 7/31/2014. Enum, available values: Empty, DisplayName, FirstName, LastName, Organization, LastFirstMiddle, OrgLastFirstMiddle, LastFirstMiddleOrg, LastFirstMiddle2, LastFirstMiddle3, OrgLastFirstMiddle2, OrgLastFirstMiddle3, LastFirstMiddleOrg2, LastFirstMiddleOrg3, LastFirstMiddleGen, FirstMiddleLastGen, LastFirstMiddleGen2, BestMatch, AccordingToLocale, None
+        :param free_busy_location (str) URL path from which a client can retrieve free/busy information for the contact as an iCal file.             
+        :param gender (str) Enum defines gender of a person. Enum, available values: Unspecified, Female, Male
+        :param given_name (str) Person's given name.             
+        :param government_id_number (str) Government id number.             
+        :param hobbies (str) Person's hobbies.             
+        :param initials (str) Person's initials.             
+        :param instant_messengers (List[InstantMessengerAddress]) Person's instant messenger addresses.             
+        :param job_title (str) Person's job title.             
+        :param language (str) Language.             
+        :param location (str) Person's location.             
+        :param middle_name (str) Person's middle name.             
+        :param nickname (str) Person's nickname.             
+        :param notes (str) Notes.             
+        :param notes_format (str) Defines format of a text. Enum, available values: Text, Html
+        :param office_location (str) Office location.             
+        :param organizational_id_number (str) Contains an identifier for the mail user used within the mail user's organization.             
+        :param phone_numbers (List[PhoneNumber]) Person's phone numbers.             
+        :param photo (ContactPhoto) Person's photo.             
+        :param physical_addresses (List[PostalAddress]) Person's physical addresses.             
+        :param preferred_text_encoding (str) Encoding for all text properties.             
+        :param prefix (str) A prefix of a full name such like Mr.(mister), Dr.(doctor) and so on.             
+        :param profession (str) A job position of a person in a company.             
+        :param suffix (str) A suffix of a full name such like Jr.(junior), Sr.(senior) and so on.             
+        :param surname (str) Person's surname.             
+        :param urls (List[Url]) Person's urls.             
+        """
 
         self._associated_persons = None
         self._attachments = None
diff --git a/sdk/AsposeEmailCloudSdk/models/contact_dto_list.py b/sdk/AsposeEmailCloudSdk/models/contact_dto_list.py
index b5c73bd..3c04e25 100644
--- a/sdk/AsposeEmailCloudSdk/models/contact_dto_list.py
+++ b/sdk/AsposeEmailCloudSdk/models/contact_dto_list.py
@@ -54,7 +54,10 @@ class ContactDtoList(ListResponseOfStorageModelOfContactDto):
     }
 
     def __init__(self, value: List[StorageModelOfContactDto] = None):
-        """ContactDtoList - a model defined in Swagger"""
+        """
+        List of contact documents             
+        :param value (List[StorageModelOfContactDto]) 
+        """
         super(ContactDtoList, self).__init__()
         self.discriminator = None
 
diff --git a/sdk/AsposeEmailCloudSdk/models/contact_photo.py b/sdk/AsposeEmailCloudSdk/models/contact_photo.py
index 705843e..eae786d 100644
--- a/sdk/AsposeEmailCloudSdk/models/contact_photo.py
+++ b/sdk/AsposeEmailCloudSdk/models/contact_photo.py
@@ -53,7 +53,11 @@ class ContactPhoto(object):
     }
 
     def __init__(self, photo_image_format: str = None, base64_data: str = None):
-        """ContactPhoto - a model defined in Swagger"""
+        """
+        Person&#39;s photo.             
+        :param photo_image_format (str) MapiContact photo image format. Enum, available values: Undefined, Jpeg, Gif, Wmf, Bmp, Tiff
+        :param base64_data (str) Photo serialized as base64 string.             
+        """
 
         self._photo_image_format = None
         self._base64_data = None
diff --git a/sdk/AsposeEmailCloudSdk/models/content_type.py b/sdk/AsposeEmailCloudSdk/models/content_type.py
index 6cc8fde..c6aade3 100644
--- a/sdk/AsposeEmailCloudSdk/models/content_type.py
+++ b/sdk/AsposeEmailCloudSdk/models/content_type.py
@@ -61,7 +61,14 @@ class ContentType(object):
     }
 
     def __init__(self, boundary: str = None, char_set: str = None, media_type: str = None, name: str = None, parameters: List[ContentTypeParameter] = None):
-        """ContentType - a model defined in Swagger"""
+        """
+        Represents a Content-Type header.             
+        :param boundary (str) The boundary parameter included in the Content-Type header.             
+        :param char_set (str) CharSet parameter.             
+        :param media_type (str) The internet media type.             
+        :param name (str) Name parameter.             
+        :param parameters (List[ContentTypeParameter]) Full list of parameters             
+        """
 
         self._boundary = None
         self._char_set = None
diff --git a/sdk/AsposeEmailCloudSdk/models/content_type_parameter.py b/sdk/AsposeEmailCloudSdk/models/content_type_parameter.py
index 689b7a1..2956910 100644
--- a/sdk/AsposeEmailCloudSdk/models/content_type_parameter.py
+++ b/sdk/AsposeEmailCloudSdk/models/content_type_parameter.py
@@ -53,7 +53,11 @@ class ContentTypeParameter(object):
     }
 
     def __init__(self, name: str = None, value: str = None):
-        """ContentTypeParameter - a model defined in Swagger"""
+        """
+        Content-Type header parameter             
+        :param name (str) Parameter name             
+        :param value (str) Parameter value             
+        """
 
         self._name = None
         self._value = None
diff --git a/sdk/AsposeEmailCloudSdk/models/create_email_request.py b/sdk/AsposeEmailCloudSdk/models/create_email_request.py
index 77e203d..03c9e0e 100644
--- a/sdk/AsposeEmailCloudSdk/models/create_email_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/create_email_request.py
@@ -56,7 +56,11 @@ class CreateEmailRequest(object):
     }
 
     def __init__(self, email_document: EmailDocument = None, storage_folder: StorageFolderLocation = None):
-        """CreateEmailRequest - a model defined in Swagger"""
+        """
+        Create email document request             
+        :param email_document (EmailDocument) An email document that should be created             
+        :param storage_folder (StorageFolderLocation) Email document location in storage             
+        """
 
         self._email_document = None
         self._storage_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/create_folder_base_request.py b/sdk/AsposeEmailCloudSdk/models/create_folder_base_request.py
index a533ce9..65ab40d 100644
--- a/sdk/AsposeEmailCloudSdk/models/create_folder_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/create_folder_base_request.py
@@ -62,7 +62,14 @@ class CreateFolderBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, folder: str = None, parent_folder: str = None):
-        """CreateFolderBaseRequest - a model defined in Swagger"""
+        """
+        Create folder request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param folder (str) Folder name             
+        :param parent_folder (str) Parent folder path             
+        """
         super(CreateFolderBaseRequest, self).__init__()
 
         self._folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/customer_event.py b/sdk/AsposeEmailCloudSdk/models/customer_event.py
index 382f8a5..ff7d12e 100644
--- a/sdk/AsposeEmailCloudSdk/models/customer_event.py
+++ b/sdk/AsposeEmailCloudSdk/models/customer_event.py
@@ -55,7 +55,11 @@ class CustomerEvent(object):
     }
 
     def __init__(self, category: EnumWithCustomOfEventCategory = None, _date: datetime = None):
-        """CustomerEvent - a model defined in Swagger"""
+        """
+        Event.             
+        :param category (EnumWithCustomOfEventCategory) Event category.             
+        :param _date (datetime) Event date.             
+        """
 
         self._category = None
         self.__date = None
diff --git a/sdk/AsposeEmailCloudSdk/models/delete_folder_base_request.py b/sdk/AsposeEmailCloudSdk/models/delete_folder_base_request.py
index 7fd57e9..05374d0 100644
--- a/sdk/AsposeEmailCloudSdk/models/delete_folder_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/delete_folder_base_request.py
@@ -62,7 +62,14 @@ class DeleteFolderBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, folder: str = None, delete_permanently: bool = None):
-        """DeleteFolderBaseRequest - a model defined in Swagger"""
+        """
+        Delete folder request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param folder (str) Folder name             
+        :param delete_permanently (bool) Specifies that folder should be deleted permanently             
+        """
         super(DeleteFolderBaseRequest, self).__init__()
 
         self._folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/delete_message_base_request.py b/sdk/AsposeEmailCloudSdk/models/delete_message_base_request.py
index 6dbaddc..d930808 100644
--- a/sdk/AsposeEmailCloudSdk/models/delete_message_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/delete_message_base_request.py
@@ -62,7 +62,14 @@ class DeleteMessageBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, message_id: str = None, delete_permanently: bool = None):
-        """DeleteMessageBaseRequest - a model defined in Swagger"""
+        """
+        Delete message request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param message_id (str) Message identifier             
+        :param delete_permanently (bool) Specifies that message should be deleted permanently             
+        """
         super(DeleteMessageBaseRequest, self).__init__()
 
         self._message_id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/disc_usage.py b/sdk/AsposeEmailCloudSdk/models/disc_usage.py
index dc21369..37b7edd 100644
--- a/sdk/AsposeEmailCloudSdk/models/disc_usage.py
+++ b/sdk/AsposeEmailCloudSdk/models/disc_usage.py
@@ -53,7 +53,11 @@ class DiscUsage(object):
     }
 
     def __init__(self, used_size: int = None, total_size: int = None):
-        """DiscUsage - a model defined in Swagger"""
+        """
+        Class for disc space information.
+        :param used_size (int) Application used disc space.
+        :param total_size (int) Total disc space.
+        """
 
         self._used_size = None
         self._total_size = None
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
index 293dd34..542bdcb 100644
--- a/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_oauth.py
@@ -65,7 +65,16 @@ class DiscoverEmailConfigOauth(DiscoverEmailConfigRq):
     }
 
     def __init__(self, address: str = None, fast_processing: bool = None, login: str = None, client_id: str = None, client_secret: str = None, refresh_token: str = None, request_url: str = None):
-        """DiscoverEmailConfigOauth - a model defined in Swagger"""
+        """
+        
+        :param address (str) Email address to discover.             
+        :param fast_processing (bool) Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
+        :param login (str) Email account login. If not specified, address used as a login.             
+        :param client_id (str) OAuth client id.             
+        :param client_secret (str) OAuth client secret.             
+        :param refresh_token (str) OAuth refresh token.             
+        :param request_url (str) The url to obtain access token. If not specified, will be discovered from email configuration.             
+        """
         super(DiscoverEmailConfigOauth, self).__init__()
 
         self._client_id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
index 211b143..a85e11e 100644
--- a/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_password.py
@@ -59,7 +59,13 @@ class DiscoverEmailConfigPassword(DiscoverEmailConfigRq):
     }
 
     def __init__(self, address: str = None, fast_processing: bool = None, login: str = None, password: str = None):
-        """DiscoverEmailConfigPassword - a model defined in Swagger"""
+        """
+        
+        :param address (str) Email address to discover.             
+        :param fast_processing (bool) Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
+        :param login (str) Email account login. If not specified, address used as a login.             
+        :param password (str) Email account password.             
+        """
         super(DiscoverEmailConfigPassword, self).__init__()
 
         self._password = None
diff --git a/sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py b/sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py
index 8406b07..12e0249 100644
--- a/sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/discover_email_config_rq.py
@@ -60,7 +60,12 @@ class DiscoverEmailConfigRq(object):
     }
 
     def __init__(self, address: str = None, fast_processing: bool = None, login: str = None):
-        """DiscoverEmailConfigRq - a model defined in Swagger"""
+        """
+        Discover email configuration request.             
+        :param address (str) Email address to discover.             
+        :param fast_processing (bool) Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.             
+        :param login (str) Email account login. If not specified, address used as a login.             
+        """
 
         self._address = None
         self._fast_processing = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_config.py b/sdk/AsposeEmailCloudSdk/models/email_account_config.py
index 9be3045..6862f2f 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_account_config.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_config.py
@@ -67,7 +67,17 @@ class EmailAccountConfig(object):
     }
 
     def __init__(self, display_name: str = None, protocol_type: str = None, host: str = None, port: int = None, socket_type: str = None, authentication_types: List[str] = None, extra_info: List[NameValuePair] = None, is_validated: bool = None):
-        """EmailAccountConfig - a model defined in Swagger"""
+        """
+        Email account configuration.             
+        :param display_name (str) Email account display name             
+        :param protocol_type (str) Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
+        :param host (str) Email account host.             
+        :param port (int) Port.             
+        :param socket_type (str) Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        :param authentication_types (List[str]) Supported authentication types.             
+        :param extra_info (List[NameValuePair]) Extra account information.             
+        :param is_validated (bool) Determines that configuration validated. Set to false if validation skipped.             
+        """
 
         self._display_name = None
         self._protocol_type = None
@@ -190,7 +200,7 @@ def port(self, port: int):
     def socket_type(self) -> str:
         """Gets the socket_type of this EmailAccountConfig.
 
-        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :return: The socket_type of this EmailAccountConfig.
         :rtype: str
@@ -201,7 +211,7 @@ def socket_type(self) -> str:
     def socket_type(self, socket_type: str):
         """Sets the socket_type of this EmailAccountConfig.
 
-        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :param socket_type: The socket_type of this EmailAccountConfig.
         :type: str
diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py b/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py
index 261a756..0b0fab4 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_config_list.py
@@ -54,7 +54,10 @@ class EmailAccountConfigList(ListResponseOfEmailAccountConfig):
     }
 
     def __init__(self, value: List[EmailAccountConfig] = None):
-        """EmailAccountConfigList - a model defined in Swagger"""
+        """
+        List of email accounts             
+        :param value (List[EmailAccountConfig]) 
+        """
         super(EmailAccountConfigList, self).__init__()
         self.discriminator = None
 
diff --git a/sdk/AsposeEmailCloudSdk/models/email_account_request.py b/sdk/AsposeEmailCloudSdk/models/email_account_request.py
index 7ccdaf6..8c58c17 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_account_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_account_request.py
@@ -70,7 +70,16 @@ class EmailAccountRequest(object):
     }
 
     def __init__(self, host: str = None, port: int = None, login: str = None, security_options: str = None, protocol_type: str = None, description: str = None, storage_file: StorageFileLocation = None):
-        """EmailAccountRequest - a model defined in Swagger"""
+        """
+        Email account settings request             
+        :param host (str) Email account host             
+        :param port (int) Email account port             
+        :param login (str) Email account login             
+        :param security_options (str) Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        :param protocol_type (str) Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
+        :param description (str) Email account description             
+        :param storage_file (StorageFileLocation) A storage file location info to store email account             
+        """
 
         self._host = None
         self._port = None
@@ -176,7 +185,7 @@ def login(self, login: str):
     def security_options(self) -> str:
         """Gets the security_options of this EmailAccountRequest.
 
-        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :return: The security_options of this EmailAccountRequest.
         :rtype: str
@@ -187,7 +196,7 @@ def security_options(self) -> str:
     def security_options(self, security_options: str):
         """Sets the security_options of this EmailAccountRequest.
 
-        Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
 
         :param security_options: The security_options of this EmailAccountRequest.
         :type: str
diff --git a/sdk/AsposeEmailCloudSdk/models/email_address.py b/sdk/AsposeEmailCloudSdk/models/email_address.py
index 22960d9..e8446f7 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_address.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_address.py
@@ -61,7 +61,14 @@ class EmailAddress(object):
     }
 
     def __init__(self, category: EnumWithCustomOfEmailAddressCategory = None, display_name: str = None, preferred: bool = None, routing_type: str = None, address: str = None):
-        """EmailAddress - a model defined in Swagger"""
+        """
+        Email address.             
+        :param category (EnumWithCustomOfEmailAddressCategory) Address category.             
+        :param display_name (str) Display name.             
+        :param preferred (bool) Defines whether email address is preferred.             
+        :param routing_type (str) A routing type for an email.             
+        :param address (str) Email address.             
+        """
 
         self._category = None
         self._display_name = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_document.py b/sdk/AsposeEmailCloudSdk/models/email_document.py
index 57f2100..9b328e8 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_document.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_document.py
@@ -56,7 +56,11 @@ class EmailDocument(object):
     }
 
     def __init__(self, links: List[Link] = None, document_properties: EmailProperties = None):
-        """EmailDocument - a model defined in Swagger"""
+        """
+        Represents Email document DTO.             
+        :param links (List[Link]) Links that originate from this document.             
+        :param document_properties (EmailProperties) List of document properties.             
+        """
 
         self._links = None
         self._document_properties = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_document_response.py b/sdk/AsposeEmailCloudSdk/models/email_document_response.py
index 8c0d6ad..6310d8a 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_document_response.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_document_response.py
@@ -53,7 +53,10 @@ class EmailDocumentResponse(object):
     }
 
     def __init__(self, document: EmailDocument = None):
-        """EmailDocumentResponse - a model defined in Swagger"""
+        """
+        An email document response             
+        :param document (EmailDocument) An email document requested             
+        """
 
         self._document = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_dto.py b/sdk/AsposeEmailCloudSdk/models/email_dto.py
index cbc2510..84c1545 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_dto.py
@@ -118,7 +118,41 @@ class EmailDto(object):
     }
 
     def __init__(self, alternate_views: List[AlternateView] = None, attachments: List[Attachment] = None, bcc: List[MailAddress] = None, body: str = None, body_encoding: str = None, body_type: str = None, cc: List[MailAddress] = None, _date: datetime = None, delivery_notification_options: List[str] = None, _from: MailAddress = None, headers: Dict[str, str] = None, html_body: str = None, html_body_text: str = None, is_body_html: bool = None, is_draft: bool = None, is_encrypted: bool = None, is_signed: bool = None, linked_resources: List[LinkedResource] = None, message_id: str = None, original_is_tnef: bool = None, preferred_text_encoding: str = None, priority: str = None, read_receipt_to: List[MailAddress] = None, reply_to_list: List[MailAddress] = None, reverse_path: MailAddress = None, sender: MailAddress = None, sensitivity: str = None, subject: str = None, subject_encoding: str = None, time_zone_offset: int = None, to: List[MailAddress] = None, x_mailer: str = None):
-        """EmailDto - a model defined in Swagger"""
+        """
+        Email message representation.             
+        :param alternate_views (List[AlternateView]) Collection of alternate views of message.             
+        :param attachments (List[Attachment]) Email message attachments.             
+        :param bcc (List[MailAddress]) BCC recipients.             
+        :param body (str) Email message body as plain text.             
+        :param body_encoding (str) Body encoding.             
+        :param body_type (str) The content type of message body. Enum, available values: PlainText, Html, Rtf
+        :param cc (List[MailAddress]) CC recipients.             
+        :param _date (datetime) Message date.             
+        :param delivery_notification_options (List[str]) Delivery notifications.
+        :param _from (MailAddress) From address.             
+        :param headers (Dict[str, str]) Document headers.             
+        :param html_body (str) HTML body.             
+        :param html_body_text (str) Html body as plain text. Read only.             
+        :param is_body_html (bool) Indicates whether the message body is in Html.             
+        :param is_draft (bool) Indicates whether or not a message has been sent.             
+        :param is_encrypted (bool) Indicates whether the message is encrypted. Read only.             
+        :param is_signed (bool) Indicates whether the message is signed. Read only.             
+        :param linked_resources (List[LinkedResource]) Linked resources of message.             
+        :param message_id (str) Message id.             
+        :param original_is_tnef (bool) Indicates whether original EML message is in TNEF format. Read only.             
+        :param preferred_text_encoding (str) Preferred encoding.             
+        :param priority (str) Email priority status. Enum, available values: High, Low, Normal
+        :param read_receipt_to (List[MailAddress]) Read receipt addresses.             
+        :param reply_to_list (List[MailAddress]) The list of addresses to reply to for the mail message.             
+        :param reverse_path (MailAddress) ReversePath address.             
+        :param sender (MailAddress) Sender address.             
+        :param sensitivity (str) Specifies the sensitivity of a MailMessage. Enum, available values: None, Normal, Personal, Private, CompanyConfidential
+        :param subject (str) Message subject.             
+        :param subject_encoding (str) Subject encoding.             
+        :param time_zone_offset (int) Coordinated Universal Time (UTC) offset for the message dates. This property defines the time zone difference, between the local time and UTC represented as count of ticks (10 000 per millisecond).             
+        :param to (List[MailAddress]) The address collection that contains the recipients of message.             
+        :param x_mailer (str) The X-Mailer the software that created the e-mail message.             
+        """
 
         self._alternate_views = None
         self._attachments = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_dto_list.py b/sdk/AsposeEmailCloudSdk/models/email_dto_list.py
index cc969d0..19d3322 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_dto_list.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_dto_list.py
@@ -54,7 +54,10 @@ class EmailDtoList(ListResponseOfStorageModelOfEmailDto):
     }
 
     def __init__(self, value: List[StorageModelOfEmailDto] = None):
-        """EmailDtoList - a model defined in Swagger"""
+        """
+        List of email documents             
+        :param value (List[StorageModelOfEmailDto]) 
+        """
         super(EmailDtoList, self).__init__()
         self.discriminator = None
 
diff --git a/sdk/AsposeEmailCloudSdk/models/email_properties.py b/sdk/AsposeEmailCloudSdk/models/email_properties.py
index 750e100..12d639d 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_properties.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_properties.py
@@ -56,7 +56,11 @@ class EmailProperties(object):
     }
 
     def __init__(self, link: Link = None, list: List[EmailProperty] = None):
-        """EmailProperties - a model defined in Swagger"""
+        """
+        Email list properties.             
+        :param link (Link) Gets or sets link that originate from this document.             
+        :param list (List[EmailProperty]) List of properties             
+        """
 
         self._link = None
         self._list = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_property.py b/sdk/AsposeEmailCloudSdk/models/email_property.py
index 43419c4..2fc4462 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_property.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_property.py
@@ -57,7 +57,12 @@ class EmailProperty(object):
     }
 
     def __init__(self, link: Link = None, name: str = None, value: object = None):
-        """EmailProperty - a model defined in Swagger"""
+        """
+        Email property.             
+        :param link (Link) Link to property             
+        :param name (str) Property name             
+        :param value (object) Property value             
+        """
 
         self._link = None
         self._name = None
diff --git a/sdk/AsposeEmailCloudSdk/models/email_property_response.py b/sdk/AsposeEmailCloudSdk/models/email_property_response.py
index f23d559..028a87a 100644
--- a/sdk/AsposeEmailCloudSdk/models/email_property_response.py
+++ b/sdk/AsposeEmailCloudSdk/models/email_property_response.py
@@ -53,7 +53,10 @@ class EmailPropertyResponse(object):
     }
 
     def __init__(self, email_property: EmailProperty = None):
-        """EmailPropertyResponse - a model defined in Swagger"""
+        """
+        Email property response.             
+        :param email_property (EmailProperty) Gets or sets email property.             
+        """
 
         self._email_property = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_associated_person_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_associated_person_category.py
index 50dbd6e..501f76e 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_associated_person_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_associated_person_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfAssociatedPersonCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfAssociatedPersonCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Associated person's category. Enum, available values: Spouse, Child, Mother, Father, Parent, Brother, Sister, Friend, Relative, Manager, Assistant, ReferredBy, Partner, DomesticPartner, Custom
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_email_address_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_email_address_category.py
index de45ee6..6beebbf 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_email_address_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_email_address_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfEmailAddressCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfEmailAddressCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Represents category for an email address. Enum, available values: Home, Work, Custom, Email1, Email2, Email3
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_event_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_event_category.py
index 81e1207..e1669f6 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_event_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_event_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfEventCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfEventCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Event category. Enum, available values: Custom, Birthday, Anniversary
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_instant_messenger_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_instant_messenger_category.py
index c8c3690..ed9a746 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_instant_messenger_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_instant_messenger_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfInstantMessengerCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfInstantMessengerCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Instant messenger address category. Enum, available values: GoogleTalk, Aim, Yahoo, Skype, Qq, Msn, Icq, Jabber, Custom, ImAddress1, ImAddress2, ImAddress3
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_phone_number_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_phone_number_category.py
index 06d4220..36b164f 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_phone_number_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_phone_number_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfPhoneNumberCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfPhoneNumberCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Phone number category. Enum, available values: Custom, Home, Work, Office, Mobile, Fax, HomeFax, WorkFax, Pager, Car, Isdn, Telex, Callback, Radio, Company, TtyTdd, Assistant, Primary
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_postal_address_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_postal_address_category.py
index 7f33543..0746158 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_postal_address_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_postal_address_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfPostalAddressCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfPostalAddressCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Address category. Enum, available values: Home, Work, Custom
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_url_category.py b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_url_category.py
index 1b59a19..14dfad8 100644
--- a/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_url_category.py
+++ b/sdk/AsposeEmailCloudSdk/models/enum_with_custom_of_url_category.py
@@ -53,7 +53,11 @@ class EnumWithCustomOfUrlCategory(object):
     }
 
     def __init__(self, value: str = None, description: str = None):
-        """EnumWithCustomOfUrlCategory - a model defined in Swagger"""
+        """
+        
+        :param value (str) Url category. Enum, available values: Profile, HomePage, Home, Work, Blog, Ftp, Custom
+        :param description (str) 
+        """
 
         self._value = None
         self._description = None
diff --git a/sdk/AsposeEmailCloudSdk/models/error.py b/sdk/AsposeEmailCloudSdk/models/error.py
index d99a21b..4e279fe 100644
--- a/sdk/AsposeEmailCloudSdk/models/error.py
+++ b/sdk/AsposeEmailCloudSdk/models/error.py
@@ -59,7 +59,13 @@ class Error(object):
     }
 
     def __init__(self, code: str = None, message: str = None, description: str = None, inner_error: ErrorDetails = None):
-        """Error - a model defined in Swagger"""
+        """
+        Error
+        :param code (str) Code             
+        :param message (str) Message             
+        :param description (str) Description             
+        :param inner_error (ErrorDetails) Inner Error             
+        """
 
         self._code = None
         self._message = None
diff --git a/sdk/AsposeEmailCloudSdk/models/error_details.py b/sdk/AsposeEmailCloudSdk/models/error_details.py
index 272d806..0126520 100644
--- a/sdk/AsposeEmailCloudSdk/models/error_details.py
+++ b/sdk/AsposeEmailCloudSdk/models/error_details.py
@@ -53,7 +53,11 @@ class ErrorDetails(object):
     }
 
     def __init__(self, request_id: str = None, _date: datetime = None):
-        """ErrorDetails - a model defined in Swagger"""
+        """
+        The error details
+        :param request_id (str) The request id
+        :param _date (datetime) Date
+        """
 
         self._request_id = None
         self.__date = None
diff --git a/sdk/AsposeEmailCloudSdk/models/file_version.py b/sdk/AsposeEmailCloudSdk/models/file_version.py
index 59e9773..6e1c770 100644
--- a/sdk/AsposeEmailCloudSdk/models/file_version.py
+++ b/sdk/AsposeEmailCloudSdk/models/file_version.py
@@ -65,7 +65,16 @@ class FileVersion(StorageFile):
     }
 
     def __init__(self, name: str = None, is_folder: bool = None, modified_date: datetime = None, size: int = None, path: str = None, version_id: str = None, is_latest: bool = None):
-        """FileVersion - a model defined in Swagger"""
+        """
+        File Version
+        :param name (str) File or folder name.
+        :param is_folder (bool) True if it is a folder.
+        :param modified_date (datetime) File or folder last modified DateTime.
+        :param size (int) File or folder size.
+        :param path (str) File or folder path.
+        :param version_id (str) File Version ID.
+        :param is_latest (bool) Specifies whether the file is (true) or is not (false) the latest version of an file.
+        """
         super(FileVersion, self).__init__()
 
         self._version_id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/file_versions.py b/sdk/AsposeEmailCloudSdk/models/file_versions.py
index 3aef3f6..6fbdb9d 100644
--- a/sdk/AsposeEmailCloudSdk/models/file_versions.py
+++ b/sdk/AsposeEmailCloudSdk/models/file_versions.py
@@ -53,7 +53,10 @@ class FileVersions(object):
     }
 
     def __init__(self, value: List[FileVersion] = None):
-        """FileVersions - a model defined in Swagger"""
+        """
+        File versions FileVersion.
+        :param value (List[FileVersion]) File versions FileVersion.
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/files_list.py b/sdk/AsposeEmailCloudSdk/models/files_list.py
index 1442701..29b091d 100644
--- a/sdk/AsposeEmailCloudSdk/models/files_list.py
+++ b/sdk/AsposeEmailCloudSdk/models/files_list.py
@@ -53,7 +53,10 @@ class FilesList(object):
     }
 
     def __init__(self, value: List[StorageFile] = None):
-        """FilesList - a model defined in Swagger"""
+        """
+        Files list
+        :param value (List[StorageFile]) Files and folders contained by folder StorageFile.
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/files_upload_result.py b/sdk/AsposeEmailCloudSdk/models/files_upload_result.py
index 8aa99bb..28c234c 100644
--- a/sdk/AsposeEmailCloudSdk/models/files_upload_result.py
+++ b/sdk/AsposeEmailCloudSdk/models/files_upload_result.py
@@ -55,7 +55,11 @@ class FilesUploadResult(object):
     }
 
     def __init__(self, uploaded: List[str] = None, errors: List[Error] = None):
-        """FilesUploadResult - a model defined in Swagger"""
+        """
+        File upload result
+        :param uploaded (List[str]) List of uploaded file names
+        :param errors (List[Error]) List of errors.
+        """
 
         self._uploaded = None
         self._errors = None
diff --git a/sdk/AsposeEmailCloudSdk/models/hierarchical_object.py b/sdk/AsposeEmailCloudSdk/models/hierarchical_object.py
index b50f031..14e78d5 100644
--- a/sdk/AsposeEmailCloudSdk/models/hierarchical_object.py
+++ b/sdk/AsposeEmailCloudSdk/models/hierarchical_object.py
@@ -57,7 +57,12 @@ class HierarchicalObject(BaseObject):
     }
 
     def __init__(self, name: str = None, type: str = None, internal_properties: List[BaseObject] = None):
-        """HierarchicalObject - a model defined in Swagger"""
+        """
+        Objects&#39; properties hierarchical representation             
+        :param name (str) Gets or sets the name of an object.             
+        :param type (str) Property type. Used for deserialization purposes             
+        :param internal_properties (List[BaseObject]) List of internal properties             
+        """
         super(HierarchicalObject, self).__init__()
 
         self._internal_properties = None
diff --git a/sdk/AsposeEmailCloudSdk/models/hierarchical_object_request.py b/sdk/AsposeEmailCloudSdk/models/hierarchical_object_request.py
index aa1ebb3..413cf7c 100644
--- a/sdk/AsposeEmailCloudSdk/models/hierarchical_object_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/hierarchical_object_request.py
@@ -56,7 +56,11 @@ class HierarchicalObjectRequest(object):
     }
 
     def __init__(self, hierarchical_object: HierarchicalObject = None, storage_folder: StorageFolderLocation = None):
-        """HierarchicalObjectRequest - a model defined in Swagger"""
+        """
+        Object represented as hierarchical properties request             
+        :param hierarchical_object (HierarchicalObject) Hierarchical properties of document             
+        :param storage_folder (StorageFolderLocation) Document location in storage             
+        """
 
         self._hierarchical_object = None
         self._storage_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/hierarchical_object_response.py b/sdk/AsposeEmailCloudSdk/models/hierarchical_object_response.py
index 2ecb3f3..092f6e9 100644
--- a/sdk/AsposeEmailCloudSdk/models/hierarchical_object_response.py
+++ b/sdk/AsposeEmailCloudSdk/models/hierarchical_object_response.py
@@ -56,7 +56,11 @@ class HierarchicalObjectResponse(object):
     }
 
     def __init__(self, hierarchical_object: HierarchicalObject = None, storage_file: StorageFileLocation = None):
-        """HierarchicalObjectResponse - a model defined in Swagger"""
+        """
+        Document represented as hierarchical set of properties response             
+        :param hierarchical_object (HierarchicalObject) Document properties             
+        :param storage_file (StorageFileLocation) Document location in storage             
+        """
 
         self._hierarchical_object = None
         self._storage_file = None
diff --git a/sdk/AsposeEmailCloudSdk/models/indexed_hierarchical_object.py b/sdk/AsposeEmailCloudSdk/models/indexed_hierarchical_object.py
index f846b87..3660a09 100644
--- a/sdk/AsposeEmailCloudSdk/models/indexed_hierarchical_object.py
+++ b/sdk/AsposeEmailCloudSdk/models/indexed_hierarchical_object.py
@@ -59,7 +59,13 @@ class IndexedHierarchicalObject(BaseObject):
     }
 
     def __init__(self, name: str = None, type: str = None, index: int = None, internal_properties: List[BaseObject] = None):
-        """IndexedHierarchicalObject - a model defined in Swagger"""
+        """
+        Indexed hierarchical property             
+        :param name (str) Gets or sets the name of an object.             
+        :param type (str) Property type. Used for deserialization purposes             
+        :param index (int) Index of property in list             
+        :param internal_properties (List[BaseObject]) List of internal properties             
+        """
         super(IndexedHierarchicalObject, self).__init__()
 
         self._index = None
diff --git a/sdk/AsposeEmailCloudSdk/models/indexed_primitive_object.py b/sdk/AsposeEmailCloudSdk/models/indexed_primitive_object.py
index 35af533..7738a42 100644
--- a/sdk/AsposeEmailCloudSdk/models/indexed_primitive_object.py
+++ b/sdk/AsposeEmailCloudSdk/models/indexed_primitive_object.py
@@ -59,7 +59,13 @@ class IndexedPrimitiveObject(BaseObject):
     }
 
     def __init__(self, name: str = None, type: str = None, index: int = None, value: str = None):
-        """IndexedPrimitiveObject - a model defined in Swagger"""
+        """
+        Simple indexed property             
+        :param name (str) Gets or sets the name of an object.             
+        :param type (str) Property type. Used for deserialization purposes             
+        :param index (int) Index of property in list             
+        :param value (str) Gets or sets the name of a property.             
+        """
         super(IndexedPrimitiveObject, self).__init__()
 
         self._index = None
diff --git a/sdk/AsposeEmailCloudSdk/models/instant_messenger_address.py b/sdk/AsposeEmailCloudSdk/models/instant_messenger_address.py
index 131e052..18ebc34 100644
--- a/sdk/AsposeEmailCloudSdk/models/instant_messenger_address.py
+++ b/sdk/AsposeEmailCloudSdk/models/instant_messenger_address.py
@@ -57,7 +57,12 @@ class InstantMessengerAddress(object):
     }
 
     def __init__(self, category: EnumWithCustomOfInstantMessengerCategory = None, address: str = None, preferred: bool = None):
-        """InstantMessengerAddress - a model defined in Swagger"""
+        """
+        Instant messenger address.             
+        :param category (EnumWithCustomOfInstantMessengerCategory) Address category.             
+        :param address (str) Address.             
+        :param preferred (bool) Determines whether this address is preferred.             
+        """
 
         self._category = None
         self._address = None
diff --git a/sdk/AsposeEmailCloudSdk/models/link.py b/sdk/AsposeEmailCloudSdk/models/link.py
index 3c464f7..ee22b4b 100644
--- a/sdk/AsposeEmailCloudSdk/models/link.py
+++ b/sdk/AsposeEmailCloudSdk/models/link.py
@@ -57,7 +57,13 @@ class Link(object):
     }
 
     def __init__(self, href: str = None, rel: str = None, type: str = None, title: str = None):
-        """Link - a model defined in Swagger"""
+        """
+        Provides information for the object link. This is supposed to be an atom:link, therefore it should have all attributes specified here http://tools.ietf.org/html/rfc4287#section-4.2.7             
+        :param href (str) The \"href\" attribute contains the link's IRI. atom:link elements MUST have an href attribute, whose value MUST be a IRI reference             
+        :param rel (str) atom:link elements MAY have a \"rel\" attribute that indicates the link relation type.  If the \"rel\" attribute is not present, the link element MUST be interpreted as if the link relation type is \"alternate\".             
+        :param type (str) On the link element, the \"type\" attribute's value is an advisory media type: it is a hint about the type of the representation that is expected to be returned when the value of the href attribute is dereferenced.  Note that the type attribute does not override the actual media type returned with the representation.             
+        :param title (str) The \"title\" attribute conveys human-readable information about the link.  The content of the \"title\" attribute is Language-Sensitive.             
+        """
 
         self._href = None
         self._rel = None
diff --git a/sdk/AsposeEmailCloudSdk/models/linked_resource.py b/sdk/AsposeEmailCloudSdk/models/linked_resource.py
index 12b7eb5..4550465 100644
--- a/sdk/AsposeEmailCloudSdk/models/linked_resource.py
+++ b/sdk/AsposeEmailCloudSdk/models/linked_resource.py
@@ -62,7 +62,14 @@ class LinkedResource(AttachmentBase):
     }
 
     def __init__(self, base64_data: str = None, content_id: str = None, content_type: ContentType = None, headers: Dict[str, str] = None, content_link: str = None):
-        """LinkedResource - a model defined in Swagger"""
+        """
+        Represents an embedded resource in a message.             
+        :param base64_data (str) Attachment file content as Base64 string.             
+        :param content_id (str) Attachment content id             
+        :param content_type (ContentType) Content type             
+        :param headers (Dict[str, str]) Attachment headers.             
+        :param content_link (str) URI that the resource must match.             
+        """
         super(LinkedResource, self).__init__()
 
         self._content_link = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_bcr_ocr_data.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_bcr_ocr_data.py
index 0d8da29..5962374 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_bcr_ocr_data.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_bcr_ocr_data.py
@@ -53,7 +53,10 @@ class ListResponseOfAiBcrOcrData(object):
     }
 
     def __init__(self, value: List[AiBcrOcrData] = None):
-        """ListResponseOfAiBcrOcrData - a model defined in Swagger"""
+        """
+        
+        :param value (List[AiBcrOcrData]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_component.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_component.py
index 93f269a..ea463d6 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_component.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_component.py
@@ -53,7 +53,10 @@ class ListResponseOfAiNameComponent(object):
     }
 
     def __init__(self, value: List[AiNameComponent] = None):
-        """ListResponseOfAiNameComponent - a model defined in Swagger"""
+        """
+        
+        :param value (List[AiNameComponent]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_extracted.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_extracted.py
index a54d71f..b34a73f 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_extracted.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_extracted.py
@@ -53,7 +53,10 @@ class ListResponseOfAiNameExtracted(object):
     }
 
     def __init__(self, value: List[AiNameExtracted] = None):
-        """ListResponseOfAiNameExtracted - a model defined in Swagger"""
+        """
+        
+        :param value (List[AiNameExtracted]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_gender_hypothesis.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_gender_hypothesis.py
index b60dd2f..4a84dbc 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_gender_hypothesis.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_ai_name_gender_hypothesis.py
@@ -53,7 +53,10 @@ class ListResponseOfAiNameGenderHypothesis(object):
     }
 
     def __init__(self, value: List[AiNameGenderHypothesis] = None):
-        """ListResponseOfAiNameGenderHypothesis - a model defined in Swagger"""
+        """
+        
+        :param value (List[AiNameGenderHypothesis]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_contact_dto.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_contact_dto.py
index e88619e..f585c9d 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_contact_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_contact_dto.py
@@ -53,7 +53,10 @@ class ListResponseOfContactDto(object):
     }
 
     def __init__(self, value: List[ContactDto] = None):
-        """ListResponseOfContactDto - a model defined in Swagger"""
+        """
+        
+        :param value (List[ContactDto]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py
index a25f957..cd8f2d1 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_email_account_config.py
@@ -57,7 +57,10 @@ class ListResponseOfEmailAccountConfig(object):
     }
 
     def __init__(self, value: List[EmailAccountConfig] = None):
-        """ListResponseOfEmailAccountConfig - a model defined in Swagger"""
+        """
+        
+        :param value (List[EmailAccountConfig]) 
+        """
 
         self._value = None
         self.discriminator = 'Type'
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_email_dto.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_email_dto.py
index 4e26100..6b72fcb 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_email_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_email_dto.py
@@ -53,7 +53,10 @@ class ListResponseOfEmailDto(object):
     }
 
     def __init__(self, value: List[EmailDto] = None):
-        """ListResponseOfEmailDto - a model defined in Swagger"""
+        """
+        
+        :param value (List[EmailDto]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object.py
index 4a56dc5..fb99d55 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object.py
@@ -53,7 +53,10 @@ class ListResponseOfHierarchicalObject(object):
     }
 
     def __init__(self, value: List[HierarchicalObject] = None):
-        """ListResponseOfHierarchicalObject - a model defined in Swagger"""
+        """
+        
+        :param value (List[HierarchicalObject]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object_response.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object_response.py
index e029d34..0b7bf41 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object_response.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_hierarchical_object_response.py
@@ -53,7 +53,10 @@ class ListResponseOfHierarchicalObjectResponse(object):
     }
 
     def __init__(self, value: List[HierarchicalObjectResponse] = None):
-        """ListResponseOfHierarchicalObjectResponse - a model defined in Swagger"""
+        """
+        
+        :param value (List[HierarchicalObjectResponse]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_mail_server_folder.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_mail_server_folder.py
index 4e04056..9373f86 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_mail_server_folder.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_mail_server_folder.py
@@ -53,7 +53,10 @@ class ListResponseOfMailServerFolder(object):
     }
 
     def __init__(self, value: List[MailServerFolder] = None):
-        """ListResponseOfMailServerFolder - a model defined in Swagger"""
+        """
+        
+        :param value (List[MailServerFolder]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_file_location.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_file_location.py
index 13ae0ea..4e23158 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_file_location.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_file_location.py
@@ -53,7 +53,10 @@ class ListResponseOfStorageFileLocation(object):
     }
 
     def __init__(self, value: List[StorageFileLocation] = None):
-        """ListResponseOfStorageFileLocation - a model defined in Swagger"""
+        """
+        
+        :param value (List[StorageFileLocation]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_calendar_dto.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_calendar_dto.py
index a481769..2a8691e 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_calendar_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_calendar_dto.py
@@ -57,7 +57,10 @@ class ListResponseOfStorageModelOfCalendarDto(object):
     }
 
     def __init__(self, value: List[StorageModelOfCalendarDto] = None):
-        """ListResponseOfStorageModelOfCalendarDto - a model defined in Swagger"""
+        """
+        
+        :param value (List[StorageModelOfCalendarDto]) 
+        """
 
         self._value = None
         self.discriminator = 'Type'
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_contact_dto.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_contact_dto.py
index ae8a14f..206fdc1 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_contact_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_contact_dto.py
@@ -57,7 +57,10 @@ class ListResponseOfStorageModelOfContactDto(object):
     }
 
     def __init__(self, value: List[StorageModelOfContactDto] = None):
-        """ListResponseOfStorageModelOfContactDto - a model defined in Swagger"""
+        """
+        
+        :param value (List[StorageModelOfContactDto]) 
+        """
 
         self._value = None
         self.discriminator = 'Type'
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_email_dto.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_email_dto.py
index ddc37ab..ece97b2 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_email_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_storage_model_of_email_dto.py
@@ -57,7 +57,10 @@ class ListResponseOfStorageModelOfEmailDto(object):
     }
 
     def __init__(self, value: List[StorageModelOfEmailDto] = None):
-        """ListResponseOfStorageModelOfEmailDto - a model defined in Swagger"""
+        """
+        
+        :param value (List[StorageModelOfEmailDto]) 
+        """
 
         self._value = None
         self.discriminator = 'Type'
diff --git a/sdk/AsposeEmailCloudSdk/models/list_response_of_string.py b/sdk/AsposeEmailCloudSdk/models/list_response_of_string.py
index 43a91b4..477ea77 100644
--- a/sdk/AsposeEmailCloudSdk/models/list_response_of_string.py
+++ b/sdk/AsposeEmailCloudSdk/models/list_response_of_string.py
@@ -51,7 +51,10 @@ class ListResponseOfString(object):
     }
 
     def __init__(self, value: List[str] = None):
-        """ListResponseOfString - a model defined in Swagger"""
+        """
+        
+        :param value (List[str]) 
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/mail_address.py b/sdk/AsposeEmailCloudSdk/models/mail_address.py
index b81b794..6be6d36 100644
--- a/sdk/AsposeEmailCloudSdk/models/mail_address.py
+++ b/sdk/AsposeEmailCloudSdk/models/mail_address.py
@@ -55,7 +55,12 @@ class MailAddress(object):
     }
 
     def __init__(self, display_name: str = None, address: str = None, participation_status: str = None):
-        """MailAddress - a model defined in Swagger"""
+        """
+        Represents the address of a message.
+        :param display_name (str) Display name             
+        :param address (str) Address             
+        :param participation_status (str) Identifies the participation status for the calendar user. Enum, available values: NeedsAction, Accepted, Declined, Tentative, Delegated
+        """
 
         self._display_name = None
         self._address = None
diff --git a/sdk/AsposeEmailCloudSdk/models/mail_server_folder.py b/sdk/AsposeEmailCloudSdk/models/mail_server_folder.py
index 2abb74c..5c87ae7 100644
--- a/sdk/AsposeEmailCloudSdk/models/mail_server_folder.py
+++ b/sdk/AsposeEmailCloudSdk/models/mail_server_folder.py
@@ -53,7 +53,11 @@ class MailServerFolder(object):
     }
 
     def __init__(self, name: str = None, id: str = None):
-        """MailServerFolder - a model defined in Swagger"""
+        """
+        Email account folder             
+        :param name (str) Gets or sets mail folder name             
+        :param id (str) Gets or sets mail folder id             
+        """
 
         self._name = None
         self._id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/mime_response.py b/sdk/AsposeEmailCloudSdk/models/mime_response.py
index c77b967..292d176 100644
--- a/sdk/AsposeEmailCloudSdk/models/mime_response.py
+++ b/sdk/AsposeEmailCloudSdk/models/mime_response.py
@@ -51,7 +51,10 @@ class MimeResponse(object):
     }
 
     def __init__(self, mime: str = None):
-        """MimeResponse - a model defined in Swagger"""
+        """
+        Email document property DTO.             
+        :param mime (str) Gets or sets base64 encoded mime content.             
+        """
 
         self._mime = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/name_value_pair.py b/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
index 6d2f14b..4597aec 100644
--- a/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
+++ b/sdk/AsposeEmailCloudSdk/models/name_value_pair.py
@@ -32,7 +32,7 @@
 
 
 class NameValuePair(object):
-    """An extended property.
+    """
     """
 
     """
@@ -53,7 +53,11 @@ class NameValuePair(object):
     }
 
     def __init__(self, value: str = None, name: str = None):
-        """NameValuePair - a model defined in Swagger"""
+        """
+        
+        :param value (str) 
+        :param name (str) 
+        """
 
         self._value = None
         self._name = None
@@ -68,7 +72,6 @@ def __init__(self, value: str = None, name: str = None):
     def value(self) -> str:
         """Gets the value of this NameValuePair.
 
-        Name of the property 
 
         :return: The value of this NameValuePair.
         :rtype: str
@@ -79,7 +82,6 @@ def value(self) -> str:
     def value(self, value: str):
         """Sets the value of this NameValuePair.
 
-        Name of the property 
 
         :param value: The value of this NameValuePair.
         :type: str
@@ -90,7 +92,6 @@ def value(self, value: str):
     def name(self) -> str:
         """Gets the name of this NameValuePair.
 
-        Value of the property
 
         :return: The name of this NameValuePair.
         :rtype: str
@@ -101,7 +102,6 @@ def name(self) -> str:
     def name(self, name: str):
         """Sets the name of this NameValuePair.
 
-        Value of the property
 
         :param name: The name of this NameValuePair.
         :type: str
diff --git a/sdk/AsposeEmailCloudSdk/models/object_exist.py b/sdk/AsposeEmailCloudSdk/models/object_exist.py
index 0374f41..6f67c1d 100644
--- a/sdk/AsposeEmailCloudSdk/models/object_exist.py
+++ b/sdk/AsposeEmailCloudSdk/models/object_exist.py
@@ -53,7 +53,11 @@ class ObjectExist(object):
     }
 
     def __init__(self, exists: bool = None, is_folder: bool = None):
-        """ObjectExist - a model defined in Swagger"""
+        """
+        Object exists
+        :param exists (bool) Indicates that the file or folder exists.
+        :param is_folder (bool) True if it is a folder, false if it is a file.
+        """
 
         self._exists = None
         self._is_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/phone_number.py b/sdk/AsposeEmailCloudSdk/models/phone_number.py
index bc9cc8c..af39109 100644
--- a/sdk/AsposeEmailCloudSdk/models/phone_number.py
+++ b/sdk/AsposeEmailCloudSdk/models/phone_number.py
@@ -57,7 +57,12 @@ class PhoneNumber(object):
     }
 
     def __init__(self, category: EnumWithCustomOfPhoneNumberCategory = None, number: str = None, preferred: bool = None):
-        """PhoneNumber - a model defined in Swagger"""
+        """
+        A phone number.             
+        :param category (EnumWithCustomOfPhoneNumberCategory) Phone number category.             
+        :param number (str) Phone number.             
+        :param preferred (bool) Defines whether phone number is preferred.             
+        """
 
         self._category = None
         self._number = None
diff --git a/sdk/AsposeEmailCloudSdk/models/postal_address.py b/sdk/AsposeEmailCloudSdk/models/postal_address.py
index 36f9563..4dfc069 100644
--- a/sdk/AsposeEmailCloudSdk/models/postal_address.py
+++ b/sdk/AsposeEmailCloudSdk/models/postal_address.py
@@ -73,7 +73,20 @@ class PostalAddress(object):
     }
 
     def __init__(self, address: str = None, category: EnumWithCustomOfPostalAddressCategory = None, city: str = None, country: str = None, country_code: str = None, is_mailing_address: bool = None, postal_code: str = None, post_office_box: str = None, preferred: bool = None, state_or_province: str = None, street: str = None):
-        """PostalAddress - a model defined in Swagger"""
+        """
+        A postal address             
+        :param address (str) Address.             
+        :param category (EnumWithCustomOfPostalAddressCategory) Address category.             
+        :param city (str) Address's city.             
+        :param country (str) Address's country.             
+        :param country_code (str) Country code.             
+        :param is_mailing_address (bool) Defines whether address may be used for mailing.             
+        :param postal_code (str) Postal code.             
+        :param post_office_box (str) Post Office box.             
+        :param preferred (bool) Defines whether postal address is preferred.             
+        :param state_or_province (str) Address's region.             
+        :param street (str) Address's street.             
+        """
 
         self._address = None
         self._category = None
diff --git a/sdk/AsposeEmailCloudSdk/models/primitive_object.py b/sdk/AsposeEmailCloudSdk/models/primitive_object.py
index 64f758f..3e67112 100644
--- a/sdk/AsposeEmailCloudSdk/models/primitive_object.py
+++ b/sdk/AsposeEmailCloudSdk/models/primitive_object.py
@@ -57,7 +57,12 @@ class PrimitiveObject(BaseObject):
     }
 
     def __init__(self, name: str = None, type: str = None, value: str = None):
-        """PrimitiveObject - a model defined in Swagger"""
+        """
+        Simple property object             
+        :param name (str) Gets or sets the name of an object.             
+        :param type (str) Property type. Used for deserialization purposes             
+        :param value (str) Property value             
+        """
         super(PrimitiveObject, self).__init__()
 
         self._value = None
diff --git a/sdk/AsposeEmailCloudSdk/models/reminder_attendee.py b/sdk/AsposeEmailCloudSdk/models/reminder_attendee.py
index 1d1ad8c..bf0345e 100644
--- a/sdk/AsposeEmailCloudSdk/models/reminder_attendee.py
+++ b/sdk/AsposeEmailCloudSdk/models/reminder_attendee.py
@@ -51,7 +51,10 @@ class ReminderAttendee(object):
     }
 
     def __init__(self, address: str = None):
-        """ReminderAttendee - a model defined in Swagger"""
+        """
+        Defines an \&quot;Attendee\&quot; within a alarm.
+        :param address (str) Contains the email address.
+        """
 
         self._address = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/reminder_trigger.py b/sdk/AsposeEmailCloudSdk/models/reminder_trigger.py
index 962a4b4..d027f05 100644
--- a/sdk/AsposeEmailCloudSdk/models/reminder_trigger.py
+++ b/sdk/AsposeEmailCloudSdk/models/reminder_trigger.py
@@ -55,7 +55,12 @@ class ReminderTrigger(object):
     }
 
     def __init__(self, date_time: datetime = None, duration: int = None, related: str = None):
-        """ReminderTrigger - a model defined in Swagger"""
+        """
+        Specifies when an alarm will trigger.
+        :param date_time (datetime) A trigger set to an absolute date/time.
+        :param duration (int) Specifies a relative time in ticks for the trigger of the alarm.             
+        :param related (str) Specify the relationship of the alarm trigger with respect to the start or end of the event. Enum, available values: Start, End
+        """
 
         self._date_time = None
         self._duration = None
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/add_calendar_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/add_calendar_attachment_request.py
index 9beb904..2c69ba0 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/add_calendar_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/add_calendar_attachment_request.py
@@ -41,6 +41,15 @@ class AddCalendarAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, name: str, attachment: str, request: AddAttachmentRequest):
+        """
+        Request model for add_calendar_attachment operation.
+        Initializes a new instance.
+
+        :param name (str) Calendar file name in storage
+        :param attachment (str) Attachment file name in storage
+        :param request (AddAttachmentRequest) Storage name and folder path for calendar and attachment files
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.attachment = attachment
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/add_contact_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/add_contact_attachment_request.py
index 0214bea..1ad9006 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/add_contact_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/add_contact_attachment_request.py
@@ -42,6 +42,16 @@ class AddContactAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, attachment: str, request: AddAttachmentRequest):
+        """
+        Request model for add_contact_attachment operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name
+        :param attachment (str) Attachment name
+        :param request (AddAttachmentRequest) Add attachment request
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/add_email_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/add_email_attachment_request.py
index d68b81a..665ea80 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/add_email_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/add_email_attachment_request.py
@@ -41,6 +41,15 @@ class AddEmailAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, attachment_name: str, file_name: str, request: AddAttachmentRequest):
+        """
+        Request model for add_email_attachment operation.
+        Initializes a new instance.
+
+        :param attachment_name (str) Attachment file name
+        :param file_name (str) Email document file name
+        :param request (AddAttachmentRequest) Storage info to specify location of email document and attachment files
+        """
+
         BaseRequest.__init__(self)
         self.attachment_name = attachment_name
         self.file_name = file_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/add_mapi_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/add_mapi_attachment_request.py
index 07dac45..9265f1c 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/add_mapi_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/add_mapi_attachment_request.py
@@ -41,6 +41,15 @@ class AddMapiAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, name: str, attachment: str, request: AddAttachmentRequest):
+        """
+        Request model for add_mapi_attachment operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param attachment (str) Attachment file name
+        :param request (AddAttachmentRequest) Add attachment request
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.attachment = attachment
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_request.py
index f1f9848..4d38856 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_request.py
@@ -39,6 +39,13 @@ class AiBcrOcrRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiBcrBase64Rq):
+        """
+        Request model for ai_bcr_ocr operation.
+        Initializes a new instance.
+
+        :param rq (AiBcrBase64Rq) Request with base64 images data
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_storage_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_storage_request.py
index 682eb8b..b773c9d 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_storage_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_ocr_storage_request.py
@@ -39,6 +39,13 @@ class AiBcrOcrStorageRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiBcrStorageImageRq):
+        """
+        Request model for ai_bcr_ocr_storage operation.
+        Initializes a new instance.
+
+        :param rq (AiBcrStorageImageRq) Request with images located on storage
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_model_request.py
index 36cc9da..d2556f9 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_model_request.py
@@ -39,6 +39,13 @@ class AiBcrParseModelRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiBcrBase64Rq):
+        """
+        Request model for ai_bcr_parse_model operation.
+        Initializes a new instance.
+
+        :param rq (AiBcrBase64Rq) Request with base64 images data
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_ocr_data_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_ocr_data_model_request.py
index 7477ae5..33bbea4 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_ocr_data_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_ocr_data_model_request.py
@@ -39,6 +39,13 @@ class AiBcrParseOcrDataModelRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiBcrParseOcrDataRq):
+        """
+        Request model for ai_bcr_parse_ocr_data_model operation.
+        Initializes a new instance.
+
+        :param rq (AiBcrParseOcrDataRq) 
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_request.py
index 0d9a955..c0062a7 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_request.py
@@ -39,6 +39,13 @@ class AiBcrParseRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiBcrBase64Rq):
+        """
+        Request model for ai_bcr_parse operation.
+        Initializes a new instance.
+
+        :param rq (AiBcrBase64Rq) Request with base64 images data
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_storage_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_storage_request.py
index 9ab7752..ff61e22 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_storage_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_bcr_parse_storage_request.py
@@ -39,6 +39,13 @@ class AiBcrParseStorageRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiBcrParseStorageRq):
+        """
+        Request model for ai_bcr_parse_storage operation.
+        Initializes a new instance.
+
+        :param rq (AiBcrParseStorageRq) Request with images located on storage
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_complete_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_complete_request.py
index cc40548..1b4d98c 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_complete_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_complete_request.py
@@ -44,6 +44,18 @@ class AiNameCompleteRequest(BaseRequest):
     """
 
     def __init__(self, name: str, language: str = None, location: str = None, encoding: str = None, script: str = None, style: str = None):
+        """
+        Request model for ai_name_complete operation.
+        Initializes a new instance.
+
+        :param name (str) A name to complete (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.language = language
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_parsed_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_parsed_request.py
index e694eb4..f697398 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_parsed_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_parsed_request.py
@@ -39,6 +39,13 @@ class AiNameExpandParsedRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiNameParsedRq):
+        """
+        Request model for ai_name_expand_parsed operation.
+        Initializes a new instance.
+
+        :param rq (AiNameParsedRq) Parsed name with options
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_request.py
index a68f3b5..f6385dd 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_expand_request.py
@@ -44,6 +44,18 @@ class AiNameExpandRequest(BaseRequest):
     """
 
     def __init__(self, name: str, language: str = None, location: str = None, encoding: str = None, script: str = None, style: str = None):
+        """
+        Request model for ai_name_expand operation.
+        Initializes a new instance.
+
+        :param name (str) A name to format (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.language = language
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_parsed_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_parsed_request.py
index 91fa0a3..463c17a 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_parsed_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_parsed_request.py
@@ -39,6 +39,13 @@ class AiNameFormatParsedRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiNameParsedRq):
+        """
+        Request model for ai_name_format_parsed operation.
+        Initializes a new instance.
+
+        :param rq (AiNameParsedRq) Parsed name with options
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_request.py
index c99bee8..b41841e 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_format_request.py
@@ -45,6 +45,19 @@ class AiNameFormatRequest(BaseRequest):
     """
 
     def __init__(self, name: str, language: str = None, location: str = None, encoding: str = None, script: str = None, format: str = None, style: str = None):
+        """
+        Request model for ai_name_format operation.
+        Initializes a new instance.
+
+        :param name (str) A name to format (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param format (str) Format of the name. Predefined format can be used by ID, or custom format can be specified. Predefined formats:      /format/default/ (= '%t%F%m%N%L%p')     /format/FN+LN/ (= '%F%L')     /format/title+FN+LN/ (= '%t%F%L')     /format/FN+MN+LN/ (= '%F%M%N%L')     /format/title+FN+MN+LN/ (= '%t%F%M%N%L')     /format/FN+MI+LN/ (= '%F%m%N%L')     /format/title+FN+MI+LN/ (= '%t%F%m%N%L')     /format/LN/ (= '%L')     /format/title+LN/ (= '%t%L')     /format/LN+FN+MN/ (= '%L,%F%M%N')     /format/LN+title+FN+MN/ (= '%L,%t%F%M%N')     /format/LN+FN+MI/ (= '%L,%F%m%N')     /format/LN+title+FN+MI/ (= '%L,%t%F%m%N')  Custom format string - custom combination of characters and the next term placeholders:      '%t' - Title (prefix)     '%F' - First name     '%f' - First initial     '%M' - Middle name(s)     '%m' - Middle initial(s)     '%N' - Nickname     '%L' - Last name     '%l' - Last initial     '%p' - Postfix  If no value for format option was provided, its default value is '%t%F%m%N%L%p'             
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.language = language
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_parsed_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_parsed_request.py
index 5cd6abf..0d04887 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_parsed_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_parsed_request.py
@@ -39,6 +39,13 @@ class AiNameGenderizeParsedRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiNameParsedRq):
+        """
+        Request model for ai_name_genderize_parsed operation.
+        Initializes a new instance.
+
+        :param rq (AiNameParsedRq) Gender detection request data
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_request.py
index c3023ca..bebe9be 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_genderize_request.py
@@ -44,6 +44,18 @@ class AiNameGenderizeRequest(BaseRequest):
     """
 
     def __init__(self, name: str, language: str = None, location: str = None, encoding: str = None, script: str = None, style: str = None):
+        """
+        Request model for ai_name_genderize operation.
+        Initializes a new instance.
+
+        :param name (str) A name to parse (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.language = language
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_parsed_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_parsed_request.py
index b0cee96..9027a8c 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_parsed_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_parsed_request.py
@@ -39,6 +39,13 @@ class AiNameMatchParsedRequest(BaseRequest):
     """
 
     def __init__(self, rq: AiNameParsedMatchRq):
+        """
+        Request model for ai_name_match_parsed operation.
+        Initializes a new instance.
+
+        :param rq (AiNameParsedMatchRq) Parsed names to match
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_request.py
index f3e788b..5bd17e0 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_match_request.py
@@ -45,6 +45,19 @@ class AiNameMatchRequest(BaseRequest):
     """
 
     def __init__(self, name: str, other_name: str, language: str = None, location: str = None, encoding: str = None, script: str = None, style: str = None):
+        """
+        Request model for ai_name_match operation.
+        Initializes a new instance.
+
+        :param name (str) A name to match (required)
+        :param other_name (str) Another name to match (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.other_name = other_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_email_address_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_email_address_request.py
index b3a76e2..fc70afb 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_email_address_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_email_address_request.py
@@ -44,6 +44,18 @@ class AiNameParseEmailAddressRequest(BaseRequest):
     """
 
     def __init__(self, email_address: str, language: str = None, location: str = None, encoding: str = None, script: str = None, style: str = None):
+        """
+        Request model for ai_name_parse_email_address operation.
+        Initializes a new instance.
+
+        :param email_address (str) Email address to parse (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param style (str) Name writing style. Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.email_address = email_address
         self.language = language
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_request.py b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_request.py
index 26db814..04df2e5 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/ai_name_parse_request.py
@@ -44,6 +44,18 @@ class AiNameParseRequest(BaseRequest):
     """
 
     def __init__(self, name: str, language: str = None, location: str = None, encoding: str = None, script: str = None, style: str = None):
+        """
+        Request model for ai_name_parse operation.
+        Initializes a new instance.
+
+        :param name (str) A name to parse (required)
+        :param language (str) An ISO-639 code of the language; either 639-1 or 639-3 (e.g. \"it\" or \"ita\" for Italian)
+        :param location (str) A geographic code such as an ISO-3166 two letter country code, for example \"FR\" for France
+        :param encoding (str) A character encoding name
+        :param script (str) A writing system code; starts with the ISO-15924 script name
+        :param style (str) Name writing style Enum, available values: Formal, Informal, Legal, Academic
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.language = language
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/append_email_message_request.py b/sdk/AsposeEmailCloudSdk/models/requests/append_email_message_request.py
index 8f7d4f5..86ab6b5 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/append_email_message_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/append_email_message_request.py
@@ -39,6 +39,13 @@ class AppendEmailMessageRequest(BaseRequest):
     """
 
     def __init__(self, request: AppendEmailBaseRequest):
+        """
+        Request model for append_email_message operation.
+        Initializes a new instance.
+
+        :param request (AppendEmailBaseRequest) Append email request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/append_email_model_message_request.py b/sdk/AsposeEmailCloudSdk/models/requests/append_email_model_message_request.py
index c569f81..12967b9 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/append_email_model_message_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/append_email_model_message_request.py
@@ -39,6 +39,13 @@ class AppendEmailModelMessageRequest(BaseRequest):
     """
 
     def __init__(self, rq: AppendEmailModelRq):
+        """
+        Request model for append_email_model_message operation.
+        Initializes a new instance.
+
+        :param rq (AppendEmailModelRq) Append email request
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/append_mime_message_request.py b/sdk/AsposeEmailCloudSdk/models/requests/append_mime_message_request.py
index e643acb..432eeee 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/append_mime_message_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/append_mime_message_request.py
@@ -39,6 +39,13 @@ class AppendMimeMessageRequest(BaseRequest):
     """
 
     def __init__(self, request: AppendEmailMimeBaseRequest):
+        """
+        Request model for append_mime_message operation.
+        Initializes a new instance.
+
+        :param request (AppendEmailMimeBaseRequest) Append email request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/convert_calendar_model_to_alternate_request.py b/sdk/AsposeEmailCloudSdk/models/requests/convert_calendar_model_to_alternate_request.py
index bea37a0..ed19f33 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/convert_calendar_model_to_alternate_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/convert_calendar_model_to_alternate_request.py
@@ -39,6 +39,13 @@ class ConvertCalendarModelToAlternateRequest(BaseRequest):
     """
 
     def __init__(self, rq: CalendarDtoAlternateRq):
+        """
+        Request model for convert_calendar_model_to_alternate operation.
+        Initializes a new instance.
+
+        :param rq (CalendarDtoAlternateRq) iCalendar to AlternateView request
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/convert_email_request.py b/sdk/AsposeEmailCloudSdk/models/requests/convert_email_request.py
index 06069ec..ff8811e 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/convert_email_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/convert_email_request.py
@@ -40,6 +40,14 @@ class ConvertEmailRequest(BaseRequest):
     """
 
     def __init__(self, format: str, file: str):
+        """
+        Request model for convert_email operation.
+        Initializes a new instance.
+
+        :param format (str) File format Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html
+        :param file (str) File to upload
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.file = file
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/copy_file_request.py b/sdk/AsposeEmailCloudSdk/models/requests/copy_file_request.py
index c608e6d..e163c8f 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/copy_file_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/copy_file_request.py
@@ -43,6 +43,17 @@ class CopyFileRequest(BaseRequest):
     """
 
     def __init__(self, src_path: str, dest_path: str, src_storage_name: str = None, dest_storage_name: str = None, version_id: str = None):
+        """
+        Request model for copy_file operation.
+        Initializes a new instance.
+
+        :param src_path (str) Source file path e.g. '/folder/file.ext'
+        :param dest_path (str) Destination file path
+        :param src_storage_name (str) Source storage name
+        :param dest_storage_name (str) Destination storage name
+        :param version_id (str) File version ID to copy
+        """
+
         BaseRequest.__init__(self)
         self.src_path = src_path
         self.dest_path = dest_path
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/copy_folder_request.py b/sdk/AsposeEmailCloudSdk/models/requests/copy_folder_request.py
index 5e13b4c..d6e6ce9 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/copy_folder_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/copy_folder_request.py
@@ -42,6 +42,16 @@ class CopyFolderRequest(BaseRequest):
     """
 
     def __init__(self, src_path: str, dest_path: str, src_storage_name: str = None, dest_storage_name: str = None):
+        """
+        Request model for copy_folder operation.
+        Initializes a new instance.
+
+        :param src_path (str) Source folder path e.g. '/src'
+        :param dest_path (str) Destination folder path e.g. '/dst'
+        :param src_storage_name (str) Source storage name
+        :param dest_storage_name (str) Destination storage name
+        """
+
         BaseRequest.__init__(self)
         self.src_path = src_path
         self.dest_path = dest_path
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/create_calendar_request.py b/sdk/AsposeEmailCloudSdk/models/requests/create_calendar_request.py
index 5929d13..78ab9ff 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/create_calendar_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/create_calendar_request.py
@@ -40,6 +40,14 @@ class CreateCalendarRequest(BaseRequest):
     """
 
     def __init__(self, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for create_calendar operation.
+        Initializes a new instance.
+
+        :param name (str) Calendar file name in storage
+        :param request (HierarchicalObjectRequest) 
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.request = request
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/create_contact_request.py b/sdk/AsposeEmailCloudSdk/models/requests/create_contact_request.py
index f57441d..7f7c1b3 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/create_contact_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/create_contact_request.py
@@ -41,6 +41,15 @@ class CreateContactRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for create_contact operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name
+        :param request (HierarchicalObjectRequest) Create contact request
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/create_email_folder_request.py b/sdk/AsposeEmailCloudSdk/models/requests/create_email_folder_request.py
index a9454c1..4712337 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/create_email_folder_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/create_email_folder_request.py
@@ -39,6 +39,13 @@ class CreateEmailFolderRequest(BaseRequest):
     """
 
     def __init__(self, request: CreateFolderBaseRequest):
+        """
+        Request model for create_email_folder operation.
+        Initializes a new instance.
+
+        :param request (CreateFolderBaseRequest) Create folder request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/create_email_request.py b/sdk/AsposeEmailCloudSdk/models/requests/create_email_request.py
index 1a672bb..1f3d10c 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/create_email_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/create_email_request.py
@@ -40,6 +40,14 @@ class CreateEmailRequest(BaseRequest):
     """
 
     def __init__(self, file_name: str, request: CreateEmailRequest):
+        """
+        Request model for create_email operation.
+        Initializes a new instance.
+
+        :param file_name (str) Email document file name in storage
+        :param request (CreateEmailRequest) An email document and optional Storage info to specify where the file should be located
+        """
+
         BaseRequest.__init__(self)
         self.file_name = file_name
         self.request = request
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/create_folder_request.py b/sdk/AsposeEmailCloudSdk/models/requests/create_folder_request.py
index 6d2dd77..544969f 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/create_folder_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/create_folder_request.py
@@ -40,6 +40,14 @@ class CreateFolderRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None):
+        """
+        Request model for create_folder operation.
+        Initializes a new instance.
+
+        :param path (str) Folder path to create e.g. 'folder_1/folder_2/'
+        :param storage_name (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/create_mapi_request.py b/sdk/AsposeEmailCloudSdk/models/requests/create_mapi_request.py
index 30e07c1..abb7800 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/create_mapi_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/create_mapi_request.py
@@ -40,6 +40,14 @@ class CreateMapiRequest(BaseRequest):
     """
 
     def __init__(self, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for create_mapi operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param request (HierarchicalObjectRequest) Create document request
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.request = request
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_calendar_property_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_calendar_property_request.py
index 75b12dc..de0fe17 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_calendar_property_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_calendar_property_request.py
@@ -42,6 +42,16 @@ class DeleteCalendarPropertyRequest(BaseRequest):
     """
 
     def __init__(self, name: str, member_name: str, index: str, request: StorageFolderLocation):
+        """
+        Request model for delete_calendar_property operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar file name in storage
+        :param member_name (str) Indexed property name
+        :param index (str) Property index path
+        :param request (StorageFolderLocation) Storage detail to specify iCalendar file location
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.member_name = member_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_contact_property_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_contact_property_request.py
index 73dde23..1f42a72 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_contact_property_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_contact_property_request.py
@@ -43,6 +43,17 @@ class DeleteContactPropertyRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, member_name: str, index: int, folder: StorageFolderLocation):
+        """
+        Request model for delete_contact_property operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name
+        :param member_name (str) Indexed property name
+        :param index (int) Property index
+        :param folder (StorageFolderLocation) Calendar document location in storage information
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_email_folder_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_email_folder_request.py
index 6f4a837..df57cf2 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_email_folder_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_email_folder_request.py
@@ -39,6 +39,13 @@ class DeleteEmailFolderRequest(BaseRequest):
     """
 
     def __init__(self, request: DeleteFolderBaseRequest):
+        """
+        Request model for delete_email_folder operation.
+        Initializes a new instance.
+
+        :param request (DeleteFolderBaseRequest) Delete folder request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_email_message_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_email_message_request.py
index 9fb9dfc..15090d2 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_email_message_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_email_message_request.py
@@ -39,6 +39,13 @@ class DeleteEmailMessageRequest(BaseRequest):
     """
 
     def __init__(self, request: DeleteMessageBaseRequest):
+        """
+        Request model for delete_email_message operation.
+        Initializes a new instance.
+
+        :param request (DeleteMessageBaseRequest) Delete message request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_file_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_file_request.py
index 3af9f23..24f1281 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_file_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_file_request.py
@@ -41,6 +41,15 @@ class DeleteFileRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None, version_id: str = None):
+        """
+        Request model for delete_file operation.
+        Initializes a new instance.
+
+        :param path (str) File path e.g. '/folder/file.ext'
+        :param storage_name (str) Storage name
+        :param version_id (str) File version ID to delete
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_folder_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_folder_request.py
index 02537d7..512bb44 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_folder_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_folder_request.py
@@ -41,6 +41,15 @@ class DeleteFolderRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None, recursive: bool = None):
+        """
+        Request model for delete_folder operation.
+        Initializes a new instance.
+
+        :param path (str) Folder path e.g. '/folder'
+        :param storage_name (str) Storage name
+        :param recursive (bool) Enable to delete folders, subfolders and files
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_attachment_request.py
index 2ecd4f4..33139df 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_attachment_request.py
@@ -41,6 +41,15 @@ class DeleteMapiAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, name: str, attachment: str, storage: StorageFolderLocation):
+        """
+        Request model for delete_mapi_attachment operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param attachment (str) Attachment name or index
+        :param storage (StorageFolderLocation) Document file storage location info
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.attachment = attachment
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_properties_request.py b/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_properties_request.py
index 0903dbb..f1e9ad3 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_properties_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/delete_mapi_properties_request.py
@@ -40,6 +40,14 @@ class DeleteMapiPropertiesRequest(BaseRequest):
     """
 
     def __init__(self, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for delete_mapi_properties operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param request (HierarchicalObjectRequest) Properties that should be deleted
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.request = request
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py
index 93462c2..29c5189 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_oauth_request.py
@@ -39,6 +39,13 @@ class DiscoverEmailConfigOauthRequest(BaseRequest):
     """
 
     def __init__(self, rq: DiscoverEmailConfigOauth):
+        """
+        Request model for discover_email_config_oauth operation.
+        Initializes a new instance.
+
+        :param rq (DiscoverEmailConfigOauth) Discover email configuration request.
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py
index 97646b8..356f46b 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_password_request.py
@@ -39,6 +39,13 @@ class DiscoverEmailConfigPasswordRequest(BaseRequest):
     """
 
     def __init__(self, rq: DiscoverEmailConfigPassword):
+        """
+        Request model for discover_email_config_password operation.
+        Initializes a new instance.
+
+        :param rq (DiscoverEmailConfigPassword) Discover email configuration request.
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py
index e787196..7c6fa81 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/discover_email_config_request.py
@@ -40,6 +40,14 @@ class DiscoverEmailConfigRequest(BaseRequest):
     """
 
     def __init__(self, address: str, fast_processing: bool = None):
+        """
+        Request model for discover_email_config operation.
+        Initializes a new instance.
+
+        :param address (str) Email address
+        :param fast_processing (bool) Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned             
+        """
+
         BaseRequest.__init__(self)
         self.address = address
         self.fast_processing = fast_processing
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/download_file_request.py b/sdk/AsposeEmailCloudSdk/models/requests/download_file_request.py
index 8a0ba30..87d88ae 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/download_file_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/download_file_request.py
@@ -41,6 +41,15 @@ class DownloadFileRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None, version_id: str = None):
+        """
+        Request model for download_file operation.
+        Initializes a new instance.
+
+        :param path (str) File path e.g. '/folder/file.ext'
+        :param storage_name (str) Storage name
+        :param version_id (str) File version ID to download
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_message_request.py b/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_message_request.py
index 7ea6155..ac72ad8 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_message_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_message_request.py
@@ -43,6 +43,17 @@ class FetchEmailMessageRequest(BaseRequest):
     """
 
     def __init__(self, message_id: str, first_account: str, second_account: str = None, storage: str = None, storage_folder: str = None):
+        """
+        Request model for fetch_email_message operation.
+        Initializes a new instance.
+
+        :param message_id (str) Message identifier
+        :param first_account (str) Email account
+        :param second_account (str) Additional email account (should be specified for POP/IMAP accounts and should be SMTP account)             
+        :param storage (str) Storage name where account file(s) located
+        :param storage_folder (str) Folder in storage where account file(s) located
+        """
+
         BaseRequest.__init__(self)
         self.message_id = message_id
         self.first_account = first_account
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_model_request.py
index 7d7d8cb..0d21549 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/fetch_email_model_request.py
@@ -43,6 +43,17 @@ class FetchEmailModelRequest(BaseRequest):
     """
 
     def __init__(self, message_id: str, first_account: str, second_account: str = None, storage: str = None, storage_folder: str = None):
+        """
+        Request model for fetch_email_model operation.
+        Initializes a new instance.
+
+        :param message_id (str) Message identifier
+        :param first_account (str) Email account
+        :param second_account (str) Additional email account (should be specified for POP/IMAP accounts and should be SMTP account)             
+        :param storage (str) Storage name where account file(s) located
+        :param storage_folder (str) Folder in storage where account file(s) located
+        """
+
         BaseRequest.__init__(self)
         self.message_id = message_id
         self.first_account = first_account
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_attachment_request.py
index 3b2af69..4154fd2 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_attachment_request.py
@@ -42,6 +42,16 @@ class GetCalendarAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, name: str, attachment: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_calendar_attachment operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar document file name
+        :param attachment (str) Attachment name or index
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.attachment = attachment
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_list_request.py
index 6d8ae6c..fd56972 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_list_request.py
@@ -42,6 +42,16 @@ class GetCalendarListRequest(BaseRequest):
     """
 
     def __init__(self, folder: str, items_per_page: int, page_number: int, storage: str = None):
+        """
+        Request model for get_calendar_list operation.
+        Initializes a new instance.
+
+        :param folder (str) Path to folder in storage
+        :param items_per_page (int) Count of items on page
+        :param page_number (int) Page number
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.folder = folder
         self.items_per_page = items_per_page
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_as_alternate_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_as_alternate_request.py
index 057ef6e..916edf3 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_as_alternate_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_as_alternate_request.py
@@ -43,6 +43,17 @@ class GetCalendarModelAsAlternateRequest(BaseRequest):
     """
 
     def __init__(self, name: str, calendar_action: str, sequence_id: str = None, folder: str = None, storage: str = None):
+        """
+        Request model for get_calendar_model_as_alternate operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar file name in storage
+        :param calendar_action (str) iCalendar method type Enum, available values: Create, Update, Cancel
+        :param sequence_id (str) The sequence id
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.calendar_action = calendar_action
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_list_request.py
index 721d499..a62707f 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_list_request.py
@@ -42,6 +42,16 @@ class GetCalendarModelListRequest(BaseRequest):
     """
 
     def __init__(self, folder: str, items_per_page: int = None, page_number: int = None, storage: str = None):
+        """
+        Request model for get_calendar_model_list operation.
+        Initializes a new instance.
+
+        :param folder (str) Path to folder in storage
+        :param items_per_page (int) Count of items on page
+        :param page_number (int) Page number
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.folder = folder
         self.items_per_page = items_per_page
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_request.py
index 8a991ff..245611b 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_model_request.py
@@ -41,6 +41,15 @@ class GetCalendarModelRequest(BaseRequest):
     """
 
     def __init__(self, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_calendar_model operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar file name in storage
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_request.py
index 4c6292e..a204306 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_calendar_request.py
@@ -41,6 +41,15 @@ class GetCalendarRequest(BaseRequest):
     """
 
     def __init__(self, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_calendar operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar file name in storage
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_attachment_request.py
index b16cbe8..01b2138 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_attachment_request.py
@@ -43,6 +43,17 @@ class GetContactAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, attachment: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_contact_attachment operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format. Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name
+        :param attachment (str) Attachment name or index
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_list_request.py
index 681ba39..dc348cf 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_list_request.py
@@ -43,6 +43,17 @@ class GetContactListRequest(BaseRequest):
     """
 
     def __init__(self, format: str, folder: str = None, storage: str = None, items_per_page: int = None, page_number: int = None):
+        """
+        Request model for get_contact_list operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format. Enum, available values: VCard, WebDav, Msg
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        :param items_per_page (int) Count of items on page
+        :param page_number (int) Page number
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_list_request.py
index 9baa7fa..e4acf34 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_list_request.py
@@ -43,6 +43,17 @@ class GetContactModelListRequest(BaseRequest):
     """
 
     def __init__(self, format: str, folder: str = None, storage: str = None, items_per_page: int = None, page_number: int = None):
+        """
+        Request model for get_contact_model_list operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format. Enum, available values: VCard, WebDav, Msg
+        :param folder (str) Path to folder in storage.
+        :param storage (str) Storage name.
+        :param items_per_page (int) Count of items on page.
+        :param page_number (int) Page number.
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_request.py
index bacc565..21ff4b3 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_model_request.py
@@ -42,6 +42,16 @@ class GetContactModelRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_contact_model operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format. Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name.
+        :param folder (str) Path to folder in storage.
+        :param storage (str) Storage name.
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_properties_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_properties_request.py
index 6ecfce4..b57539a 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_contact_properties_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_contact_properties_request.py
@@ -42,6 +42,16 @@ class GetContactPropertiesRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_contact_properties operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format. Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_disc_usage_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_disc_usage_request.py
index abbca41..c8c0426 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_disc_usage_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_disc_usage_request.py
@@ -39,6 +39,13 @@ class GetDiscUsageRequest(BaseRequest):
     """
 
     def __init__(self, storage_name: str = None):
+        """
+        Request model for get_disc_usage operation.
+        Initializes a new instance.
+
+        :param storage_name (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.storage_name = storage_name
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_email_as_file_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_email_as_file_request.py
index d747e8b..4c01fb3 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_email_as_file_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_email_as_file_request.py
@@ -42,6 +42,16 @@ class GetEmailAsFileRequest(BaseRequest):
     """
 
     def __init__(self, file_name: str, format: str, storage: str = None, folder: str = None):
+        """
+        Request model for get_email_as_file operation.
+        Initializes a new instance.
+
+        :param file_name (str) Email document file name
+        :param format (str) File format Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html
+        :param storage (str) Storage name
+        :param folder (str) Path to folder in storage
+        """
+
         BaseRequest.__init__(self)
         self.file_name = file_name
         self.format = format
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_email_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_email_attachment_request.py
index 2c34ab9..5cf83fe 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_email_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_email_attachment_request.py
@@ -42,6 +42,16 @@ class GetEmailAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, attachment: str, file_name: str, storage: str = None, folder: str = None):
+        """
+        Request model for get_email_attachment operation.
+        Initializes a new instance.
+
+        :param attachment (str) Attachment name
+        :param file_name (str) Email document file name
+        :param storage (str) Storage name
+        :param folder (str) Path to folder in storage
+        """
+
         BaseRequest.__init__(self)
         self.attachment = attachment
         self.file_name = file_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_list_request.py
index aee1f9a..a6bb1fd 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_list_request.py
@@ -43,6 +43,17 @@ class GetEmailModelListRequest(BaseRequest):
     """
 
     def __init__(self, format: str, folder: str = None, storage: str = None, items_per_page: int = None, page_number: int = None):
+        """
+        Request model for get_email_model_list operation.
+        Initializes a new instance.
+
+        :param format (str) Email document format. Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html
+        :param folder (str) Path to folder in storage.
+        :param storage (str) Storage name.
+        :param items_per_page (int) Count of items on page.
+        :param page_number (int) Page number.
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_request.py
index 4a04d30..5f22c9d 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_email_model_request.py
@@ -42,6 +42,16 @@ class GetEmailModelRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_email_model operation.
+        Initializes a new instance.
+
+        :param format (str) Email document format. Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html
+        :param name (str) Email document file name.
+        :param folder (str) Path to folder in storage.
+        :param storage (str) Storage name.
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_email_property_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_email_property_request.py
index f1990bd..5e2ca9e 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_email_property_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_email_property_request.py
@@ -42,6 +42,16 @@ class GetEmailPropertyRequest(BaseRequest):
     """
 
     def __init__(self, property_name: str, file_name: str, storage: str = None, folder: str = None):
+        """
+        Request model for get_email_property operation.
+        Initializes a new instance.
+
+        :param property_name (str) A property name
+        :param file_name (str) Email document file name
+        :param storage (str) Storage name
+        :param folder (str) Path to folder in storage
+        """
+
         BaseRequest.__init__(self)
         self.property_name = property_name
         self.file_name = file_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_email_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_email_request.py
index 38b6f2a..5bf2d37 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_email_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_email_request.py
@@ -41,6 +41,15 @@ class GetEmailRequest(BaseRequest):
     """
 
     def __init__(self, file_name: str, storage: str = None, folder: str = None):
+        """
+        Request model for get_email operation.
+        Initializes a new instance.
+
+        :param file_name (str) Email document file name in storage
+        :param storage (str) Storage name
+        :param folder (str) Path to folder in storage
+        """
+
         BaseRequest.__init__(self)
         self.file_name = file_name
         self.storage = storage
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_file_versions_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_file_versions_request.py
index 8e9321e..0c5ba5f 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_file_versions_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_file_versions_request.py
@@ -40,6 +40,14 @@ class GetFileVersionsRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None):
+        """
+        Request model for get_file_versions operation.
+        Initializes a new instance.
+
+        :param path (str) File path e.g. '/file.ext'
+        :param storage_name (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_files_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_files_list_request.py
index affcb11..2912f3d 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_files_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_files_list_request.py
@@ -40,6 +40,14 @@ class GetFilesListRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None):
+        """
+        Request model for get_files_list operation.
+        Initializes a new instance.
+
+        :param path (str) Folder path e.g. '/folder'
+        :param storage_name (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachment_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachment_request.py
index f2ca127..2ebfb44 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachment_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachment_request.py
@@ -42,6 +42,16 @@ class GetMapiAttachmentRequest(BaseRequest):
     """
 
     def __init__(self, name: str, attachment: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_mapi_attachment operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param attachment (str) Attachment name or index
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.attachment = attachment
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachments_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachments_request.py
index 7cb8884..fa13d13 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachments_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_attachments_request.py
@@ -41,6 +41,15 @@ class GetMapiAttachmentsRequest(BaseRequest):
     """
 
     def __init__(self, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_mapi_attachments operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_list_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_list_request.py
index 8bf3a7f..a60d9c8 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_list_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_list_request.py
@@ -42,6 +42,16 @@ class GetMapiListRequest(BaseRequest):
     """
 
     def __init__(self, folder: str = None, storage: str = None, items_per_page: int = None, page_number: int = None):
+        """
+        Request model for get_mapi_list operation.
+        Initializes a new instance.
+
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        :param items_per_page (int) Count of items on page
+        :param page_number (int) Page number
+        """
+
         BaseRequest.__init__(self)
         self.folder = folder
         self.storage = storage
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_properties_request.py b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_properties_request.py
index 38eb97c..5798343 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_properties_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/get_mapi_properties_request.py
@@ -41,6 +41,15 @@ class GetMapiPropertiesRequest(BaseRequest):
     """
 
     def __init__(self, name: str, folder: str = None, storage: str = None):
+        """
+        Request model for get_mapi_properties operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param folder (str) Path to folder in storage
+        :param storage (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.folder = folder
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/list_email_folders_request.py b/sdk/AsposeEmailCloudSdk/models/requests/list_email_folders_request.py
index 3e006db..7098732 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/list_email_folders_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/list_email_folders_request.py
@@ -43,6 +43,17 @@ class ListEmailFoldersRequest(BaseRequest):
     """
 
     def __init__(self, first_account: str, second_account: str = None, storage: str = None, storage_folder: str = None, parent_folder: str = None):
+        """
+        Request model for list_email_folders operation.
+        Initializes a new instance.
+
+        :param first_account (str) Email account
+        :param second_account (str) Additional email account (should be specified for POP/IMAP accounts and should be SMTP account)             
+        :param storage (str) Storage name where account file(s) located
+        :param storage_folder (str) Folder in storage where account file(s) located
+        :param parent_folder (str) Folder in which subfolders should be listed
+        """
+
         BaseRequest.__init__(self)
         self.first_account = first_account
         self.second_account = second_account
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/list_email_messages_request.py b/sdk/AsposeEmailCloudSdk/models/requests/list_email_messages_request.py
index c9f4777..9fe116c 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/list_email_messages_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/list_email_messages_request.py
@@ -45,6 +45,19 @@ class ListEmailMessagesRequest(BaseRequest):
     """
 
     def __init__(self, folder: str, query_string: str, first_account: str, second_account: str = None, storage: str = None, storage_folder: str = None, recursive: bool = None):
+        """
+        Request model for list_email_messages operation.
+        Initializes a new instance.
+
+        :param folder (str) A folder in email account
+        :param query_string (str) A MailQuery search string
+        :param first_account (str) Email account
+        :param second_account (str) Additional email account (should be specified for POP/IMAP accounts and should be SMTP account)             
+        :param storage (str) Storage name where account file(s) located
+        :param storage_folder (str) Folder in storage where account file(s) located
+        :param recursive (bool) Specifies that should message be searched in subfolders recursively
+        """
+
         BaseRequest.__init__(self)
         self.folder = folder
         self.query_string = query_string
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/list_email_models_request.py b/sdk/AsposeEmailCloudSdk/models/requests/list_email_models_request.py
index f45cb83..1dd5bd9 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/list_email_models_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/list_email_models_request.py
@@ -45,6 +45,19 @@ class ListEmailModelsRequest(BaseRequest):
     """
 
     def __init__(self, folder: str, query_string: str, first_account: str, second_account: str = None, storage: str = None, storage_folder: str = None, recursive: bool = None):
+        """
+        Request model for list_email_models operation.
+        Initializes a new instance.
+
+        :param folder (str) A folder in email account
+        :param query_string (str) A MailQuery search string
+        :param first_account (str) Email account
+        :param second_account (str) Additional email account (should be specified for POP/IMAP accounts and should be SMTP account)             
+        :param storage (str) Storage name where account file(s) located
+        :param storage_folder (str) Folder in storage where account file(s) located
+        :param recursive (bool) Specifies that should message be searched in subfolders recursively
+        """
+
         BaseRequest.__init__(self)
         self.folder = folder
         self.query_string = query_string
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/move_file_request.py b/sdk/AsposeEmailCloudSdk/models/requests/move_file_request.py
index 54500b2..ede2fe0 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/move_file_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/move_file_request.py
@@ -43,6 +43,17 @@ class MoveFileRequest(BaseRequest):
     """
 
     def __init__(self, src_path: str, dest_path: str, src_storage_name: str = None, dest_storage_name: str = None, version_id: str = None):
+        """
+        Request model for move_file operation.
+        Initializes a new instance.
+
+        :param src_path (str) Source file path e.g. '/src.ext'
+        :param dest_path (str) Destination file path e.g. '/dest.ext'
+        :param src_storage_name (str) Source storage name
+        :param dest_storage_name (str) Destination storage name
+        :param version_id (str) File version ID to move
+        """
+
         BaseRequest.__init__(self)
         self.src_path = src_path
         self.dest_path = dest_path
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/move_folder_request.py b/sdk/AsposeEmailCloudSdk/models/requests/move_folder_request.py
index c46fe11..e4ac899 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/move_folder_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/move_folder_request.py
@@ -42,6 +42,16 @@ class MoveFolderRequest(BaseRequest):
     """
 
     def __init__(self, src_path: str, dest_path: str, src_storage_name: str = None, dest_storage_name: str = None):
+        """
+        Request model for move_folder operation.
+        Initializes a new instance.
+
+        :param src_path (str) Folder path to move e.g. '/folder'
+        :param dest_path (str) Destination folder path to move to e.g '/dst'
+        :param src_storage_name (str) Source storage name
+        :param dest_storage_name (str) Destination storage name
+        """
+
         BaseRequest.__init__(self)
         self.src_path = src_path
         self.dest_path = dest_path
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/object_exists_request.py b/sdk/AsposeEmailCloudSdk/models/requests/object_exists_request.py
index bf6a83b..f555b04 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/object_exists_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/object_exists_request.py
@@ -41,6 +41,15 @@ class ObjectExistsRequest(BaseRequest):
     """
 
     def __init__(self, path: str, storage_name: str = None, version_id: str = None):
+        """
+        Request model for object_exists operation.
+        Initializes a new instance.
+
+        :param path (str) File or folder path e.g. '/file.ext' or '/folder'
+        :param storage_name (str) Storage name
+        :param version_id (str) File version ID
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.storage_name = storage_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/save_calendar_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/save_calendar_model_request.py
index 0ed3f20..95a99ed 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/save_calendar_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/save_calendar_model_request.py
@@ -40,6 +40,14 @@ class SaveCalendarModelRequest(BaseRequest):
     """
 
     def __init__(self, name: str, rq: StorageModelRqOfCalendarDto):
+        """
+        Request model for save_calendar_model operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar file name in storage
+        :param rq (StorageModelRqOfCalendarDto) Calendar properties update request
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.rq = rq
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/save_contact_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/save_contact_model_request.py
index 0682cc9..b9f47ca 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/save_contact_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/save_contact_model_request.py
@@ -41,6 +41,15 @@ class SaveContactModelRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, rq: StorageModelRqOfContactDto):
+        """
+        Request model for save_contact_model operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format. Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name.
+        :param rq (StorageModelRqOfContactDto) Create contact request.
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/save_email_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/save_email_model_request.py
index 91bf529..9b8938f 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/save_email_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/save_email_model_request.py
@@ -41,6 +41,15 @@ class SaveEmailModelRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, rq: StorageModelRqOfEmailDto):
+        """
+        Request model for save_email_model operation.
+        Initializes a new instance.
+
+        :param format (str) File format. Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html
+        :param name (str) iCalendar file name in storage.
+        :param rq (StorageModelRqOfEmailDto) Calendar properties update request.
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/save_mail_account_request.py b/sdk/AsposeEmailCloudSdk/models/requests/save_mail_account_request.py
index 370db36..e6a4298 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/save_mail_account_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/save_mail_account_request.py
@@ -39,6 +39,13 @@ class SaveMailAccountRequest(BaseRequest):
     """
 
     def __init__(self, request: SaveEmailAccountRequest):
+        """
+        Request model for save_mail_account operation.
+        Initializes a new instance.
+
+        :param request (SaveEmailAccountRequest) Email account information
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/save_mail_o_auth_account_request.py b/sdk/AsposeEmailCloudSdk/models/requests/save_mail_o_auth_account_request.py
index 7a60678..50778e6 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/save_mail_o_auth_account_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/save_mail_o_auth_account_request.py
@@ -39,6 +39,13 @@ class SaveMailOAuthAccountRequest(BaseRequest):
     """
 
     def __init__(self, request: SaveOAuthEmailAccountRequest):
+        """
+        Request model for save_mail_o_auth_account operation.
+        Initializes a new instance.
+
+        :param request (SaveOAuthEmailAccountRequest) Email account information
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/send_email_mime_request.py b/sdk/AsposeEmailCloudSdk/models/requests/send_email_mime_request.py
index b1ff4b0..9ecac66 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/send_email_mime_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/send_email_mime_request.py
@@ -39,6 +39,13 @@ class SendEmailMimeRequest(BaseRequest):
     """
 
     def __init__(self, request: SendEmailMimeBaseRequest):
+        """
+        Request model for send_email_mime operation.
+        Initializes a new instance.
+
+        :param request (SendEmailMimeBaseRequest) Send email request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/send_email_model_request.py b/sdk/AsposeEmailCloudSdk/models/requests/send_email_model_request.py
index d7ad16b..325749d 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/send_email_model_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/send_email_model_request.py
@@ -39,6 +39,13 @@ class SendEmailModelRequest(BaseRequest):
     """
 
     def __init__(self, rq: SendEmailModelRq):
+        """
+        Request model for send_email_model operation.
+        Initializes a new instance.
+
+        :param rq (SendEmailModelRq) Send email request
+        """
+
         BaseRequest.__init__(self)
         self.rq = rq
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/send_email_request.py b/sdk/AsposeEmailCloudSdk/models/requests/send_email_request.py
index d746bcd..b927e53 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/send_email_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/send_email_request.py
@@ -39,6 +39,13 @@ class SendEmailRequest(BaseRequest):
     """
 
     def __init__(self, request: SendEmailBaseRequest):
+        """
+        Request model for send_email operation.
+        Initializes a new instance.
+
+        :param request (SendEmailBaseRequest) Send email request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/set_email_property_request.py b/sdk/AsposeEmailCloudSdk/models/requests/set_email_property_request.py
index 1e92f7d..3807ff3 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/set_email_property_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/set_email_property_request.py
@@ -41,6 +41,15 @@ class SetEmailPropertyRequest(BaseRequest):
     """
 
     def __init__(self, property_name: str, file_name: str, request: SetEmailPropertyRequest):
+        """
+        Request model for set_email_property operation.
+        Initializes a new instance.
+
+        :param property_name (str) A property name that should be changed
+        :param file_name (str) Email document file name
+        :param request (SetEmailPropertyRequest) A property that should be changed and optional Storage info to specify where the file located             
+        """
+
         BaseRequest.__init__(self)
         self.property_name = property_name
         self.file_name = file_name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/set_email_read_flag_request.py b/sdk/AsposeEmailCloudSdk/models/requests/set_email_read_flag_request.py
index 5af21ae..f367c03 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/set_email_read_flag_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/set_email_read_flag_request.py
@@ -39,6 +39,13 @@ class SetEmailReadFlagRequest(BaseRequest):
     """
 
     def __init__(self, request: SetMessageReadFlagAccountBaseRequest):
+        """
+        Request model for set_email_read_flag operation.
+        Initializes a new instance.
+
+        :param request (SetMessageReadFlagAccountBaseRequest) Message is read request
+        """
+
         BaseRequest.__init__(self)
         self.request = request
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/storage_exists_request.py b/sdk/AsposeEmailCloudSdk/models/requests/storage_exists_request.py
index 05eaa3f..646abfe 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/storage_exists_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/storage_exists_request.py
@@ -39,6 +39,13 @@ class StorageExistsRequest(BaseRequest):
     """
 
     def __init__(self, storage_name: str):
+        """
+        Request model for storage_exists operation.
+        Initializes a new instance.
+
+        :param storage_name (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.storage_name = storage_name
 
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/update_calendar_properties_request.py b/sdk/AsposeEmailCloudSdk/models/requests/update_calendar_properties_request.py
index af7c8b9..61baa46 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/update_calendar_properties_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/update_calendar_properties_request.py
@@ -40,6 +40,14 @@ class UpdateCalendarPropertiesRequest(BaseRequest):
     """
 
     def __init__(self, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for update_calendar_properties operation.
+        Initializes a new instance.
+
+        :param name (str) iCalendar file name in storage
+        :param request (HierarchicalObjectRequest) Calendar properties update request
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.request = request
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/update_contact_properties_request.py b/sdk/AsposeEmailCloudSdk/models/requests/update_contact_properties_request.py
index 8103b36..46428d1 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/update_contact_properties_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/update_contact_properties_request.py
@@ -41,6 +41,15 @@ class UpdateContactPropertiesRequest(BaseRequest):
     """
 
     def __init__(self, format: str, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for update_contact_properties operation.
+        Initializes a new instance.
+
+        :param format (str) Contact document format Enum, available values: VCard, WebDav, Msg
+        :param name (str) Contact document file name
+        :param request (HierarchicalObjectRequest) Properties that should be updated/added
+        """
+
         BaseRequest.__init__(self)
         self.format = format
         self.name = name
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/update_mapi_properties_request.py b/sdk/AsposeEmailCloudSdk/models/requests/update_mapi_properties_request.py
index 5f0368d..cc23da4 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/update_mapi_properties_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/update_mapi_properties_request.py
@@ -40,6 +40,14 @@ class UpdateMapiPropertiesRequest(BaseRequest):
     """
 
     def __init__(self, name: str, request: HierarchicalObjectRequest):
+        """
+        Request model for update_mapi_properties operation.
+        Initializes a new instance.
+
+        :param name (str) Document file name
+        :param request (HierarchicalObjectRequest) Properties that should be updated/added
+        """
+
         BaseRequest.__init__(self)
         self.name = name
         self.request = request
diff --git a/sdk/AsposeEmailCloudSdk/models/requests/upload_file_request.py b/sdk/AsposeEmailCloudSdk/models/requests/upload_file_request.py
index cae451a..1e39e17 100644
--- a/sdk/AsposeEmailCloudSdk/models/requests/upload_file_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/requests/upload_file_request.py
@@ -41,6 +41,15 @@ class UploadFileRequest(BaseRequest):
     """
 
     def __init__(self, path: str, file: str, storage_name: str = None):
+        """
+        Request model for upload_file operation.
+        Initializes a new instance.
+
+        :param path (str) Path where to upload including filename and extension e.g. /file.ext or /Folder 1/file.ext             If the content is multipart and path does not contains the file name it tries to get them from filename parameter             from Content-Disposition header.             
+        :param file (str) File to upload
+        :param storage_name (str) Storage name
+        """
+
         BaseRequest.__init__(self)
         self.path = path
         self.file = file
diff --git a/sdk/AsposeEmailCloudSdk/models/save_email_account_request.py b/sdk/AsposeEmailCloudSdk/models/save_email_account_request.py
index de4b0a4..fb46857 100644
--- a/sdk/AsposeEmailCloudSdk/models/save_email_account_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/save_email_account_request.py
@@ -68,7 +68,17 @@ class SaveEmailAccountRequest(EmailAccountRequest):
     }
 
     def __init__(self, host: str = None, port: int = None, login: str = None, security_options: str = None, protocol_type: str = None, description: str = None, storage_file: StorageFileLocation = None, password: str = None):
-        """SaveEmailAccountRequest - a model defined in Swagger"""
+        """
+        Save email account settings with login/password authentication request             
+        :param host (str) Email account host             
+        :param port (int) Email account port             
+        :param login (str) Email account login             
+        :param security_options (str) Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        :param protocol_type (str) Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
+        :param description (str) Email account description             
+        :param storage_file (StorageFileLocation) A storage file location info to store email account             
+        :param password (str) Email account password             
+        """
         super(SaveEmailAccountRequest, self).__init__()
 
         self._password = None
diff --git a/sdk/AsposeEmailCloudSdk/models/save_o_auth_email_account_request.py b/sdk/AsposeEmailCloudSdk/models/save_o_auth_email_account_request.py
index dd43097..0748ea3 100644
--- a/sdk/AsposeEmailCloudSdk/models/save_o_auth_email_account_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/save_o_auth_email_account_request.py
@@ -72,7 +72,19 @@ class SaveOAuthEmailAccountRequest(EmailAccountRequest):
     }
 
     def __init__(self, host: str = None, port: int = None, login: str = None, security_options: str = None, protocol_type: str = None, description: str = None, storage_file: StorageFileLocation = None, client_id: str = None, client_secret: str = None, refresh_token: str = None):
-        """SaveOAuthEmailAccountRequest - a model defined in Swagger"""
+        """
+        Save email account settings with OAuth request             
+        :param host (str) Email account host             
+        :param port (int) Email account port             
+        :param login (str) Email account login             
+        :param security_options (str) Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
+        :param protocol_type (str) Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
+        :param description (str) Email account description             
+        :param storage_file (StorageFileLocation) A storage file location info to store email account             
+        :param client_id (str) OAuth client identifier             
+        :param client_secret (str) OAuth client secret             
+        :param refresh_token (str) OAuth refresh token             
+        """
         super(SaveOAuthEmailAccountRequest, self).__init__()
 
         self._client_id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/send_email_base_request.py b/sdk/AsposeEmailCloudSdk/models/send_email_base_request.py
index fb86d89..efc5a69 100644
--- a/sdk/AsposeEmailCloudSdk/models/send_email_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/send_email_base_request.py
@@ -61,7 +61,13 @@ class SendEmailBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, email_file: StorageFileLocation = None):
-        """SendEmailBaseRequest - a model defined in Swagger"""
+        """
+        Send email file request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param email_file (StorageFileLocation) Email document (*.eml) file location in storage             
+        """
         super(SendEmailBaseRequest, self).__init__()
 
         self._email_file = None
diff --git a/sdk/AsposeEmailCloudSdk/models/send_email_mime_base_request.py b/sdk/AsposeEmailCloudSdk/models/send_email_mime_base_request.py
index 948fec6..1dc943c 100644
--- a/sdk/AsposeEmailCloudSdk/models/send_email_mime_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/send_email_mime_base_request.py
@@ -60,7 +60,13 @@ class SendEmailMimeBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, base64_mime_message: str = None):
-        """SendEmailMimeBaseRequest - a model defined in Swagger"""
+        """
+        Send email MIME request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param base64_mime_message (str) Email document serialized as MIME             
+        """
         super(SendEmailMimeBaseRequest, self).__init__()
 
         self._base64_mime_message = None
diff --git a/sdk/AsposeEmailCloudSdk/models/send_email_model_rq.py b/sdk/AsposeEmailCloudSdk/models/send_email_model_rq.py
index 6b4cfe0..0fb7c57 100644
--- a/sdk/AsposeEmailCloudSdk/models/send_email_model_rq.py
+++ b/sdk/AsposeEmailCloudSdk/models/send_email_model_rq.py
@@ -61,7 +61,13 @@ class SendEmailModelRq(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, message: EmailDto = None):
-        """SendEmailModelRq - a model defined in Swagger"""
+        """
+        Send email model request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param message (EmailDto) Message to send             
+        """
         super(SendEmailModelRq, self).__init__()
 
         self._message = None
diff --git a/sdk/AsposeEmailCloudSdk/models/set_email_property_request.py b/sdk/AsposeEmailCloudSdk/models/set_email_property_request.py
index 7ebe220..f497c08 100644
--- a/sdk/AsposeEmailCloudSdk/models/set_email_property_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/set_email_property_request.py
@@ -56,7 +56,11 @@ class SetEmailPropertyRequest(object):
     }
 
     def __init__(self, email_property: EmailProperty = None, storage_folder: StorageFolderLocation = None):
-        """SetEmailPropertyRequest - a model defined in Swagger"""
+        """
+        Update email document property request             
+        :param email_property (EmailProperty) An email property that should be updated             
+        :param storage_folder (StorageFolderLocation) An email document location in storage             
+        """
 
         self._email_property = None
         self._storage_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/set_message_read_flag_account_base_request.py b/sdk/AsposeEmailCloudSdk/models/set_message_read_flag_account_base_request.py
index 22dde8d..0d083f7 100644
--- a/sdk/AsposeEmailCloudSdk/models/set_message_read_flag_account_base_request.py
+++ b/sdk/AsposeEmailCloudSdk/models/set_message_read_flag_account_base_request.py
@@ -62,7 +62,14 @@ class SetMessageReadFlagAccountBaseRequest(AccountBaseRequest):
     }
 
     def __init__(self, first_account: str = None, second_account: str = None, storage_folder: StorageFolderLocation = None, message_id: str = None, is_read: bool = None):
-        """SetMessageReadFlagAccountBaseRequest - a model defined in Swagger"""
+        """
+        Set message is read request             
+        :param first_account (str) First account storage file name for receiving emails (or universal one)             
+        :param second_account (str) Second account storage file name for sending emails (ignored if first is universal)             
+        :param storage_folder (StorageFolderLocation) Storage folder location of account files             
+        :param message_id (str) Message identifier             
+        :param is_read (bool) Specifies that message should be marked read or unread             
+        """
         super(SetMessageReadFlagAccountBaseRequest, self).__init__()
 
         self._message_id = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_exist.py b/sdk/AsposeEmailCloudSdk/models/storage_exist.py
index 9a57abd..55fd4e2 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_exist.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_exist.py
@@ -51,7 +51,10 @@ class StorageExist(object):
     }
 
     def __init__(self, exists: bool = None):
-        """StorageExist - a model defined in Swagger"""
+        """
+        Storage exists
+        :param exists (bool) Shows that the storage exists.             
+        """
 
         self._exists = None
         self.discriminator = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_file.py b/sdk/AsposeEmailCloudSdk/models/storage_file.py
index 4eaaacd..aa206f1 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_file.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_file.py
@@ -63,7 +63,14 @@ class StorageFile(object):
     }
 
     def __init__(self, name: str = None, is_folder: bool = None, modified_date: datetime = None, size: int = None, path: str = None):
-        """StorageFile - a model defined in Swagger"""
+        """
+        File or folder information
+        :param name (str) File or folder name.
+        :param is_folder (bool) True if it is a folder.
+        :param modified_date (datetime) File or folder last modified DateTime.
+        :param size (int) File or folder size.
+        :param path (str) File or folder path.
+        """
 
         self._name = None
         self._is_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_file_location.py b/sdk/AsposeEmailCloudSdk/models/storage_file_location.py
index c3ae483..e58a452 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_file_location.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_file_location.py
@@ -57,7 +57,12 @@ class StorageFileLocation(StorageFolderLocation):
     }
 
     def __init__(self, storage: str = None, folder_path: str = None, file_name: str = None):
-        """StorageFileLocation - a model defined in Swagger"""
+        """
+        A storage file location information             
+        :param storage (str) A storage name             
+        :param folder_path (str) A path to a folder in specified storage             
+        :param file_name (str) A file name in storage             
+        """
         super(StorageFileLocation, self).__init__()
 
         self._file_name = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_folder_location.py b/sdk/AsposeEmailCloudSdk/models/storage_folder_location.py
index 9ec6bf4..203525a 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_folder_location.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_folder_location.py
@@ -57,7 +57,11 @@ class StorageFolderLocation(object):
     }
 
     def __init__(self, storage: str = None, folder_path: str = None):
-        """StorageFolderLocation - a model defined in Swagger"""
+        """
+        A storage folder location information             
+        :param storage (str) A storage name             
+        :param folder_path (str) A path to a folder in specified storage             
+        """
 
         self._storage = None
         self._folder_path = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_model_of_calendar_dto.py b/sdk/AsposeEmailCloudSdk/models/storage_model_of_calendar_dto.py
index 064132c..92bc6b0 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_model_of_calendar_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_model_of_calendar_dto.py
@@ -56,7 +56,11 @@ class StorageModelOfCalendarDto(object):
     }
 
     def __init__(self, storage_file: StorageFileLocation = None, value: CalendarDto = None):
-        """StorageModelOfCalendarDto - a model defined in Swagger"""
+        """
+        
+        :param storage_file (StorageFileLocation) 
+        :param value (CalendarDto) 
+        """
 
         self._storage_file = None
         self._value = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_model_of_contact_dto.py b/sdk/AsposeEmailCloudSdk/models/storage_model_of_contact_dto.py
index 25be212..731d6b8 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_model_of_contact_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_model_of_contact_dto.py
@@ -56,7 +56,11 @@ class StorageModelOfContactDto(object):
     }
 
     def __init__(self, storage_file: StorageFileLocation = None, value: ContactDto = None):
-        """StorageModelOfContactDto - a model defined in Swagger"""
+        """
+        
+        :param storage_file (StorageFileLocation) 
+        :param value (ContactDto) 
+        """
 
         self._storage_file = None
         self._value = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_model_of_email_dto.py b/sdk/AsposeEmailCloudSdk/models/storage_model_of_email_dto.py
index fc2b0f1..bdb704e 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_model_of_email_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_model_of_email_dto.py
@@ -56,7 +56,11 @@ class StorageModelOfEmailDto(object):
     }
 
     def __init__(self, storage_file: StorageFileLocation = None, value: EmailDto = None):
-        """StorageModelOfEmailDto - a model defined in Swagger"""
+        """
+        
+        :param storage_file (StorageFileLocation) 
+        :param value (EmailDto) 
+        """
 
         self._storage_file = None
         self._value = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_calendar_dto.py b/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_calendar_dto.py
index 08a7aed..0b92d71 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_calendar_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_calendar_dto.py
@@ -56,7 +56,11 @@ class StorageModelRqOfCalendarDto(object):
     }
 
     def __init__(self, value: CalendarDto = None, storage_folder: StorageFolderLocation = None):
-        """StorageModelRqOfCalendarDto - a model defined in Swagger"""
+        """
+        
+        :param value (CalendarDto) 
+        :param storage_folder (StorageFolderLocation) 
+        """
 
         self._value = None
         self._storage_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_contact_dto.py b/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_contact_dto.py
index e880d2c..980a7c4 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_contact_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_contact_dto.py
@@ -56,7 +56,11 @@ class StorageModelRqOfContactDto(object):
     }
 
     def __init__(self, value: ContactDto = None, storage_folder: StorageFolderLocation = None):
-        """StorageModelRqOfContactDto - a model defined in Swagger"""
+        """
+        
+        :param value (ContactDto) 
+        :param storage_folder (StorageFolderLocation) 
+        """
 
         self._value = None
         self._storage_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_email_dto.py b/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_email_dto.py
index 439586a..b78c715 100644
--- a/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_email_dto.py
+++ b/sdk/AsposeEmailCloudSdk/models/storage_model_rq_of_email_dto.py
@@ -56,7 +56,11 @@ class StorageModelRqOfEmailDto(object):
     }
 
     def __init__(self, value: EmailDto = None, storage_folder: StorageFolderLocation = None):
-        """StorageModelRqOfEmailDto - a model defined in Swagger"""
+        """
+        
+        :param value (EmailDto) 
+        :param storage_folder (StorageFolderLocation) 
+        """
 
         self._value = None
         self._storage_folder = None
diff --git a/sdk/AsposeEmailCloudSdk/models/url.py b/sdk/AsposeEmailCloudSdk/models/url.py
index bf54343..0191c29 100644
--- a/sdk/AsposeEmailCloudSdk/models/url.py
+++ b/sdk/AsposeEmailCloudSdk/models/url.py
@@ -57,7 +57,12 @@ class Url(object):
     }
 
     def __init__(self, category: EnumWithCustomOfUrlCategory = None, preferred: bool = None, href: str = None):
-        """Url - a model defined in Swagger"""
+        """
+        Url and its category.             
+        :param category (EnumWithCustomOfUrlCategory) Url category.             
+        :param preferred (bool) Defines whether url is preferred.             
+        :param href (str) URL.             
+        """
 
         self._category = None
         self._preferred = None
diff --git a/sdk/AsposeEmailCloudSdk/models/value_response.py b/sdk/AsposeEmailCloudSdk/models/value_response.py
index e677500..ee098f7 100644
--- a/sdk/AsposeEmailCloudSdk/models/value_response.py
+++ b/sdk/AsposeEmailCloudSdk/models/value_response.py
@@ -51,7 +51,10 @@ class ValueResponse(object):
     }
 
     def __init__(self, value: str = None):
-        """ValueResponse - a model defined in Swagger"""
+        """
+        String value object             
+        :param value (str) Gets or sets string content.             
+        """
 
         self._value = None
         self.discriminator = None
diff --git a/sdk/docs/EmailAccountConfig.md b/sdk/docs/EmailAccountConfig.md
index befdf18..429f590 100644
--- a/sdk/docs/EmailAccountConfig.md
+++ b/sdk/docs/EmailAccountConfig.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
 **protocol_type** | **str** | Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav | 
 **host** | **str** | Email account host.              | [optional] 
 **port** | **int** | Port.              | [optional] 
-**socket_type** | **str** | Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
+**socket_type** | **str** | Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
 **authentication_types** | **list[str]** | Supported authentication types.              Items: Email account authentication types. Enum, available values: NoAuth, OAuth2, PasswordCleartext, PasswordEncrypted, SmtpAfterPop, ClientIpAddress | [optional] 
 **extra_info** | [**list[NameValuePair]**](NameValuePair.md) | Extra account information.              | [optional] 
 **is_validated** | **bool** | Determines that configuration validated. Set to false if validation skipped.              | 
diff --git a/sdk/docs/EmailAccountRequest.md b/sdk/docs/EmailAccountRequest.md
index d730e0d..48363f0 100644
--- a/sdk/docs/EmailAccountRequest.md
+++ b/sdk/docs/EmailAccountRequest.md
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
 **host** | **str** | Email account host              | 
 **port** | **int** | Email account port              | 
 **login** | **str** | Email account login              | 
-**security_options** | **str** | Security mode for a mail client Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
+**security_options** | **str** | Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto | 
 **protocol_type** | **str** | Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav | 
 **description** | **str** | Email account description              | [optional] 
 **storage_file** | [**StorageFileLocation**](StorageFileLocation.md) | A storage file location info to store email account              | 
diff --git a/sdk/docs/NameValuePair.md b/sdk/docs/NameValuePair.md
index b7c170a..e97096d 100644
--- a/sdk/docs/NameValuePair.md
+++ b/sdk/docs/NameValuePair.md
@@ -2,8 +2,8 @@
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
-**value** | **str** | Name of the property  | [optional] 
-**name** | **str** | Value of the property | [optional] 
+**value** | **str** |  | [optional] 
+**name** | **str** |  | [optional] 
 
 
 

From 3a10511e35b7c9fe9b8d04fdf01c51b7efafb34b Mon Sep 17 00:00:00 2001
From: Marat Gumerov <marat.gumerof@aspose.com>
Date: Thu, 20 Feb 2020 18:33:31 +0400
Subject: [PATCH 7/7] Added tests for Mapi

---
 tests/tests/sdk_test.py | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/tests/tests/sdk_test.py b/tests/tests/sdk_test.py
index fedcd38..6a00462 100644
--- a/tests/tests/sdk_test.py
+++ b/tests/tests/sdk_test.py
@@ -291,6 +291,50 @@ def test_discover_email_config(td: TestData):
     smtp = list(filter(lambda x: x.protocol_type == 'SMTP', configs.value))[0] #type: models.EmailAccountConfig
     assert smtp.host == 'smtp.gmail.com'
 
+@pytest.mark.pipeline
+def test_create_mapi(td: TestData):
+    name = str(uuid.uuid4())+ '.msg'
+    td.email.create_mapi(requests.CreateMapiRequest(
+        name,
+        models.HierarchicalObjectRequest(
+            models.HierarchicalObject('IPM.Contact', internal_properties=[
+                models.PrimitiveObject("Tag:'PidTagMessageClass':0x1A:String", None, "IPM.Contact"),
+                models.PrimitiveObject("Tag:'PidTagSubject':0x37:String"),
+                models.PrimitiveObject("Tag:'PidTagSubjectPrefix':0x3D:String"),
+                models.PrimitiveObject("Tag:'PidTagMessageFlags':0xE07:Integer32", value="8"),
+                models.PrimitiveObject("Tag:'PidTagNormalizedSubject':0xE1D:String"),
+                models.PrimitiveObject("Tag:'PidTagBody':0x1000:String"),
+                models.PrimitiveObject("Tag:'PidTagStoreSupportMask':0x340D:Integer32", value="265849"),
+                models.PrimitiveObject("Tag:'PidTagSurname':0x3A11:String", value="Surname"),
+                models.PrimitiveObject("Tag:'PidTagOtherTelephoneNumber':0x3A1F:String", value="+79123456789"),
+                models.PrimitiveObject("Tag:'':0x6662:Integer32", value="0"),
+                models.PrimitiveObject(
+                    "Lid:'PidLidAddressBookProviderArrayType':0x8029:Integer32:00062004-0000-0000-c000-000000000046",
+                    value="1")]),
+            models.StorageFolderLocation(td.storage, td.folder))))
+    assert td.email.object_exists(requests.ObjectExistsRequest(td.folder + '/' + name, td.storage)).exists
+
+@pytest.mark.pipeline
+def test_mapi_add_attachment(td: TestData):
+    name = _create_calendar(td)
+    attachment = _create_calendar(td)
+    td.email.add_mapi_attachment(requests.AddMapiAttachmentRequest(
+        name, attachment, models.AddAttachmentRequest(
+            models.StorageFolderLocation(td.storage, td.folder),
+            models.StorageFolderLocation(td.storage, td.folder))))
+    attachment_downloaded = td.email.get_calendar_attachment(requests.GetCalendarAttachmentRequest(
+        name, attachment, td.folder, td.storage))
+    with open(attachment_downloaded, 'r') as f:
+        filedata = f.read()
+        assert 'Aspose Ltd' in filedata
+
+@pytest.mark.pipeline
+def test_mapi_get_properties(td: TestData):
+    name = _create_calendar(td)
+    properties = td.email.get_mapi_properties(requests.GetMapiPropertiesRequest(
+        name, td.folder, td.storage))
+    assert 'IPM.Schedule' in properties.hierarchical_object.name
+
 def _create_calendar(td, start_date_param=None):
     name = str(uuid.uuid4())+ '.ics'
     start_date = (