/// <summary>
        ///  Used to trigger the process of generating and sending a new Activation Code (for a specific token) to the cardholder via the requested Activation Method. When successful, a new Activation Code Expiration Date Time period will begin, and a new Activation Code will be sent to the issuer using the Activation Code Notification (ACN) pre-digitization network message. It can only be used to do this for Activation Methods that involve the external distribution of an Activation Code to the cardholder. For example, via email or SMS. It cannot be used to send a new activation code via the \&quot;Mobile Application\&quot; activation method, for instance. A new Activation Code can be sent even if the previous code has not expired. A new Activation Code can also be sent even after the previous code has expired; however, it can only be done up to 30 days after the token was created  (the number of days is subject to change at the discretion of Mastercard).
        /// </summary>
        /// <exception cref="YourApp.MdesCustomerClient.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="tokenResendActivationCodeRequestSchema">Contains the details of the request message. (optional)</param>
        /// <returns>Task of ApiResponse (TokenResendActivationCodeResponseSchema)</returns>
        public async System.Threading.Tasks.Task <ApiResponse <TokenResendActivationCodeResponseSchema> > TokenResendactivationcodePostAsyncWithHttpInfo(TokenResendActivationCodeRequestSchema tokenResendActivationCodeRequestSchema = null)
        {
            var    localVarPath         = "/token/resendactivationcode";
            var    localVarPathParams   = new Dictionary <String, String>();
            var    localVarQueryParams  = new List <KeyValuePair <String, String> >();
            var    localVarHeaderParams = new Dictionary <String, String>(this.Configuration.DefaultHeader);
            var    localVarFormParams   = new Dictionary <String, String>();
            var    localVarFileParams   = new Dictionary <String, FileParameter>();
            Object localVarPostBody     = null;

            // to determine the Content-Type header
            String[] localVarHttpContentTypes = new String[] {
                "application/json"
            };
            String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);

            // to determine the Accept header
            String[] localVarHttpHeaderAccepts = new String[] {
                "application/json"
            };
            String localVarHttpHeaderAccept = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);

            if (localVarHttpHeaderAccept != null)
            {
                localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
            }

            if (tokenResendActivationCodeRequestSchema != null && tokenResendActivationCodeRequestSchema.GetType() != typeof(byte[]))
            {
                localVarPostBody = this.Configuration.ApiClient.Serialize(tokenResendActivationCodeRequestSchema); // http body (model) parameter
            }
            else
            {
                localVarPostBody = tokenResendActivationCodeRequestSchema; // byte array
            }


            // make the HTTP request
            IRestResponse localVarResponse = (IRestResponse)await this.Configuration.ApiClient.CallApiAsync(localVarPath,
                                                                                                            Method.POST, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
                                                                                                            localVarPathParams, localVarHttpContentType);

            int localVarStatusCode = (int)localVarResponse.StatusCode;

            if (ExceptionFactory != null)
            {
                Exception exception = ExceptionFactory("TokenResendactivationcodePost", localVarResponse);
                if (exception != null)
                {
                    throw exception;
                }
            }

            return(new ApiResponse <TokenResendActivationCodeResponseSchema>(localVarStatusCode,
                                                                             localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()),
                                                                             (TokenResendActivationCodeResponseSchema)this.Configuration.ApiClient.Deserialize(localVarResponse, typeof(TokenResendActivationCodeResponseSchema))));
        }
        /// <summary>
        ///  Used to trigger the process of generating and sending a new Activation Code (for a specific token) to the cardholder via the requested Activation Method. When successful, a new Activation Code Expiration Date Time period will begin, and a new Activation Code will be sent to the issuer using the Activation Code Notification (ACN) pre-digitization network message. It can only be used to do this for Activation Methods that involve the external distribution of an Activation Code to the cardholder. For example, via email or SMS. It cannot be used to send a new activation code via the \&quot;Mobile Application\&quot; activation method, for instance. A new Activation Code can be sent even if the previous code has not expired. A new Activation Code can also be sent even after the previous code has expired; however, it can only be done up to 30 days after the token was created  (the number of days is subject to change at the discretion of Mastercard).
        /// </summary>
        /// <exception cref="YourApp.MdesCustomerClient.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="tokenResendActivationCodeRequestSchema">Contains the details of the request message. (optional)</param>
        /// <returns>Task of TokenResendActivationCodeResponseSchema</returns>
        public async System.Threading.Tasks.Task <TokenResendActivationCodeResponseSchema> TokenResendactivationcodePostAsync(TokenResendActivationCodeRequestSchema tokenResendActivationCodeRequestSchema = null)
        {
            ApiResponse <TokenResendActivationCodeResponseSchema> localVarResponse = await TokenResendactivationcodePostAsyncWithHttpInfo(tokenResendActivationCodeRequestSchema);

            return(localVarResponse.Data);
        }
        /// <summary>
        ///  Used to trigger the process of generating and sending a new Activation Code (for a specific token) to the cardholder via the requested Activation Method. When successful, a new Activation Code Expiration Date Time period will begin, and a new Activation Code will be sent to the issuer using the Activation Code Notification (ACN) pre-digitization network message. It can only be used to do this for Activation Methods that involve the external distribution of an Activation Code to the cardholder. For example, via email or SMS. It cannot be used to send a new activation code via the \&quot;Mobile Application\&quot; activation method, for instance. A new Activation Code can be sent even if the previous code has not expired. A new Activation Code can also be sent even after the previous code has expired; however, it can only be done up to 30 days after the token was created  (the number of days is subject to change at the discretion of Mastercard).
        /// </summary>
        /// <exception cref="YourApp.MdesCustomerClient.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="tokenResendActivationCodeRequestSchema">Contains the details of the request message. (optional)</param>
        /// <returns>TokenResendActivationCodeResponseSchema</returns>
        public TokenResendActivationCodeResponseSchema TokenResendactivationcodePost(TokenResendActivationCodeRequestSchema tokenResendActivationCodeRequestSchema = null)
        {
            ApiResponse <TokenResendActivationCodeResponseSchema> localVarResponse = TokenResendactivationcodePostWithHttpInfo(tokenResendActivationCodeRequestSchema);

            return(localVarResponse.Data);
        }