/*
 * Swagger of Opencellsoft Api
 * @#Introduction
 *
 * The version of the OpenAPI document: 7.3.1-SNAPSHOT
 * Contact: contact@opencellsoft.fr
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.openapitools.client.api;

import org.openapitools.client.ApiCallback;
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.ApiResponse;
import org.openapitools.client.Configuration;
import org.openapitools.client.Pair;
import org.openapitools.client.ProgressRequestBody;
import org.openapitools.client.ProgressResponseBody;

import com.google.gson.reflect.TypeToken;

import java.io.IOException;


import org.openapitools.client.model.AccessDto;
import org.openapitools.client.model.AccessesResponseDto;
import org.openapitools.client.model.ActionStatus;
import org.openapitools.client.model.GetAccessResponseDto;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class AccessApi {
    private ApiClient localVarApiClient;

    public AccessApi() {
        this(Configuration.getDefaultApiClient());
    }

    public AccessApi(ApiClient apiClient) {
        this.localVarApiClient = apiClient;
    }

    public ApiClient getApiClient() {
        return localVarApiClient;
    }

    public void setApiClient(ApiClient apiClient) {
        this.localVarApiClient = apiClient;
    }

    /**
     * Build call for dELETEAccessAccessCodeSubscriptionCode1
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call dELETEAccessAccessCodeSubscriptionCode1Call(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access/{accessCode}/{subscriptionCode}"
            .replaceAll("\\{" + "accessCode" + "\\}", localVarApiClient.escapeString(accessCode.toString()))
            .replaceAll("\\{" + "subscriptionCode" + "\\}", localVarApiClient.escapeString(subscriptionCode.toString()));

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call dELETEAccessAccessCodeSubscriptionCode1ValidateBeforeCall(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        
        // verify the required parameter 'accessCode' is set
        if (accessCode == null) {
            throw new ApiException("Missing the required parameter 'accessCode' when calling dELETEAccessAccessCodeSubscriptionCode1(Async)");
        }
        
        // verify the required parameter 'subscriptionCode' is set
        if (subscriptionCode == null) {
            throw new ApiException("Missing the required parameter 'subscriptionCode' when calling dELETEAccessAccessCodeSubscriptionCode1(Async)");
        }
        

        okhttp3.Call localVarCall = dELETEAccessAccessCodeSubscriptionCode1Call(accessCode, subscriptionCode, _callback);
        return localVarCall;

    }

    /**
     *  Remove an access with a given access code and subscription code.  
     *  Remove an access with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus dELETEAccessAccessCodeSubscriptionCode1(String accessCode, String subscriptionCode) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = dELETEAccessAccessCodeSubscriptionCode1WithHttpInfo(accessCode, subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  Remove an access with a given access code and subscription code.  
     *  Remove an access with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> dELETEAccessAccessCodeSubscriptionCode1WithHttpInfo(String accessCode, String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = dELETEAccessAccessCodeSubscriptionCode1ValidateBeforeCall(accessCode, subscriptionCode, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Remove an access with a given access code and subscription code.   (asynchronously)
     *  Remove an access with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call dELETEAccessAccessCodeSubscriptionCode1Async(String accessCode, String subscriptionCode, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = dELETEAccessAccessCodeSubscriptionCode1ValidateBeforeCall(accessCode, subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETAccessList1
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  A list of accesses  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETAccessList1Call(String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access/list";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        if (subscriptionCode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("subscriptionCode", subscriptionCode));
        }

        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call gETAccessList1ValidateBeforeCall(String subscriptionCode, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETAccessList1Call(subscriptionCode, _callback);
        return localVarCall;

    }

    /**
     *  List Access filtered by subscriptionCode.  
     *  List Access filtered by subscriptionCode.  
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @return AccessesResponseDto
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  A list of accesses  </td><td>  -  </td></tr>
     </table>
     */
    public AccessesResponseDto gETAccessList1(String subscriptionCode) throws ApiException {
        ApiResponse<AccessesResponseDto> localVarResp = gETAccessList1WithHttpInfo(subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  List Access filtered by subscriptionCode.  
     *  List Access filtered by subscriptionCode.  
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @return ApiResponse&lt;AccessesResponseDto&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  A list of accesses  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<AccessesResponseDto> gETAccessList1WithHttpInfo(String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = gETAccessList1ValidateBeforeCall(subscriptionCode, null);
        Type localVarReturnType = new TypeToken<AccessesResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  List Access filtered by subscriptionCode.   (asynchronously)
     *  List Access filtered by subscriptionCode.  
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  A list of accesses  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETAccessList1Async(String subscriptionCode, final ApiCallback<AccessesResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETAccessList1ValidateBeforeCall(subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<AccessesResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETAccessSearch1
     * @param accessCode  accessCode Access code  (optional)
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Access  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETAccessSearch1Call(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        if (accessCode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("accessCode", accessCode));
        }

        if (subscriptionCode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("subscriptionCode", subscriptionCode));
        }

        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call gETAccessSearch1ValidateBeforeCall(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETAccessSearch1Call(accessCode, subscriptionCode, _callback);
        return localVarCall;

    }

    /**
     *  Search for an access with a given access code and subscription code.  
     *  Search for an access with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (optional)
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @return GetAccessResponseDto
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Access  </td><td>  -  </td></tr>
     </table>
     */
    public GetAccessResponseDto gETAccessSearch1(String accessCode, String subscriptionCode) throws ApiException {
        ApiResponse<GetAccessResponseDto> localVarResp = gETAccessSearch1WithHttpInfo(accessCode, subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  Search for an access with a given access code and subscription code.  
     *  Search for an access with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (optional)
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @return ApiResponse&lt;GetAccessResponseDto&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Access  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<GetAccessResponseDto> gETAccessSearch1WithHttpInfo(String accessCode, String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = gETAccessSearch1ValidateBeforeCall(accessCode, subscriptionCode, null);
        Type localVarReturnType = new TypeToken<GetAccessResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Search for an access with a given access code and subscription code.   (asynchronously)
     *  Search for an access with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (optional)
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Access  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETAccessSearch1Async(String accessCode, String subscriptionCode, final ApiCallback<GetAccessResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETAccessSearch1ValidateBeforeCall(accessCode, subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<GetAccessResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETIBaseVersion35
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Action status with version number as a message  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETIBaseVersion35Call(final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access/version";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call gETIBaseVersion35ValidateBeforeCall(final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETIBaseVersion35Call(_callback);
        return localVarCall;

    }

    /**
     *  Get version of application  
     *  Get version of application  
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Action status with version number as a message  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus gETIBaseVersion35() throws ApiException {
        ApiResponse<ActionStatus> localVarResp = gETIBaseVersion35WithHttpInfo();
        return localVarResp.getData();
    }

    /**
     *  Get version of application  
     *  Get version of application  
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Action status with version number as a message  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> gETIBaseVersion35WithHttpInfo() throws ApiException {
        okhttp3.Call localVarCall = gETIBaseVersion35ValidateBeforeCall(null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Get version of application   (asynchronously)
     *  Get version of application  
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Action status with version number as a message  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETIBaseVersion35Async(final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETIBaseVersion35ValidateBeforeCall(_callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTAccessAccessCodeSubscriptionCodeDisable1
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessAccessCodeSubscriptionCodeDisable1Call(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access/{accessCode}/{subscriptionCode}/disable"
            .replaceAll("\\{" + "accessCode" + "\\}", localVarApiClient.escapeString(accessCode.toString()))
            .replaceAll("\\{" + "subscriptionCode" + "\\}", localVarApiClient.escapeString(subscriptionCode.toString()));

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call pOSTAccessAccessCodeSubscriptionCodeDisable1ValidateBeforeCall(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        
        // verify the required parameter 'accessCode' is set
        if (accessCode == null) {
            throw new ApiException("Missing the required parameter 'accessCode' when calling pOSTAccessAccessCodeSubscriptionCodeDisable1(Async)");
        }
        
        // verify the required parameter 'subscriptionCode' is set
        if (subscriptionCode == null) {
            throw new ApiException("Missing the required parameter 'subscriptionCode' when calling pOSTAccessAccessCodeSubscriptionCodeDisable1(Async)");
        }
        

        okhttp3.Call localVarCall = pOSTAccessAccessCodeSubscriptionCodeDisable1Call(accessCode, subscriptionCode, _callback);
        return localVarCall;

    }

    /**
     *  Disable an Access point with a given access code and subscription code.  
     *  Disable an Access point with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus pOSTAccessAccessCodeSubscriptionCodeDisable1(String accessCode, String subscriptionCode) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTAccessAccessCodeSubscriptionCodeDisable1WithHttpInfo(accessCode, subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  Disable an Access point with a given access code and subscription code.  
     *  Disable an Access point with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> pOSTAccessAccessCodeSubscriptionCodeDisable1WithHttpInfo(String accessCode, String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = pOSTAccessAccessCodeSubscriptionCodeDisable1ValidateBeforeCall(accessCode, subscriptionCode, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Disable an Access point with a given access code and subscription code.   (asynchronously)
     *  Disable an Access point with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessAccessCodeSubscriptionCodeDisable1Async(String accessCode, String subscriptionCode, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTAccessAccessCodeSubscriptionCodeDisable1ValidateBeforeCall(accessCode, subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTAccessAccessCodeSubscriptionCodeEnable1
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessAccessCodeSubscriptionCodeEnable1Call(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access/{accessCode}/{subscriptionCode}/enable"
            .replaceAll("\\{" + "accessCode" + "\\}", localVarApiClient.escapeString(accessCode.toString()))
            .replaceAll("\\{" + "subscriptionCode" + "\\}", localVarApiClient.escapeString(subscriptionCode.toString()));

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call pOSTAccessAccessCodeSubscriptionCodeEnable1ValidateBeforeCall(String accessCode, String subscriptionCode, final ApiCallback _callback) throws ApiException {
        
        // verify the required parameter 'accessCode' is set
        if (accessCode == null) {
            throw new ApiException("Missing the required parameter 'accessCode' when calling pOSTAccessAccessCodeSubscriptionCodeEnable1(Async)");
        }
        
        // verify the required parameter 'subscriptionCode' is set
        if (subscriptionCode == null) {
            throw new ApiException("Missing the required parameter 'subscriptionCode' when calling pOSTAccessAccessCodeSubscriptionCodeEnable1(Async)");
        }
        

        okhttp3.Call localVarCall = pOSTAccessAccessCodeSubscriptionCodeEnable1Call(accessCode, subscriptionCode, _callback);
        return localVarCall;

    }

    /**
     *  Enable an Access point with a given access code and subscription code.  
     *  Enable an Access point with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus pOSTAccessAccessCodeSubscriptionCodeEnable1(String accessCode, String subscriptionCode) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTAccessAccessCodeSubscriptionCodeEnable1WithHttpInfo(accessCode, subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  Enable an Access point with a given access code and subscription code.  
     *  Enable an Access point with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> pOSTAccessAccessCodeSubscriptionCodeEnable1WithHttpInfo(String accessCode, String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = pOSTAccessAccessCodeSubscriptionCodeEnable1ValidateBeforeCall(accessCode, subscriptionCode, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Enable an Access point with a given access code and subscription code.   (asynchronously)
     *  Enable an Access point with a given access code and subscription code.  
     * @param accessCode  accessCode Access code  (required)
     * @param subscriptionCode  subscriptionCode Subscription code  (required)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessAccessCodeSubscriptionCodeEnable1Async(String accessCode, String subscriptionCode, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTAccessAccessCodeSubscriptionCodeEnable1ValidateBeforeCall(accessCode, subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTAccessCreate1
     * @param accessDto  postData Access data  (optional)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessCreate1Call(AccessDto accessDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = accessDto;

        // create path and map variables
        String localVarPath = "/account/access";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            "application/json", "application/xml"
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call pOSTAccessCreate1ValidateBeforeCall(AccessDto accessDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTAccessCreate1Call(accessDto, _callback);
        return localVarCall;

    }

    /**
     *  Create a new access  
     *  Create a new access  
     * @param accessDto  postData Access data  (optional)
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus pOSTAccessCreate1(AccessDto accessDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTAccessCreate1WithHttpInfo(accessDto);
        return localVarResp.getData();
    }

    /**
     *  Create a new access  
     *  Create a new access  
     * @param accessDto  postData Access data  (optional)
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> pOSTAccessCreate1WithHttpInfo(AccessDto accessDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTAccessCreate1ValidateBeforeCall(accessDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Create a new access   (asynchronously)
     *  Create a new access  
     * @param accessDto  postData Access data  (optional)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessCreate1Async(AccessDto accessDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTAccessCreate1ValidateBeforeCall(accessDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTAccessCreateOrUpdate1
     * @param accessDto  postData data  (optional)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessCreateOrUpdate1Call(AccessDto accessDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = accessDto;

        // create path and map variables
        String localVarPath = "/account/access/createOrUpdate";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            "application/json", "application/xml"
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call pOSTAccessCreateOrUpdate1ValidateBeforeCall(AccessDto accessDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTAccessCreateOrUpdate1Call(accessDto, _callback);
        return localVarCall;

    }

    /**
     *  Create new or update an existing access  
     *  Create new or update an existing access  
     * @param accessDto  postData data  (optional)
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus pOSTAccessCreateOrUpdate1(AccessDto accessDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTAccessCreateOrUpdate1WithHttpInfo(accessDto);
        return localVarResp.getData();
    }

    /**
     *  Create new or update an existing access  
     *  Create new or update an existing access  
     * @param accessDto  postData data  (optional)
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> pOSTAccessCreateOrUpdate1WithHttpInfo(AccessDto accessDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTAccessCreateOrUpdate1ValidateBeforeCall(accessDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Create new or update an existing access   (asynchronously)
     *  Create new or update an existing access  
     * @param accessDto  postData data  (optional)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTAccessCreateOrUpdate1Async(AccessDto accessDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTAccessCreateOrUpdate1ValidateBeforeCall(accessDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTAccessUpdate1
     * @param accessDto  postData Access data  (optional)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pUTAccessUpdate1Call(AccessDto accessDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = accessDto;

        // create path and map variables
        String localVarPath = "/account/access";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            "application/json", "application/xml"
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call pUTAccessUpdate1ValidateBeforeCall(AccessDto accessDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTAccessUpdate1Call(accessDto, _callback);
        return localVarCall;

    }

    /**
     *  Update an existing access  
     *  Update an existing access  
     * @param accessDto  postData Access data  (optional)
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus pUTAccessUpdate1(AccessDto accessDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTAccessUpdate1WithHttpInfo(accessDto);
        return localVarResp.getData();
    }

    /**
     *  Update an existing access  
     *  Update an existing access  
     * @param accessDto  postData Access data  (optional)
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> pUTAccessUpdate1WithHttpInfo(AccessDto accessDto) throws ApiException {
        okhttp3.Call localVarCall = pUTAccessUpdate1ValidateBeforeCall(accessDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Update an existing access   (asynchronously)
     *  Update an existing access  
     * @param accessDto  postData Access data  (optional)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pUTAccessUpdate1Async(AccessDto accessDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTAccessUpdate1ValidateBeforeCall(accessDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for user
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td> default response </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call userCall(final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/account/access/user";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
        final String[] localVarAccepts = {
            "application/json", "application/xml"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
            
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        localVarHeaderParams.put("Content-Type", localVarContentType);

        String[] localVarAuthNames = new String[] { "auth" };
        return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call userValidateBeforeCall(final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = userCall(_callback);
        return localVarCall;

    }

    /**
     * 
     * 
     * @return ActionStatus
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td> default response </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus user() throws ApiException {
        ApiResponse<ActionStatus> localVarResp = userWithHttpInfo();
        return localVarResp.getData();
    }

    /**
     * 
     * 
     * @return ApiResponse&lt;ActionStatus&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td> default response </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> userWithHttpInfo() throws ApiException {
        okhttp3.Call localVarCall = userValidateBeforeCall(null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  (asynchronously)
     * 
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 0 </td><td> default response </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call userAsync(final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = userValidateBeforeCall(_callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
}
