/*
 * SMAC API
 *
 * SMAC ASP.NET Core Web API
 *
 * The version of the OpenAPI document: v1
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */


using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Net;
using System.Net.Mime;
using Org.OpenAPITools.Client;
using Org.OpenAPITools.Model;

namespace Org.OpenAPITools.Api
{

    /// <summary>
    /// Represents a collection of functions to interact with the API endpoints
    /// </summary>
    public interface IBiometricsApiSync : IApiAccessor
    {
        #region Synchronous Operations
        /// <summary>
        /// Retrieves the facial photo
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>FacePhotoResponse</returns>
        FacePhotoResponse ApiBiometricsFacePhotoPost(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0);

        /// <summary>
        /// Retrieves the facial photo
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of FacePhotoResponse</returns>
        ApiResponse<FacePhotoResponse> ApiBiometricsFacePhotoPostWithHttpInfo(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0);
        /// <summary>
        /// Crops the face from the given image.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>CropResponse</returns>
        CropResponse ApiBiometricsUtilsCropFacePost(CropRequest cropRequest = default(CropRequest), int operationIndex = 0);

        /// <summary>
        /// Crops the face from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of CropResponse</returns>
        ApiResponse<CropResponse> ApiBiometricsUtilsCropFacePostWithHttpInfo(CropRequest cropRequest = default(CropRequest), int operationIndex = 0);
        /// <summary>
        /// Extracts the biometric face template from the given image.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ExtractResponse</returns>
        ExtractResponse ApiBiometricsUtilsExtractFacePost(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0);

        /// <summary>
        /// Extracts the biometric face template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of ExtractResponse</returns>
        ApiResponse<ExtractResponse> ApiBiometricsUtilsExtractFacePostWithHttpInfo(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0);
        /// <summary>
        /// Extracts the biometric finger template from the given image.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ExtractResponse</returns>
        ExtractResponse ApiBiometricsUtilsExtractFingerPost(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0);

        /// <summary>
        /// Extracts the biometric finger template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of ExtractResponse</returns>
        ApiResponse<ExtractResponse> ApiBiometricsUtilsExtractFingerPostWithHttpInfo(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0);
        /// <summary>
        /// Extracts the biometric iris template from the given image.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ExtractResponse</returns>
        ExtractResponse ApiBiometricsUtilsExtractIrisPost(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0);

        /// <summary>
        /// Extracts the biometric iris template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of ExtractResponse</returns>
        ApiResponse<ExtractResponse> ApiBiometricsUtilsExtractIrisPostWithHttpInfo(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0);
        /// <summary>
        /// Performs face verification.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>VerifyResponse</returns>
        VerifyResponse ApiBiometricsUtilsVerifyFacePost(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0);

        /// <summary>
        /// Performs face verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of VerifyResponse</returns>
        ApiResponse<VerifyResponse> ApiBiometricsUtilsVerifyFacePostWithHttpInfo(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0);
        /// <summary>
        /// Performs finger verification.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>VerifyResponse</returns>
        VerifyResponse ApiBiometricsUtilsVerifyFingerPost(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0);

        /// <summary>
        /// Performs finger verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of VerifyResponse</returns>
        ApiResponse<VerifyResponse> ApiBiometricsUtilsVerifyFingerPostWithHttpInfo(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0);
        /// <summary>
        /// Performs iris verification.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>VerifyResponse</returns>
        VerifyResponse ApiBiometricsUtilsVerifyIrisPost(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0);

        /// <summary>
        /// Performs iris verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of VerifyResponse</returns>
        ApiResponse<VerifyResponse> ApiBiometricsUtilsVerifyIrisPostWithHttpInfo(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0);
        /// <summary>
        /// Performs face verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>List&lt;VerifyResponse&gt;</returns>
        List<VerifyResponse> ApiBiometricsVerifyFacePost(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0);

