public static void Run()
        {
            const string Username = "";
            const string Password = "";
            const bool Sandbox = true;

            NextCallerPlatformClient client = new NextCallerPlatformClient(Username, Password, Sandbox);

            const string AccountId = "TestUser1";

            try
            {
                PlatformAccountToPost user = new PlatformAccountToPost
                {
                    Id = "NewTestUser1",
                    CompanyName = "new_platform_company1_name",
                    Email = "*****@*****.**",
                    FirstName = "new_platform_user1_fname",
                    LastName = "new_platform_user1_lname"
                };

                client.UpdatePlatformAccount(user, AccountId);

            }
            catch (FormatException formatException)
            {

                HttpWebRequest request = formatException.Request;
                HttpWebResponse response = formatException.Response;

                HttpStatusCode code = response.StatusCode;
                Console.WriteLine("Status code: {0}", code);

                string reasonPhrase = response.StatusDescription;
                Console.WriteLine("Reason Phrase: {0}", reasonPhrase);

                string responseContent = formatException.Content;
                Console.WriteLine("Content : {0}", responseContent);

            }
            catch (BadRequestException badRequestException)
            {

                HttpWebRequest request = badRequestException.Request;
                HttpWebResponse response = badRequestException.Response;

                Error parsedError = badRequestException.Error;

                string errorCode = parsedError.Code;
                string message = parsedError.Message;
                string type = parsedError.Type;

                Dictionary<string, string[]> description = parsedError.Description;

                Console.WriteLine(parsedError.ToString());

            }
        }
        /// <summary>
        /// Creates platform account.
        /// More info at:https://nextcaller.com/platform/documentation/v2.1/#/accounts/post-platform-account/curl.
        /// </summary>
        /// <param name="accountData">Plaftorm account information.</param>
        public void CreatePlatformAccount(PlatformAccountToPost accountData)
        {
            Utility.EnsureParameterValid(!(accountData == null), "accountData");

            string jsonData = JsonSerializer.Serialize(accountData);
            CreatePlatformAccountJson(jsonData);
        }
        /// <summary>
        /// Updates platform account.
        /// More info at:https://nextcaller.com/platform/documentation/v2.1/#/accounts/put-platform-account/curl.
        /// </summary>
        /// <param name="accountId">Platform account ID to be updated.</param>
        /// <param name="accountData">Plaftorm account information.</param>
        public void UpdatePlatformAccount(PlatformAccountToPost accountData, string accountId)
        {
            Utility.EnsureParameterValid(!(accountData == null), "accountData");
            Utility.EnsureParameterValid(!(accountId == null), "accountId");

            string jsonData = JsonSerializer.Serialize(accountData);
            UpdatePlatformAccountJson(jsonData, accountId);
        }