        /// <summary>
        /// Performs face verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of List&lt;VerifyResponse&gt;</returns>
        ApiResponse<List<VerifyResponse>> ApiBiometricsVerifyFacePostWithHttpInfo(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0);
        /// <summary>
        /// Performs finger verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>List&lt;VerifyResponse&gt;</returns>
        List<VerifyResponse> ApiBiometricsVerifyFingerPost(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0);

        /// <summary>
        /// Performs finger verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of List&lt;VerifyResponse&gt;</returns>
        ApiResponse<List<VerifyResponse>> ApiBiometricsVerifyFingerPostWithHttpInfo(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0);
        /// <summary>
        /// Performs iris verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>List&lt;VerifyResponse&gt;</returns>
        List<VerifyResponse> ApiBiometricsVerifyIrisPost(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0);

        /// <summary>
        /// Performs iris verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of List&lt;VerifyResponse&gt;</returns>
        ApiResponse<List<VerifyResponse>> ApiBiometricsVerifyIrisPostWithHttpInfo(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0);
        #endregion Synchronous Operations
    }

    /// <summary>
    /// Represents a collection of functions to interact with the API endpoints
    /// </summary>
    public interface IBiometricsApiAsync : IApiAccessor
    {
        #region Asynchronous Operations
        /// <summary>
        /// Retrieves the facial photo
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of FacePhotoResponse</returns>
        System.Threading.Tasks.Task<FacePhotoResponse> ApiBiometricsFacePhotoPostAsync(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Retrieves the facial photo
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (FacePhotoResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<FacePhotoResponse>> ApiBiometricsFacePhotoPostWithHttpInfoAsync(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Crops the face from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of CropResponse</returns>
        System.Threading.Tasks.Task<CropResponse> ApiBiometricsUtilsCropFacePostAsync(CropRequest cropRequest = default(CropRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Crops the face from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (CropResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<CropResponse>> ApiBiometricsUtilsCropFacePostWithHttpInfoAsync(CropRequest cropRequest = default(CropRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Extracts the biometric face template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ExtractResponse</returns>
        System.Threading.Tasks.Task<ExtractResponse> ApiBiometricsUtilsExtractFacePostAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Extracts the biometric face template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (ExtractResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<ExtractResponse>> ApiBiometricsUtilsExtractFacePostWithHttpInfoAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Extracts the biometric finger template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ExtractResponse</returns>
        System.Threading.Tasks.Task<ExtractResponse> ApiBiometricsUtilsExtractFingerPostAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Extracts the biometric finger template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (ExtractResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<ExtractResponse>> ApiBiometricsUtilsExtractFingerPostWithHttpInfoAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Extracts the biometric iris template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ExtractResponse</returns>
        System.Threading.Tasks.Task<ExtractResponse> ApiBiometricsUtilsExtractIrisPostAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Extracts the biometric iris template from the given image.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (ExtractResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<ExtractResponse>> ApiBiometricsUtilsExtractIrisPostWithHttpInfoAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Performs face verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of VerifyResponse</returns>
        System.Threading.Tasks.Task<VerifyResponse> ApiBiometricsUtilsVerifyFacePostAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Performs face verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (VerifyResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<VerifyResponse>> ApiBiometricsUtilsVerifyFacePostWithHttpInfoAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Performs finger verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of VerifyResponse</returns>
        System.Threading.Tasks.Task<VerifyResponse> ApiBiometricsUtilsVerifyFingerPostAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Performs finger verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (VerifyResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<VerifyResponse>> ApiBiometricsUtilsVerifyFingerPostWithHttpInfoAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Performs iris verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of VerifyResponse</returns>
        System.Threading.Tasks.Task<VerifyResponse> ApiBiometricsUtilsVerifyIrisPostAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Performs iris verification.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (VerifyResponse)</returns>
        System.Threading.Tasks.Task<ApiResponse<VerifyResponse>> ApiBiometricsUtilsVerifyIrisPostWithHttpInfoAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Performs face verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of List&lt;VerifyResponse&gt;</returns>
        System.Threading.Tasks.Task<List<VerifyResponse>> ApiBiometricsVerifyFacePostAsync(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Performs face verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (List&lt;VerifyResponse&gt;)</returns>
        System.Threading.Tasks.Task<ApiResponse<List<VerifyResponse>>> ApiBiometricsVerifyFacePostWithHttpInfoAsync(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Performs finger verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of List&lt;VerifyResponse&gt;</returns>
        System.Threading.Tasks.Task<List<VerifyResponse>> ApiBiometricsVerifyFingerPostAsync(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Performs finger verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (List&lt;VerifyResponse&gt;)</returns>
        System.Threading.Tasks.Task<ApiResponse<List<VerifyResponse>>> ApiBiometricsVerifyFingerPostWithHttpInfoAsync(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        /// <summary>
        /// Performs iris verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of List&lt;VerifyResponse&gt;</returns>
        System.Threading.Tasks.Task<List<VerifyResponse>> ApiBiometricsVerifyIrisPostAsync(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

        /// <summary>
        /// Performs iris verification of the user provided in the request parameters.
        /// </summary>
        /// <remarks>
        /// This method is meant to be used in a HTML form.
        /// </remarks>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (List&lt;VerifyResponse&gt;)</returns>
        System.Threading.Tasks.Task<ApiResponse<List<VerifyResponse>>> ApiBiometricsVerifyIrisPostWithHttpInfoAsync(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
        #endregion Asynchronous Operations
    }

    /// <summary>
    /// Represents a collection of functions to interact with the API endpoints
    /// </summary>
    public interface IBiometricsApi : IBiometricsApiSync, IBiometricsApiAsync
    {

    }

    /// <summary>
    /// Represents a collection of functions to interact with the API endpoints
    /// </summary>
    public partial class BiometricsApi : IBiometricsApi
    {
        private Org.OpenAPITools.Client.ExceptionFactory _exceptionFactory = (name, response) => null;

        /// <summary>
        /// Initializes a new instance of the <see cref="BiometricsApi"/> class.
        /// </summary>
        /// <returns></returns>
        public BiometricsApi() : this((string)null)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="BiometricsApi"/> class.
        /// </summary>
        /// <returns></returns>
        public BiometricsApi(string basePath)
        {
            this.Configuration = Org.OpenAPITools.Client.Configuration.MergeConfigurations(
                Org.OpenAPITools.Client.GlobalConfiguration.Instance,
                new Org.OpenAPITools.Client.Configuration { BasePath = basePath }
            );
            this.Client = new Org.OpenAPITools.Client.ApiClient(this.Configuration.BasePath);
            this.AsynchronousClient = new Org.OpenAPITools.Client.ApiClient(this.Configuration.BasePath);
            this.ExceptionFactory = Org.OpenAPITools.Client.Configuration.DefaultExceptionFactory;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="BiometricsApi"/> class
        /// using Configuration object
        /// </summary>
        /// <param name="configuration">An instance of Configuration</param>
        /// <returns></returns>
        public BiometricsApi(Org.OpenAPITools.Client.Configuration configuration)
        {
            if (configuration == null) throw new ArgumentNullException("configuration");

            this.Configuration = Org.OpenAPITools.Client.Configuration.MergeConfigurations(
                Org.OpenAPITools.Client.GlobalConfiguration.Instance,
                configuration
            );
            this.Client = new Org.OpenAPITools.Client.ApiClient(this.Configuration.BasePath);
            this.AsynchronousClient = new Org.OpenAPITools.Client.ApiClient(this.Configuration.BasePath);
            ExceptionFactory = Org.OpenAPITools.Client.Configuration.DefaultExceptionFactory;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="BiometricsApi"/> class
        /// using a Configuration object and client instance.
        /// </summary>
        /// <param name="client">The client interface for synchronous API access.</param>
        /// <param name="asyncClient">The client interface for asynchronous API access.</param>
        /// <param name="configuration">The configuration object.</param>
        public BiometricsApi(Org.OpenAPITools.Client.ISynchronousClient client, Org.OpenAPITools.Client.IAsynchronousClient asyncClient, Org.OpenAPITools.Client.IReadableConfiguration configuration)
        {
            if (client == null) throw new ArgumentNullException("client");
            if (asyncClient == null) throw new ArgumentNullException("asyncClient");
            if (configuration == null) throw new ArgumentNullException("configuration");

            this.Client = client;
            this.AsynchronousClient = asyncClient;
            this.Configuration = configuration;
            this.ExceptionFactory = Org.OpenAPITools.Client.Configuration.DefaultExceptionFactory;
        }

        /// <summary>
        /// The client for accessing this underlying API asynchronously.
        /// </summary>
        public Org.OpenAPITools.Client.IAsynchronousClient AsynchronousClient { get; set; }

        /// <summary>
        /// The client for accessing this underlying API synchronously.
        /// </summary>
        public Org.OpenAPITools.Client.ISynchronousClient Client { get; set; }

        /// <summary>
        /// Gets the base path of the API client.
        /// </summary>
        /// <value>The base path</value>
        public string GetBasePath()
        {
            return this.Configuration.BasePath;
        }

        /// <summary>
        /// Gets or sets the configuration object
        /// </summary>
        /// <value>An instance of the Configuration</value>
        public Org.OpenAPITools.Client.IReadableConfiguration Configuration { get; set; }

        /// <summary>
        /// Provides a factory method hook for the creation of exceptions.
        /// </summary>
        public Org.OpenAPITools.Client.ExceptionFactory ExceptionFactory
        {
            get
            {
                if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
                {
                    throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
                }
                return _exceptionFactory;
            }
            set { _exceptionFactory = value; }
        }

        /// <summary>
        /// Retrieves the facial photo 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>FacePhotoResponse</returns>
        public FacePhotoResponse ApiBiometricsFacePhotoPost(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<FacePhotoResponse> localVarResponse = ApiBiometricsFacePhotoPostWithHttpInfo(facePhotoRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Retrieves the facial photo 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of FacePhotoResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<FacePhotoResponse> ApiBiometricsFacePhotoPostWithHttpInfo(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = facePhotoRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsFacePhotoPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<FacePhotoResponse>("/api/Biometrics/facePhoto", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsFacePhotoPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Retrieves the facial photo 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of FacePhotoResponse</returns>
        public async System.Threading.Tasks.Task<FacePhotoResponse> ApiBiometricsFacePhotoPostAsync(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<FacePhotoResponse> localVarResponse = await ApiBiometricsFacePhotoPostWithHttpInfoAsync(facePhotoRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Retrieves the facial photo 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="facePhotoRequest"> (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (FacePhotoResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<FacePhotoResponse>> ApiBiometricsFacePhotoPostWithHttpInfoAsync(FacePhotoRequest facePhotoRequest = default(FacePhotoRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = facePhotoRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsFacePhotoPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<FacePhotoResponse>("/api/Biometrics/facePhoto", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsFacePhotoPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Crops the face from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>CropResponse</returns>
        public CropResponse ApiBiometricsUtilsCropFacePost(CropRequest cropRequest = default(CropRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<CropResponse> localVarResponse = ApiBiometricsUtilsCropFacePostWithHttpInfo(cropRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Crops the face from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of CropResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<CropResponse> ApiBiometricsUtilsCropFacePostWithHttpInfo(CropRequest cropRequest = default(CropRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = cropRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsCropFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<CropResponse>("/api/Biometrics/utils/cropFace", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsCropFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Crops the face from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of CropResponse</returns>
        public async System.Threading.Tasks.Task<CropResponse> ApiBiometricsUtilsCropFacePostAsync(CropRequest cropRequest = default(CropRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<CropResponse> localVarResponse = await ApiBiometricsUtilsCropFacePostWithHttpInfoAsync(cropRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Crops the face from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="cropRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (CropResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<CropResponse>> ApiBiometricsUtilsCropFacePostWithHttpInfoAsync(CropRequest cropRequest = default(CropRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = cropRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsCropFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<CropResponse>("/api/Biometrics/utils/cropFace", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsCropFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Extracts the biometric face template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ExtractResponse</returns>
        public ExtractResponse ApiBiometricsUtilsExtractFacePost(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<ExtractResponse> localVarResponse = ApiBiometricsUtilsExtractFacePostWithHttpInfo(extractRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Extracts the biometric face template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of ExtractResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<ExtractResponse> ApiBiometricsUtilsExtractFacePostWithHttpInfo(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = extractRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsExtractFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<ExtractResponse>("/api/Biometrics/utils/extractFace", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsExtractFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Extracts the biometric face template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ExtractResponse</returns>
        public async System.Threading.Tasks.Task<ExtractResponse> ApiBiometricsUtilsExtractFacePostAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<ExtractResponse> localVarResponse = await ApiBiometricsUtilsExtractFacePostWithHttpInfoAsync(extractRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Extracts the biometric face template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (ExtractResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<ExtractResponse>> ApiBiometricsUtilsExtractFacePostWithHttpInfoAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = extractRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsExtractFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<ExtractResponse>("/api/Biometrics/utils/extractFace", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsExtractFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Extracts the biometric finger template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ExtractResponse</returns>
        public ExtractResponse ApiBiometricsUtilsExtractFingerPost(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<ExtractResponse> localVarResponse = ApiBiometricsUtilsExtractFingerPostWithHttpInfo(extractRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Extracts the biometric finger template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of ExtractResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<ExtractResponse> ApiBiometricsUtilsExtractFingerPostWithHttpInfo(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = extractRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsExtractFingerPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<ExtractResponse>("/api/Biometrics/utils/extractFinger", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsExtractFingerPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Extracts the biometric finger template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ExtractResponse</returns>
        public async System.Threading.Tasks.Task<ExtractResponse> ApiBiometricsUtilsExtractFingerPostAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<ExtractResponse> localVarResponse = await ApiBiometricsUtilsExtractFingerPostWithHttpInfoAsync(extractRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Extracts the biometric finger template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (ExtractResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<ExtractResponse>> ApiBiometricsUtilsExtractFingerPostWithHttpInfoAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = extractRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsExtractFingerPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<ExtractResponse>("/api/Biometrics/utils/extractFinger", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsExtractFingerPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Extracts the biometric iris template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ExtractResponse</returns>
        public ExtractResponse ApiBiometricsUtilsExtractIrisPost(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<ExtractResponse> localVarResponse = ApiBiometricsUtilsExtractIrisPostWithHttpInfo(extractRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Extracts the biometric iris template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of ExtractResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<ExtractResponse> ApiBiometricsUtilsExtractIrisPostWithHttpInfo(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = extractRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsExtractIrisPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<ExtractResponse>("/api/Biometrics/utils/extractIris", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsExtractIrisPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Extracts the biometric iris template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ExtractResponse</returns>
        public async System.Threading.Tasks.Task<ExtractResponse> ApiBiometricsUtilsExtractIrisPostAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<ExtractResponse> localVarResponse = await ApiBiometricsUtilsExtractIrisPostWithHttpInfoAsync(extractRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Extracts the biometric iris template from the given image. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="extractRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (ExtractResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<ExtractResponse>> ApiBiometricsUtilsExtractIrisPostWithHttpInfoAsync(ExtractRequest extractRequest = default(ExtractRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = extractRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsExtractIrisPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<ExtractResponse>("/api/Biometrics/utils/extractIris", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsExtractIrisPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs face verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>VerifyResponse</returns>
        public VerifyResponse ApiBiometricsUtilsVerifyFacePost(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<VerifyResponse> localVarResponse = ApiBiometricsUtilsVerifyFacePostWithHttpInfo(verifyRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs face verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of VerifyResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<VerifyResponse> ApiBiometricsUtilsVerifyFacePostWithHttpInfo(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = verifyRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsVerifyFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<VerifyResponse>("/api/Biometrics/utils/verifyFace", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsVerifyFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs face verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of VerifyResponse</returns>
        public async System.Threading.Tasks.Task<VerifyResponse> ApiBiometricsUtilsVerifyFacePostAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<VerifyResponse> localVarResponse = await ApiBiometricsUtilsVerifyFacePostWithHttpInfoAsync(verifyRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs face verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (VerifyResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<VerifyResponse>> ApiBiometricsUtilsVerifyFacePostWithHttpInfoAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = verifyRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsVerifyFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<VerifyResponse>("/api/Biometrics/utils/verifyFace", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsVerifyFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs finger verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>VerifyResponse</returns>
        public VerifyResponse ApiBiometricsUtilsVerifyFingerPost(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<VerifyResponse> localVarResponse = ApiBiometricsUtilsVerifyFingerPostWithHttpInfo(verifyRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs finger verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of VerifyResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<VerifyResponse> ApiBiometricsUtilsVerifyFingerPostWithHttpInfo(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = verifyRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsVerifyFingerPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<VerifyResponse>("/api/Biometrics/utils/verifyFinger", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsVerifyFingerPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs finger verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of VerifyResponse</returns>
        public async System.Threading.Tasks.Task<VerifyResponse> ApiBiometricsUtilsVerifyFingerPostAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<VerifyResponse> localVarResponse = await ApiBiometricsUtilsVerifyFingerPostWithHttpInfoAsync(verifyRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs finger verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (VerifyResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<VerifyResponse>> ApiBiometricsUtilsVerifyFingerPostWithHttpInfoAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = verifyRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsVerifyFingerPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<VerifyResponse>("/api/Biometrics/utils/verifyFinger", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsVerifyFingerPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs iris verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>VerifyResponse</returns>
        public VerifyResponse ApiBiometricsUtilsVerifyIrisPost(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<VerifyResponse> localVarResponse = ApiBiometricsUtilsVerifyIrisPostWithHttpInfo(verifyRequest);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs iris verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of VerifyResponse</returns>
        public Org.OpenAPITools.Client.ApiResponse<VerifyResponse> ApiBiometricsUtilsVerifyIrisPostWithHttpInfo(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0)
        {
            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = verifyRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsVerifyIrisPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<VerifyResponse>("/api/Biometrics/utils/verifyIris", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsVerifyIrisPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs iris verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of VerifyResponse</returns>
        public async System.Threading.Tasks.Task<VerifyResponse> ApiBiometricsUtilsVerifyIrisPostAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<VerifyResponse> localVarResponse = await ApiBiometricsUtilsVerifyIrisPostWithHttpInfoAsync(verifyRequest, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs iris verification. 
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="verifyRequest">The request parameters (optional)</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (VerifyResponse)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<VerifyResponse>> ApiBiometricsUtilsVerifyIrisPostWithHttpInfoAsync(VerifyRequest verifyRequest = default(VerifyRequest), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "application/json-patch+json", 
                "application/json", 
                "text/json", 
                "application/*+json"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.Data = verifyRequest;

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsUtilsVerifyIrisPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<VerifyResponse>("/api/Biometrics/utils/verifyIris", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsUtilsVerifyIrisPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs face verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>List&lt;VerifyResponse&gt;</returns>
        public List<VerifyResponse> ApiBiometricsVerifyFacePost(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> localVarResponse = ApiBiometricsVerifyFacePostWithHttpInfo(userId, contents);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs face verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of List&lt;VerifyResponse&gt;</returns>
        public Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> ApiBiometricsVerifyFacePostWithHttpInfo(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0)
        {
            // verify the required parameter 'contents' is set
            if (contents == null)
            {
                throw new Org.OpenAPITools.Client.ApiException(400, "Missing required parameter 'contents' when calling BiometricsApi->ApiBiometricsVerifyFacePost");
            }

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "multipart/form-data"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.FormParameters.Add("UserId", Org.OpenAPITools.Client.ClientUtils.ParameterToString(userId)); // form parameter
            localVarRequestOptions.FormParameters.Add("Contents", Org.OpenAPITools.Client.ClientUtils.Serialize(contents)); // form parameter

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsVerifyFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<List<VerifyResponse>>("/api/Biometrics/verifyFace", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsVerifyFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs face verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of List&lt;VerifyResponse&gt;</returns>
        public async System.Threading.Tasks.Task<List<VerifyResponse>> ApiBiometricsVerifyFacePostAsync(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> localVarResponse = await ApiBiometricsVerifyFacePostWithHttpInfoAsync(userId, contents, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs face verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (List&lt;VerifyResponse&gt;)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>>> ApiBiometricsVerifyFacePostWithHttpInfoAsync(Guid userId, List<FaceTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            // verify the required parameter 'contents' is set
            if (contents == null)
            {
                throw new Org.OpenAPITools.Client.ApiException(400, "Missing required parameter 'contents' when calling BiometricsApi->ApiBiometricsVerifyFacePost");
            }


            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "multipart/form-data"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.FormParameters.Add("UserId", Org.OpenAPITools.Client.ClientUtils.ParameterToString(userId)); // form parameter
            localVarRequestOptions.FormParameters.Add("Contents", Org.OpenAPITools.Client.ClientUtils.ParameterToString(contents)); // form parameter

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsVerifyFacePost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<List<VerifyResponse>>("/api/Biometrics/verifyFace", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsVerifyFacePost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs finger verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>List&lt;VerifyResponse&gt;</returns>
        public List<VerifyResponse> ApiBiometricsVerifyFingerPost(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> localVarResponse = ApiBiometricsVerifyFingerPostWithHttpInfo(userId, contents);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs finger verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of List&lt;VerifyResponse&gt;</returns>
        public Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> ApiBiometricsVerifyFingerPostWithHttpInfo(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0)
        {
            // verify the required parameter 'contents' is set
            if (contents == null)
            {
                throw new Org.OpenAPITools.Client.ApiException(400, "Missing required parameter 'contents' when calling BiometricsApi->ApiBiometricsVerifyFingerPost");
            }

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "multipart/form-data"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.FormParameters.Add("UserId", Org.OpenAPITools.Client.ClientUtils.ParameterToString(userId)); // form parameter
            localVarRequestOptions.FormParameters.Add("Contents", Org.OpenAPITools.Client.ClientUtils.Serialize(contents)); // form parameter

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsVerifyFingerPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<List<VerifyResponse>>("/api/Biometrics/verifyFinger", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsVerifyFingerPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs finger verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of List&lt;VerifyResponse&gt;</returns>
        public async System.Threading.Tasks.Task<List<VerifyResponse>> ApiBiometricsVerifyFingerPostAsync(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> localVarResponse = await ApiBiometricsVerifyFingerPostWithHttpInfoAsync(userId, contents, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs finger verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (List&lt;VerifyResponse&gt;)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>>> ApiBiometricsVerifyFingerPostWithHttpInfoAsync(Guid userId, List<FingerTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            // verify the required parameter 'contents' is set
            if (contents == null)
            {
                throw new Org.OpenAPITools.Client.ApiException(400, "Missing required parameter 'contents' when calling BiometricsApi->ApiBiometricsVerifyFingerPost");
            }


            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "multipart/form-data"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.FormParameters.Add("UserId", Org.OpenAPITools.Client.ClientUtils.ParameterToString(userId)); // form parameter
            localVarRequestOptions.FormParameters.Add("Contents", Org.OpenAPITools.Client.ClientUtils.ParameterToString(contents)); // form parameter

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsVerifyFingerPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<List<VerifyResponse>>("/api/Biometrics/verifyFinger", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsVerifyFingerPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs iris verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>List&lt;VerifyResponse&gt;</returns>
        public List<VerifyResponse> ApiBiometricsVerifyIrisPost(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0)
        {
            Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> localVarResponse = ApiBiometricsVerifyIrisPostWithHttpInfo(userId, contents);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs iris verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <returns>ApiResponse of List&lt;VerifyResponse&gt;</returns>
        public Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> ApiBiometricsVerifyIrisPostWithHttpInfo(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0)
        {
            // verify the required parameter 'contents' is set
            if (contents == null)
            {
                throw new Org.OpenAPITools.Client.ApiException(400, "Missing required parameter 'contents' when calling BiometricsApi->ApiBiometricsVerifyIrisPost");
            }

            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "multipart/form-data"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.FormParameters.Add("UserId", Org.OpenAPITools.Client.ClientUtils.ParameterToString(userId)); // form parameter
            localVarRequestOptions.FormParameters.Add("Contents", Org.OpenAPITools.Client.ClientUtils.Serialize(contents)); // form parameter

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsVerifyIrisPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = this.Client.Post<List<VerifyResponse>>("/api/Biometrics/verifyIris", localVarRequestOptions, this.Configuration);
            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsVerifyIrisPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

        /// <summary>
        /// Performs iris verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of List&lt;VerifyResponse&gt;</returns>
        public async System.Threading.Tasks.Task<List<VerifyResponse>> ApiBiometricsVerifyIrisPostAsync(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>> localVarResponse = await ApiBiometricsVerifyIrisPostWithHttpInfoAsync(userId, contents, operationIndex, cancellationToken).ConfigureAwait(false);
            return localVarResponse.Data;
        }

        /// <summary>
        /// Performs iris verification of the user provided in the request parameters. This method is meant to be used in a HTML form.
        /// </summary>
        /// <exception cref="Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="userId">The user identifier to verify against</param>
        /// <param name="contents">The probe images to verify with</param>
        /// <param name="operationIndex">Index associated with the operation.</param>
        /// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
        /// <returns>Task of ApiResponse (List&lt;VerifyResponse&gt;)</returns>
        public async System.Threading.Tasks.Task<Org.OpenAPITools.Client.ApiResponse<List<VerifyResponse>>> ApiBiometricsVerifyIrisPostWithHttpInfoAsync(Guid userId, List<IrisTypesVerifyContent> contents, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            // verify the required parameter 'contents' is set
            if (contents == null)
            {
                throw new Org.OpenAPITools.Client.ApiException(400, "Missing required parameter 'contents' when calling BiometricsApi->ApiBiometricsVerifyIrisPost");
            }


            Org.OpenAPITools.Client.RequestOptions localVarRequestOptions = new Org.OpenAPITools.Client.RequestOptions();

            string[] _contentTypes = new string[] {
                "multipart/form-data"
            };

            // to determine the Accept header
            string[] _accepts = new string[] {
                "application/json"
            };

            var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
            if (localVarContentType != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
            }

            var localVarAccept = Org.OpenAPITools.Client.ClientUtils.SelectHeaderAccept(_accepts);
            if (localVarAccept != null)
            {
                localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
            }

            localVarRequestOptions.FormParameters.Add("UserId", Org.OpenAPITools.Client.ClientUtils.ParameterToString(userId)); // form parameter
            localVarRequestOptions.FormParameters.Add("Contents", Org.OpenAPITools.Client.ClientUtils.ParameterToString(contents)); // form parameter

            localVarRequestOptions.Operation = "BiometricsApi.ApiBiometricsVerifyIrisPost";
            localVarRequestOptions.OperationIndex = operationIndex;

            // authentication (apiKey) required
            if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY")))
            {
                localVarRequestOptions.HeaderParameters.Add("X-SMAC-PLATFORM-API-KEY", this.Configuration.GetApiKeyWithPrefix("X-SMAC-PLATFORM-API-KEY"));
            }
            // authentication (bearer) required
            // bearer authentication required
            if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
            {
                localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
            }

            // make the HTTP request
            var localVarResponse = await this.AsynchronousClient.PostAsync<List<VerifyResponse>>("/api/Biometrics/verifyIris", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false);

            if (this.ExceptionFactory != null)
            {
                Exception _exception = this.ExceptionFactory("ApiBiometricsVerifyIrisPost", localVarResponse);
                if (_exception != null)
                {
                    throw _exception;
                }
            }

            return localVarResponse;
        }

    }
}
