/*
 * 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.ActionStatus;
import org.openapitools.client.model.ActivateServicesRequestDto;
import org.openapitools.client.model.ApplyOneShotChargeInstanceRequestDto;
import org.openapitools.client.model.ApplyProductRequestDto;
import org.openapitools.client.model.GetDueDateDelayResponseDto;
import org.openapitools.client.model.GetListServiceInstanceResponseDto;
import org.openapitools.client.model.GetOneShotChargesResponseDto;
import org.openapitools.client.model.GetServiceInstanceResponseDto;
import org.openapitools.client.model.GetSubscriptionResponseDto;
import org.openapitools.client.model.InstantiateServicesRequestDto;
import org.openapitools.client.model.OperationServicesRequestDto;
import org.openapitools.client.model.OperationSubscriptionRequestDto;
import org.openapitools.client.model.PagingAndFiltering;
import org.openapitools.client.model.RateSubscriptionRequestDto;
import org.openapitools.client.model.RateSubscriptionResponseDto;
import org.openapitools.client.model.SubscriptionAndServicesToActivateRequestDto;
import org.openapitools.client.model.SubscriptionDto;
import org.openapitools.client.model.SubscriptionForCustomerRequestDto;
import org.openapitools.client.model.SubscriptionForCustomerResponseDto;
import org.openapitools.client.model.SubscriptionsListResponseDto;
import org.openapitools.client.model.TerminateSubscriptionRequestDto;
import org.openapitools.client.model.TerminateSubscriptionServicesRequestDto;
import org.openapitools.client.model.UpdateServicesRequestDto;

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

public class SubscriptionApi {
    private ApiClient localVarApiClient;

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

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

    public ApiClient getApiClient() {
        return localVarApiClient;
    }

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

    /**
     * Build call for dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (required)
     * @param oneshotChargeCode  oneshotChargeCode one shot Charge 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>  A subscription  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1Call(String subscriptionCode, String oneshotChargeCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/oneShotCharge/{subscriptionCode}/{oneshotChargeCode}"
            .replaceAll("\\{" + "subscriptionCode" + "\\}", localVarApiClient.escapeString(subscriptionCode.toString()))
            .replaceAll("\\{" + "oneshotChargeCode" + "\\}", localVarApiClient.escapeString(oneshotChargeCode.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 dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1ValidateBeforeCall(String subscriptionCode, String oneshotChargeCode, final ApiCallback _callback) throws ApiException {
        
        // verify the required parameter 'subscriptionCode' is set
        if (subscriptionCode == null) {
            throw new ApiException("Missing the required parameter 'subscriptionCode' when calling dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1(Async)");
        }
        
        // verify the required parameter 'oneshotChargeCode' is set
        if (oneshotChargeCode == null) {
            throw new ApiException("Missing the required parameter 'oneshotChargeCode' when calling dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1(Async)");
        }
        

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

    }

    /**
     *  Search for a subscription with a given code.  
     *  Search for a subscription with a given code.  
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (required)
     * @param oneshotChargeCode  oneshotChargeCode one shot Charge 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>  A subscription  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1(String subscriptionCode, String oneshotChargeCode) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1WithHttpInfo(subscriptionCode, oneshotChargeCode);
        return localVarResp.getData();
    }

    /**
     *  Search for a subscription with a given code.  
     *  Search for a subscription with a given code.  
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (required)
     * @param oneshotChargeCode  oneshotChargeCode one shot Charge 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>  A subscription  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1WithHttpInfo(String subscriptionCode, String oneshotChargeCode) throws ApiException {
        okhttp3.Call localVarCall = dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1ValidateBeforeCall(subscriptionCode, oneshotChargeCode, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Search for a subscription with a given code.   (asynchronously)
     *  Search for a subscription with a given code.  
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (required)
     * @param oneshotChargeCode  oneshotChargeCode one shot Charge 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>  A subscription  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1Async(String subscriptionCode, String oneshotChargeCode, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = dELETESubscriptionOneShotChargeSubscriptionCodeOneshotChargeCode1ValidateBeforeCall(subscriptionCode, oneshotChargeCode, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETIBaseVersion40
     * @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 gETIBaseVersion40Call(final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/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 gETIBaseVersion40ValidateBeforeCall(final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETIBaseVersion40Call(_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 gETIBaseVersion40() throws ApiException {
        ApiResponse<ActionStatus> localVarResp = gETIBaseVersion40WithHttpInfo();
        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> gETIBaseVersion40WithHttpInfo() throws ApiException {
        okhttp3.Call localVarCall = gETIBaseVersion40ValidateBeforeCall(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 gETIBaseVersion40Async(final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETIBaseVersion40ValidateBeforeCall(_callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionDueDateDelay1
     * @param subscriptionCode  subscriptionCode - required  (optional)
     * @param invoiceNumber  invoiceNumber - invoice number can be null  (optional)
     * @param invoiceTypeCode  invoiceTypeCode - can be null  (optional)
     * @param orderCode  orderCode - can be null  (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>  list of due date delay  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionDueDateDelay1Call(String subscriptionCode, String invoiceNumber, String invoiceTypeCode, String orderCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/dueDateDelay";

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

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

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

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

        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 gETSubscriptionDueDateDelay1ValidateBeforeCall(String subscriptionCode, String invoiceNumber, String invoiceTypeCode, String orderCode, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETSubscriptionDueDateDelay1Call(subscriptionCode, invoiceNumber, invoiceTypeCode, orderCode, _callback);
        return localVarCall;

    }

    /**
     *  Returns the due date delay information.  
     *  Returns the due date delay information.  
     * @param subscriptionCode  subscriptionCode - required  (optional)
     * @param invoiceNumber  invoiceNumber - invoice number can be null  (optional)
     * @param invoiceTypeCode  invoiceTypeCode - can be null  (optional)
     * @param orderCode  orderCode - can be null  (optional)
     * @return GetDueDateDelayResponseDto
     * @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>  list of due date delay  </td><td>  -  </td></tr>
     </table>
     */
    public GetDueDateDelayResponseDto gETSubscriptionDueDateDelay1(String subscriptionCode, String invoiceNumber, String invoiceTypeCode, String orderCode) throws ApiException {
        ApiResponse<GetDueDateDelayResponseDto> localVarResp = gETSubscriptionDueDateDelay1WithHttpInfo(subscriptionCode, invoiceNumber, invoiceTypeCode, orderCode);
        return localVarResp.getData();
    }

    /**
     *  Returns the due date delay information.  
     *  Returns the due date delay information.  
     * @param subscriptionCode  subscriptionCode - required  (optional)
     * @param invoiceNumber  invoiceNumber - invoice number can be null  (optional)
     * @param invoiceTypeCode  invoiceTypeCode - can be null  (optional)
     * @param orderCode  orderCode - can be null  (optional)
     * @return ApiResponse&lt;GetDueDateDelayResponseDto&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>  list of due date delay  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<GetDueDateDelayResponseDto> gETSubscriptionDueDateDelay1WithHttpInfo(String subscriptionCode, String invoiceNumber, String invoiceTypeCode, String orderCode) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionDueDateDelay1ValidateBeforeCall(subscriptionCode, invoiceNumber, invoiceTypeCode, orderCode, null);
        Type localVarReturnType = new TypeToken<GetDueDateDelayResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Returns the due date delay information.   (asynchronously)
     *  Returns the due date delay information.  
     * @param subscriptionCode  subscriptionCode - required  (optional)
     * @param invoiceNumber  invoiceNumber - invoice number can be null  (optional)
     * @param invoiceTypeCode  invoiceTypeCode - can be null  (optional)
     * @param orderCode  orderCode - can be null  (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>  list of due date delay  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionDueDateDelay1Async(String subscriptionCode, String invoiceNumber, String invoiceTypeCode, String orderCode, final ApiCallback<GetDueDateDelayResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionDueDateDelay1ValidateBeforeCall(subscriptionCode, invoiceNumber, invoiceTypeCode, orderCode, _callback);
        Type localVarReturnType = new TypeToken<GetDueDateDelayResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionList1
     * @param userAccountCode  userAccountCode The user account&#39;s code. Deprecated in v. 4.7.2 Use query&#x3D;userAccount.code:code instead  (optional)
     * @param mergedCF  mergedCF Should inherited custom field values be included. Deprecated in v. 4.7.2 Use pagingAndFiltering.fields&#x3D;inheritedCF instead  (optional)
     * @param query  query Search criteria  (optional)
     * @param fields  fields Data retrieval options/fieldnames separated by a comma  (optional)
     * @param offset  offset Pagination - from record number  (optional)
     * @param limit  limit Pagination - number of records to retrieve  (optional)
     * @param sortBy  sortBy Sorting - field to sort by - a field from a main entity being searched. See Data model for a list of fields.  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder Sorting - sort order.  (optional, default to ASCENDING)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionList1Call(String userAccountCode, Boolean mergedCF, String query, String fields, Integer offset, Integer limit, String sortBy, String sortOrder, String inheritCF, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/list";

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

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

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

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

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

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

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

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

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

        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 gETSubscriptionList1ValidateBeforeCall(String userAccountCode, Boolean mergedCF, String query, String fields, Integer offset, Integer limit, String sortBy, String sortOrder, String inheritCF, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETSubscriptionList1Call(userAccountCode, mergedCF, query, fields, offset, limit, sortBy, sortOrder, inheritCF, _callback);
        return localVarCall;

    }

    /**
     *  List subscriptions matching a given criteria  
     *  List subscriptions matching a given criteria  
     * @param userAccountCode  userAccountCode The user account&#39;s code. Deprecated in v. 4.7.2 Use query&#x3D;userAccount.code:code instead  (optional)
     * @param mergedCF  mergedCF Should inherited custom field values be included. Deprecated in v. 4.7.2 Use pagingAndFiltering.fields&#x3D;inheritedCF instead  (optional)
     * @param query  query Search criteria  (optional)
     * @param fields  fields Data retrieval options/fieldnames separated by a comma  (optional)
     * @param offset  offset Pagination - from record number  (optional)
     * @param limit  limit Pagination - number of records to retrieve  (optional)
     * @param sortBy  sortBy Sorting - field to sort by - a field from a main entity being searched. See Data model for a list of fields.  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder Sorting - sort order.  (optional, default to ASCENDING)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @return SubscriptionsListResponseDto
     * @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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public SubscriptionsListResponseDto gETSubscriptionList1(String userAccountCode, Boolean mergedCF, String query, String fields, Integer offset, Integer limit, String sortBy, String sortOrder, String inheritCF) throws ApiException {
        ApiResponse<SubscriptionsListResponseDto> localVarResp = gETSubscriptionList1WithHttpInfo(userAccountCode, mergedCF, query, fields, offset, limit, sortBy, sortOrder, inheritCF);
        return localVarResp.getData();
    }

    /**
     *  List subscriptions matching a given criteria  
     *  List subscriptions matching a given criteria  
     * @param userAccountCode  userAccountCode The user account&#39;s code. Deprecated in v. 4.7.2 Use query&#x3D;userAccount.code:code instead  (optional)
     * @param mergedCF  mergedCF Should inherited custom field values be included. Deprecated in v. 4.7.2 Use pagingAndFiltering.fields&#x3D;inheritedCF instead  (optional)
     * @param query  query Search criteria  (optional)
     * @param fields  fields Data retrieval options/fieldnames separated by a comma  (optional)
     * @param offset  offset Pagination - from record number  (optional)
     * @param limit  limit Pagination - number of records to retrieve  (optional)
     * @param sortBy  sortBy Sorting - field to sort by - a field from a main entity being searched. See Data model for a list of fields.  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder Sorting - sort order.  (optional, default to ASCENDING)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @return ApiResponse&lt;SubscriptionsListResponseDto&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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<SubscriptionsListResponseDto> gETSubscriptionList1WithHttpInfo(String userAccountCode, Boolean mergedCF, String query, String fields, Integer offset, Integer limit, String sortBy, String sortOrder, String inheritCF) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionList1ValidateBeforeCall(userAccountCode, mergedCF, query, fields, offset, limit, sortBy, sortOrder, inheritCF, null);
        Type localVarReturnType = new TypeToken<SubscriptionsListResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  List subscriptions matching a given criteria   (asynchronously)
     *  List subscriptions matching a given criteria  
     * @param userAccountCode  userAccountCode The user account&#39;s code. Deprecated in v. 4.7.2 Use query&#x3D;userAccount.code:code instead  (optional)
     * @param mergedCF  mergedCF Should inherited custom field values be included. Deprecated in v. 4.7.2 Use pagingAndFiltering.fields&#x3D;inheritedCF instead  (optional)
     * @param query  query Search criteria  (optional)
     * @param fields  fields Data retrieval options/fieldnames separated by a comma  (optional)
     * @param offset  offset Pagination - from record number  (optional)
     * @param limit  limit Pagination - number of records to retrieve  (optional)
     * @param sortBy  sortBy Sorting - field to sort by - a field from a main entity being searched. See Data model for a list of fields.  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder Sorting - sort order.  (optional, default to ASCENDING)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionList1Async(String userAccountCode, Boolean mergedCF, String query, String fields, Integer offset, Integer limit, String sortBy, String sortOrder, String inheritCF, final ApiCallback<SubscriptionsListResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionList1ValidateBeforeCall(userAccountCode, mergedCF, query, fields, offset, limit, sortBy, sortOrder, inheritCF, _callback);
        Type localVarReturnType = new TypeToken<SubscriptionsListResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionListAll1
     * @param offset  offset offset  (optional)
     * @param limit  limit number of elements in response  (optional)
     * @param mergedCF  mergedCF true if return  (optional, default to false)
     * @param sortBy  sortBy sortby field  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder ASC/DESC  (optional, default to ASCENDING)
     * @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>  list of all subscriptions.  </td><td>  -  </td></tr>
     </table>
     * @deprecated
     */
    @Deprecated
    public okhttp3.Call gETSubscriptionListAll1Call(Integer offset, Integer limit, Boolean mergedCF, String sortBy, String sortOrder, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/listAll";

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

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

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

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

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

        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);
    }

    @Deprecated
    @SuppressWarnings("rawtypes")
    private okhttp3.Call gETSubscriptionListAll1ValidateBeforeCall(Integer offset, Integer limit, Boolean mergedCF, String sortBy, String sortOrder, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETSubscriptionListAll1Call(offset, limit, mergedCF, sortBy, sortOrder, _callback);
        return localVarCall;

    }

    /**
     *  Deprecated in v.4.7.2 Use /list instead.  
     *  Deprecated in v.4.7.2 Use /list instead.  
     * @param offset  offset offset  (optional)
     * @param limit  limit number of elements in response  (optional)
     * @param mergedCF  mergedCF true if return  (optional, default to false)
     * @param sortBy  sortBy sortby field  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder ASC/DESC  (optional, default to ASCENDING)
     * @return SubscriptionsListResponseDto
     * @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>  list of all subscriptions.  </td><td>  -  </td></tr>
     </table>
     * @deprecated
     */
    @Deprecated
    public SubscriptionsListResponseDto gETSubscriptionListAll1(Integer offset, Integer limit, Boolean mergedCF, String sortBy, String sortOrder) throws ApiException {
        ApiResponse<SubscriptionsListResponseDto> localVarResp = gETSubscriptionListAll1WithHttpInfo(offset, limit, mergedCF, sortBy, sortOrder);
        return localVarResp.getData();
    }

    /**
     *  Deprecated in v.4.7.2 Use /list instead.  
     *  Deprecated in v.4.7.2 Use /list instead.  
     * @param offset  offset offset  (optional)
     * @param limit  limit number of elements in response  (optional)
     * @param mergedCF  mergedCF true if return  (optional, default to false)
     * @param sortBy  sortBy sortby field  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder ASC/DESC  (optional, default to ASCENDING)
     * @return ApiResponse&lt;SubscriptionsListResponseDto&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>  list of all subscriptions.  </td><td>  -  </td></tr>
     </table>
     * @deprecated
     */
    @Deprecated
    public ApiResponse<SubscriptionsListResponseDto> gETSubscriptionListAll1WithHttpInfo(Integer offset, Integer limit, Boolean mergedCF, String sortBy, String sortOrder) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionListAll1ValidateBeforeCall(offset, limit, mergedCF, sortBy, sortOrder, null);
        Type localVarReturnType = new TypeToken<SubscriptionsListResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Deprecated in v.4.7.2 Use /list instead.   (asynchronously)
     *  Deprecated in v.4.7.2 Use /list instead.  
     * @param offset  offset offset  (optional)
     * @param limit  limit number of elements in response  (optional)
     * @param mergedCF  mergedCF true if return  (optional, default to false)
     * @param sortBy  sortBy sortby field  (optional, default to &quot;code&quot;)
     * @param sortOrder  sortOrder ASC/DESC  (optional, default to ASCENDING)
     * @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>  list of all subscriptions.  </td><td>  -  </td></tr>
     </table>
     * @deprecated
     */
    @Deprecated
    public okhttp3.Call gETSubscriptionListAll1Async(Integer offset, Integer limit, Boolean mergedCF, String sortBy, String sortOrder, final ApiCallback<SubscriptionsListResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionListAll1ValidateBeforeCall(offset, limit, mergedCF, sortBy, sortOrder, _callback);
        Type localVarReturnType = new TypeToken<SubscriptionsListResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionListOneshotChargeOthers1
     * @param subscriptionCode  (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>  list of one-shot other charges.  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionListOneshotChargeOthers1Call(String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/listOneshotChargeOthers";

        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 gETSubscriptionListOneshotChargeOthers1ValidateBeforeCall(String subscriptionCode, final ApiCallback _callback) throws ApiException {
        

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

    }

    /**
     *  Search for a subscription with a given code.   
     *  Search for a subscription with a given code.   
     * @param subscriptionCode  (optional)
     * @return GetOneShotChargesResponseDto
     * @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>  list of one-shot other charges.  </td><td>  -  </td></tr>
     </table>
     */
    public GetOneShotChargesResponseDto gETSubscriptionListOneshotChargeOthers1(String subscriptionCode) throws ApiException {
        ApiResponse<GetOneShotChargesResponseDto> localVarResp = gETSubscriptionListOneshotChargeOthers1WithHttpInfo(subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  Search for a subscription with a given code.   
     *  Search for a subscription with a given code.   
     * @param subscriptionCode  (optional)
     * @return ApiResponse&lt;GetOneShotChargesResponseDto&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>  list of one-shot other charges.  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<GetOneShotChargesResponseDto> gETSubscriptionListOneshotChargeOthers1WithHttpInfo(String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionListOneshotChargeOthers1ValidateBeforeCall(subscriptionCode, null);
        Type localVarReturnType = new TypeToken<GetOneShotChargesResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Search for a subscription with a given code.    (asynchronously)
     *  Search for a subscription with a given code.   
     * @param subscriptionCode  (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>  list of one-shot other charges.  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionListOneshotChargeOthers1Async(String subscriptionCode, final ApiCallback<GetOneShotChargesResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionListOneshotChargeOthers1ValidateBeforeCall(subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<GetOneShotChargesResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionSearch1
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (optional)
     * @param mergedCF  mergedCF true if merge inherited custom fields.  (optional, default to false)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @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 gETSubscriptionSearch1Call(String subscriptionCode, Boolean mergedCF, String inheritCF, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription";

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

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

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

        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 gETSubscriptionSearch1ValidateBeforeCall(String subscriptionCode, Boolean mergedCF, String inheritCF, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETSubscriptionSearch1Call(subscriptionCode, mergedCF, inheritCF, _callback);
        return localVarCall;

    }

    /**
     *  Search for a subscription with a given code.  
     *  Search for a subscription with a given code.  
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (optional)
     * @param mergedCF  mergedCF true if merge inherited custom fields.  (optional, default to false)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @return GetSubscriptionResponseDto
     * @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 GetSubscriptionResponseDto gETSubscriptionSearch1(String subscriptionCode, Boolean mergedCF, String inheritCF) throws ApiException {
        ApiResponse<GetSubscriptionResponseDto> localVarResp = gETSubscriptionSearch1WithHttpInfo(subscriptionCode, mergedCF, inheritCF);
        return localVarResp.getData();
    }

    /**
     *  Search for a subscription with a given code.  
     *  Search for a subscription with a given code.  
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (optional)
     * @param mergedCF  mergedCF true if merge inherited custom fields.  (optional, default to false)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @return ApiResponse&lt;GetSubscriptionResponseDto&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<GetSubscriptionResponseDto> gETSubscriptionSearch1WithHttpInfo(String subscriptionCode, Boolean mergedCF, String inheritCF) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionSearch1ValidateBeforeCall(subscriptionCode, mergedCF, inheritCF, null);
        Type localVarReturnType = new TypeToken<GetSubscriptionResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Search for a subscription with a given code.   (asynchronously)
     *  Search for a subscription with a given code.  
     * @param subscriptionCode  subscriptionCode The subscription&#39;s code  (optional)
     * @param mergedCF  mergedCF true if merge inherited custom fields.  (optional, default to false)
     * @param inheritCF  inheritCF Should inherited custom fields be retrieved. Defaults to INHERIT_NO_MERGE.  (optional, default to INHERIT_NO_MERGE)
     * @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 gETSubscriptionSearch1Async(String subscriptionCode, Boolean mergedCF, String inheritCF, final ApiCallback<GetSubscriptionResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionSearch1ValidateBeforeCall(subscriptionCode, mergedCF, inheritCF, _callback);
        Type localVarReturnType = new TypeToken<GetSubscriptionResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionserviceInstance1
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param serviceInstanceId  serviceInstanceCode Service instance code  (optional)
     * @param serviceInstanceCode  serviceInstanceId service instance id  (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>  Service instance  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionserviceInstance1Call(String subscriptionCode, Long serviceInstanceId, String serviceInstanceCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/serviceInstance";

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

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

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

        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 gETSubscriptionserviceInstance1ValidateBeforeCall(String subscriptionCode, Long serviceInstanceId, String serviceInstanceCode, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = gETSubscriptionserviceInstance1Call(subscriptionCode, serviceInstanceId, serviceInstanceCode, _callback);
        return localVarCall;

    }

    /**
     *  Find service instance.  
     *  Find service instance.  
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param serviceInstanceId  serviceInstanceCode Service instance code  (optional)
     * @param serviceInstanceCode  serviceInstanceId service instance id  (optional)
     * @return GetServiceInstanceResponseDto
     * @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>  Service instance  </td><td>  -  </td></tr>
     </table>
     */
    public GetServiceInstanceResponseDto gETSubscriptionserviceInstance1(String subscriptionCode, Long serviceInstanceId, String serviceInstanceCode) throws ApiException {
        ApiResponse<GetServiceInstanceResponseDto> localVarResp = gETSubscriptionserviceInstance1WithHttpInfo(subscriptionCode, serviceInstanceId, serviceInstanceCode);
        return localVarResp.getData();
    }

    /**
     *  Find service instance.  
     *  Find service instance.  
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param serviceInstanceId  serviceInstanceCode Service instance code  (optional)
     * @param serviceInstanceCode  serviceInstanceId service instance id  (optional)
     * @return ApiResponse&lt;GetServiceInstanceResponseDto&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>  Service instance  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<GetServiceInstanceResponseDto> gETSubscriptionserviceInstance1WithHttpInfo(String subscriptionCode, Long serviceInstanceId, String serviceInstanceCode) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionserviceInstance1ValidateBeforeCall(subscriptionCode, serviceInstanceId, serviceInstanceCode, null);
        Type localVarReturnType = new TypeToken<GetServiceInstanceResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Find service instance.   (asynchronously)
     *  Find service instance.  
     * @param subscriptionCode  subscriptionCode Subscription code  (optional)
     * @param serviceInstanceId  serviceInstanceCode Service instance code  (optional)
     * @param serviceInstanceCode  serviceInstanceId service instance id  (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>  Service instance  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionserviceInstance1Async(String subscriptionCode, Long serviceInstanceId, String serviceInstanceCode, final ApiCallback<GetServiceInstanceResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionserviceInstance1ValidateBeforeCall(subscriptionCode, serviceInstanceId, serviceInstanceCode, _callback);
        Type localVarReturnType = new TypeToken<GetServiceInstanceResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for gETSubscriptionserviceInstances1
     * @param subscriptionCode  subscriptionCode subscription code  (optional)
     * @param serviceInstanceCode  serviceInstanceCode service instance 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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionserviceInstances1Call(String subscriptionCode, String serviceInstanceCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/serviceInstances";

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

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

        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 gETSubscriptionserviceInstances1ValidateBeforeCall(String subscriptionCode, String serviceInstanceCode, final ApiCallback _callback) throws ApiException {
        

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

    }

    /**
     *  Returns a list of service instances.  
     *  Returns a list of service instances.  
     * @param subscriptionCode  subscriptionCode subscription code  (optional)
     * @param serviceInstanceCode  serviceInstanceCode service instance code.  (optional)
     * @return GetListServiceInstanceResponseDto
     * @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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public GetListServiceInstanceResponseDto gETSubscriptionserviceInstances1(String subscriptionCode, String serviceInstanceCode) throws ApiException {
        ApiResponse<GetListServiceInstanceResponseDto> localVarResp = gETSubscriptionserviceInstances1WithHttpInfo(subscriptionCode, serviceInstanceCode);
        return localVarResp.getData();
    }

    /**
     *  Returns a list of service instances.  
     *  Returns a list of service instances.  
     * @param subscriptionCode  subscriptionCode subscription code  (optional)
     * @param serviceInstanceCode  serviceInstanceCode service instance code.  (optional)
     * @return ApiResponse&lt;GetListServiceInstanceResponseDto&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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<GetListServiceInstanceResponseDto> gETSubscriptionserviceInstances1WithHttpInfo(String subscriptionCode, String serviceInstanceCode) throws ApiException {
        okhttp3.Call localVarCall = gETSubscriptionserviceInstances1ValidateBeforeCall(subscriptionCode, serviceInstanceCode, null);
        Type localVarReturnType = new TypeToken<GetListServiceInstanceResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Returns a list of service instances.   (asynchronously)
     *  Returns a list of service instances.  
     * @param subscriptionCode  subscriptionCode subscription code  (optional)
     * @param serviceInstanceCode  serviceInstanceCode service instance 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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call gETSubscriptionserviceInstances1Async(String subscriptionCode, String serviceInstanceCode, final ApiCallback<GetListServiceInstanceResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = gETSubscriptionserviceInstances1ValidateBeforeCall(subscriptionCode, serviceInstanceCode, _callback);
        Type localVarReturnType = new TypeToken<GetListServiceInstanceResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionActivate1
     * @param body  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>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionActivate1Call(String body, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = body;

        // create path and map variables
        String localVarPath = "/billing/subscription/activate";

        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 pOSTSubscriptionActivate1ValidateBeforeCall(String body, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionActivate1Call(body, _callback);
        return localVarCall;

    }

    /**
     *  Activate a given Subscription.  
     *  Activate a given Subscription.  
     * @param body  subscriptionCode subscription code  (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 pOSTSubscriptionActivate1(String body) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionActivate1WithHttpInfo(body);
        return localVarResp.getData();
    }

    /**
     *  Activate a given Subscription.  
     *  Activate a given Subscription.  
     * @param body  subscriptionCode subscription code  (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> pOSTSubscriptionActivate1WithHttpInfo(String body) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionActivate1ValidateBeforeCall(body, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Activate a given Subscription.   (asynchronously)
     *  Activate a given Subscription.  
     * @param body  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>  Request processing status  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionActivate1Async(String body, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionActivate1ValidateBeforeCall(body, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionActivateForCustomer1
     * @param subscriptionForCustomerRequestDto  postData the post 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>  the raw result holding the Subscription EndAgreementDate in its response.  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionActivateForCustomer1Call(SubscriptionForCustomerRequestDto subscriptionForCustomerRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = subscriptionForCustomerRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/activateForCustomer";

        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 pOSTSubscriptionActivateForCustomer1ValidateBeforeCall(SubscriptionForCustomerRequestDto subscriptionForCustomerRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionActivateForCustomer1Call(subscriptionForCustomerRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Activate a given Subscription for a customer. 
     *  Activate a given Subscription for a customer. 
     * @param subscriptionForCustomerRequestDto  postData the post data  (optional)
     * @return SubscriptionForCustomerResponseDto
     * @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>  the raw result holding the Subscription EndAgreementDate in its response.  </td><td>  -  </td></tr>
     </table>
     */
    public SubscriptionForCustomerResponseDto pOSTSubscriptionActivateForCustomer1(SubscriptionForCustomerRequestDto subscriptionForCustomerRequestDto) throws ApiException {
        ApiResponse<SubscriptionForCustomerResponseDto> localVarResp = pOSTSubscriptionActivateForCustomer1WithHttpInfo(subscriptionForCustomerRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Activate a given Subscription for a customer. 
     *  Activate a given Subscription for a customer. 
     * @param subscriptionForCustomerRequestDto  postData the post data  (optional)
     * @return ApiResponse&lt;SubscriptionForCustomerResponseDto&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>  the raw result holding the Subscription EndAgreementDate in its response.  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<SubscriptionForCustomerResponseDto> pOSTSubscriptionActivateForCustomer1WithHttpInfo(SubscriptionForCustomerRequestDto subscriptionForCustomerRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionActivateForCustomer1ValidateBeforeCall(subscriptionForCustomerRequestDto, null);
        Type localVarReturnType = new TypeToken<SubscriptionForCustomerResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Activate a given Subscription for a customer.  (asynchronously)
     *  Activate a given Subscription for a customer. 
     * @param subscriptionForCustomerRequestDto  postData the post 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>  the raw result holding the Subscription EndAgreementDate in its response.  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionActivateForCustomer1Async(SubscriptionForCustomerRequestDto subscriptionForCustomerRequestDto, final ApiCallback<SubscriptionForCustomerResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionActivateForCustomer1ValidateBeforeCall(subscriptionForCustomerRequestDto, _callback);
        Type localVarReturnType = new TypeToken<SubscriptionForCustomerResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionActivateServices1
     * @param activateServicesRequestDto  postData Activate services request&#39;s 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 pOSTSubscriptionActivateServices1Call(ActivateServicesRequestDto activateServicesRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = activateServicesRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/activateServices";

        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 pOSTSubscriptionActivateServices1ValidateBeforeCall(ActivateServicesRequestDto activateServicesRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionActivateServices1Call(activateServicesRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Activate services
     *  Activate services. Subscription should not be in status (RESILIATED OR CANCELLED). This service allows to override the charge instance price before activation. This service is actually a 2 step process: service instantiation then activation. If service.subscriptionDate is not set a service is only instantiated else it&#39;s instantiated then activated.  
     * @param activateServicesRequestDto  postData Activate services request&#39;s 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 pOSTSubscriptionActivateServices1(ActivateServicesRequestDto activateServicesRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionActivateServices1WithHttpInfo(activateServicesRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Activate services
     *  Activate services. Subscription should not be in status (RESILIATED OR CANCELLED). This service allows to override the charge instance price before activation. This service is actually a 2 step process: service instantiation then activation. If service.subscriptionDate is not set a service is only instantiated else it&#39;s instantiated then activated.  
     * @param activateServicesRequestDto  postData Activate services request&#39;s 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> pOSTSubscriptionActivateServices1WithHttpInfo(ActivateServicesRequestDto activateServicesRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionActivateServices1ValidateBeforeCall(activateServicesRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Activate services (asynchronously)
     *  Activate services. Subscription should not be in status (RESILIATED OR CANCELLED). This service allows to override the charge instance price before activation. This service is actually a 2 step process: service instantiation then activation. If service.subscriptionDate is not set a service is only instantiated else it&#39;s instantiated then activated.  
     * @param activateServicesRequestDto  postData Activate services request&#39;s 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 pOSTSubscriptionActivateServices1Async(ActivateServicesRequestDto activateServicesRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionActivateServices1ValidateBeforeCall(activateServicesRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionApplyOneShotChargeInstance1
     * @param applyOneShotChargeInstanceRequestDto  postData ApplyOneShotChargeInstanceRequestDto&#39;s 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 pOSTSubscriptionApplyOneShotChargeInstance1Call(ApplyOneShotChargeInstanceRequestDto applyOneShotChargeInstanceRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = applyOneShotChargeInstanceRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/applyOneShotChargeInstance";

        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 pOSTSubscriptionApplyOneShotChargeInstance1ValidateBeforeCall(ApplyOneShotChargeInstanceRequestDto applyOneShotChargeInstanceRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionApplyOneShotChargeInstance1Call(applyOneShotChargeInstanceRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Apply one shot charge. Subscription should not be in status (RESILIATED OR CANCELLED).  
     *  Apply one shot charge. Subscription should not be in status (RESILIATED OR CANCELLED).  
     * @param applyOneShotChargeInstanceRequestDto  postData ApplyOneShotChargeInstanceRequestDto&#39;s 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 pOSTSubscriptionApplyOneShotChargeInstance1(ApplyOneShotChargeInstanceRequestDto applyOneShotChargeInstanceRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionApplyOneShotChargeInstance1WithHttpInfo(applyOneShotChargeInstanceRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Apply one shot charge. Subscription should not be in status (RESILIATED OR CANCELLED).  
     *  Apply one shot charge. Subscription should not be in status (RESILIATED OR CANCELLED).  
     * @param applyOneShotChargeInstanceRequestDto  postData ApplyOneShotChargeInstanceRequestDto&#39;s 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> pOSTSubscriptionApplyOneShotChargeInstance1WithHttpInfo(ApplyOneShotChargeInstanceRequestDto applyOneShotChargeInstanceRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionApplyOneShotChargeInstance1ValidateBeforeCall(applyOneShotChargeInstanceRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Apply one shot charge. Subscription should not be in status (RESILIATED OR CANCELLED).   (asynchronously)
     *  Apply one shot charge. Subscription should not be in status (RESILIATED OR CANCELLED).  
     * @param applyOneShotChargeInstanceRequestDto  postData ApplyOneShotChargeInstanceRequestDto&#39;s 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 pOSTSubscriptionApplyOneShotChargeInstance1Async(ApplyOneShotChargeInstanceRequestDto applyOneShotChargeInstanceRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionApplyOneShotChargeInstance1ValidateBeforeCall(applyOneShotChargeInstanceRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionApplyProduct1
     * @param applyProductRequestDto  postData ApplyProductRequestDto subscription field must be set  (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 pOSTSubscriptionApplyProduct1Call(ApplyProductRequestDto applyProductRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = applyProductRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/applyProduct";

        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 pOSTSubscriptionApplyProduct1ValidateBeforeCall(ApplyProductRequestDto applyProductRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionApplyProduct1Call(applyProductRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Apply a product on a subscription. 
     *  Apply a product on a subscription. 
     * @param applyProductRequestDto  postData ApplyProductRequestDto subscription field must be set  (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 pOSTSubscriptionApplyProduct1(ApplyProductRequestDto applyProductRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionApplyProduct1WithHttpInfo(applyProductRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Apply a product on a subscription. 
     *  Apply a product on a subscription. 
     * @param applyProductRequestDto  postData ApplyProductRequestDto subscription field must be set  (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> pOSTSubscriptionApplyProduct1WithHttpInfo(ApplyProductRequestDto applyProductRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionApplyProduct1ValidateBeforeCall(applyProductRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Apply a product on a subscription.  (asynchronously)
     *  Apply a product on a subscription. 
     * @param applyProductRequestDto  postData ApplyProductRequestDto subscription field must be set  (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 pOSTSubscriptionApplyProduct1Async(ApplyProductRequestDto applyProductRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionApplyProduct1ValidateBeforeCall(applyProductRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1
     * @param subscriptionCode  subscriptionCode code of the subscription  (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>  status of the request  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1Call(String subscriptionCode, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/cancelSubscriptionRenewal/{subscriptionCode}"
            .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 pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1ValidateBeforeCall(String subscriptionCode, final ApiCallback _callback) throws ApiException {
        
        // verify the required parameter 'subscriptionCode' is set
        if (subscriptionCode == null) {
            throw new ApiException("Missing the required parameter 'subscriptionCode' when calling pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1(Async)");
        }
        

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

    }

    /**
     *  Cancels the renewal term of an active subscription. 
     *  Cancels the renewal term of an active subscription. 
     * @param subscriptionCode  subscriptionCode code of the subscription  (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>  status of the request  </td><td>  -  </td></tr>
     </table>
     */
    public ActionStatus pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1(String subscriptionCode) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1WithHttpInfo(subscriptionCode);
        return localVarResp.getData();
    }

    /**
     *  Cancels the renewal term of an active subscription. 
     *  Cancels the renewal term of an active subscription. 
     * @param subscriptionCode  subscriptionCode code of the subscription  (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>  status of the request  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ActionStatus> pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1WithHttpInfo(String subscriptionCode) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1ValidateBeforeCall(subscriptionCode, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Cancels the renewal term of an active subscription.  (asynchronously)
     *  Cancels the renewal term of an active subscription. 
     * @param subscriptionCode  subscriptionCode code of the subscription  (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>  status of the request  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1Async(String subscriptionCode, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionCancelSubscriptionRenewalSubscriptionCode1ValidateBeforeCall(subscriptionCode, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionCreate1
     * @param subscriptionDto  postData Subscription&#39;s 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 pOSTSubscriptionCreate1Call(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = subscriptionDto;

        // create path and map variables
        String localVarPath = "/billing/subscription";

        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 pOSTSubscriptionCreate1ValidateBeforeCall(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionCreate1Call(subscriptionDto, _callback);
        return localVarCall;

    }

    /**
     *  Create a subscription. It does not activate it  
     *  Create a subscription. It does not activate it  
     * @param subscriptionDto  postData Subscription&#39;s 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 pOSTSubscriptionCreate1(SubscriptionDto subscriptionDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionCreate1WithHttpInfo(subscriptionDto);
        return localVarResp.getData();
    }

    /**
     *  Create a subscription. It does not activate it  
     *  Create a subscription. It does not activate it  
     * @param subscriptionDto  postData Subscription&#39;s 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> pOSTSubscriptionCreate1WithHttpInfo(SubscriptionDto subscriptionDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionCreate1ValidateBeforeCall(subscriptionDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Create a subscription. It does not activate it   (asynchronously)
     *  Create a subscription. It does not activate it  
     * @param subscriptionDto  postData Subscription&#39;s 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 pOSTSubscriptionCreate1Async(SubscriptionDto subscriptionDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionCreate1ValidateBeforeCall(subscriptionDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionCreateOrUpdate1
     * @param subscriptionDto  subscriptionDto Subscription information  (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 pOSTSubscriptionCreateOrUpdate1Call(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = subscriptionDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/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 pOSTSubscriptionCreateOrUpdate1ValidateBeforeCall(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionCreateOrUpdate1Call(subscriptionDto, _callback);
        return localVarCall;

    }

    /**
     *  Create or update subscription information ONLY. Does not include access, services nor products  
     *  Create or update subscription information ONLY. Does not include access, services nor products  
     * @param subscriptionDto  subscriptionDto Subscription information  (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 pOSTSubscriptionCreateOrUpdate1(SubscriptionDto subscriptionDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionCreateOrUpdate1WithHttpInfo(subscriptionDto);
        return localVarResp.getData();
    }

    /**
     *  Create or update subscription information ONLY. Does not include access, services nor products  
     *  Create or update subscription information ONLY. Does not include access, services nor products  
     * @param subscriptionDto  subscriptionDto Subscription information  (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> pOSTSubscriptionCreateOrUpdate1WithHttpInfo(SubscriptionDto subscriptionDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionCreateOrUpdate1ValidateBeforeCall(subscriptionDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Create or update subscription information ONLY. Does not include access, services nor products   (asynchronously)
     *  Create or update subscription information ONLY. Does not include access, services nor products  
     * @param subscriptionDto  subscriptionDto Subscription information  (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 pOSTSubscriptionCreateOrUpdate1Async(SubscriptionDto subscriptionDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionCreateOrUpdate1ValidateBeforeCall(subscriptionDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionCreateOrUpdatePartial1
     * @param subscriptionDto  subscriptionDto Subscription information  (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 pOSTSubscriptionCreateOrUpdatePartial1Call(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = subscriptionDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/createOrUpdatePartial";

        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 pOSTSubscriptionCreateOrUpdatePartial1ValidateBeforeCall(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionCreateOrUpdatePartial1Call(subscriptionDto, _callback);
        return localVarCall;

    }

    /**
     *  Create or update subscription information WITH access, services and products
     *  Create or update subscription information WITH access, services and products. Terminates subscription if termination date is provided on subscription. Terminates service if termination date is provided on service. Activates inactive service if service subscription date is provided. Instantiates service if no matching service found. Updates service if matching service found. Only those services, access and products passed will be afected.   
     * @param subscriptionDto  subscriptionDto Subscription information  (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 pOSTSubscriptionCreateOrUpdatePartial1(SubscriptionDto subscriptionDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionCreateOrUpdatePartial1WithHttpInfo(subscriptionDto);
        return localVarResp.getData();
    }

    /**
     *  Create or update subscription information WITH access, services and products
     *  Create or update subscription information WITH access, services and products. Terminates subscription if termination date is provided on subscription. Terminates service if termination date is provided on service. Activates inactive service if service subscription date is provided. Instantiates service if no matching service found. Updates service if matching service found. Only those services, access and products passed will be afected.   
     * @param subscriptionDto  subscriptionDto Subscription information  (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> pOSTSubscriptionCreateOrUpdatePartial1WithHttpInfo(SubscriptionDto subscriptionDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionCreateOrUpdatePartial1ValidateBeforeCall(subscriptionDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Create or update subscription information WITH access, services and products (asynchronously)
     *  Create or update subscription information WITH access, services and products. Terminates subscription if termination date is provided on subscription. Terminates service if termination date is provided on service. Activates inactive service if service subscription date is provided. Instantiates service if no matching service found. Updates service if matching service found. Only those services, access and products passed will be afected.   
     * @param subscriptionDto  subscriptionDto Subscription information  (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 pOSTSubscriptionCreateOrUpdatePartial1Async(SubscriptionDto subscriptionDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionCreateOrUpdatePartial1ValidateBeforeCall(subscriptionDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionInstantiateServices1
     * @param instantiateServicesRequestDto  postData Subscription&#39;s 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 pOSTSubscriptionInstantiateServices1Call(InstantiateServicesRequestDto instantiateServicesRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = instantiateServicesRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/instantiateServices";

        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 pOSTSubscriptionInstantiateServices1ValidateBeforeCall(InstantiateServicesRequestDto instantiateServicesRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionInstantiateServices1Call(instantiateServicesRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Instantiate a Service subscription   
     *  Instantiate a Service subscription   
     * @param instantiateServicesRequestDto  postData Subscription&#39;s 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 pOSTSubscriptionInstantiateServices1(InstantiateServicesRequestDto instantiateServicesRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionInstantiateServices1WithHttpInfo(instantiateServicesRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Instantiate a Service subscription   
     *  Instantiate a Service subscription   
     * @param instantiateServicesRequestDto  postData Subscription&#39;s 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> pOSTSubscriptionInstantiateServices1WithHttpInfo(InstantiateServicesRequestDto instantiateServicesRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionInstantiateServices1ValidateBeforeCall(instantiateServicesRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Instantiate a Service subscription    (asynchronously)
     *  Instantiate a Service subscription   
     * @param instantiateServicesRequestDto  postData Subscription&#39;s 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 pOSTSubscriptionInstantiateServices1Async(InstantiateServicesRequestDto instantiateServicesRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionInstantiateServices1ValidateBeforeCall(instantiateServicesRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionList1
     * @param pagingAndFiltering  pagingAndFiltering Pagination and filtering criteria  (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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionList1Call(PagingAndFiltering pagingAndFiltering, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = pagingAndFiltering;

        // create path and map variables
        String localVarPath = "/billing/subscription/list";

        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 pOSTSubscriptionList1ValidateBeforeCall(PagingAndFiltering pagingAndFiltering, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionList1Call(pagingAndFiltering, _callback);
        return localVarCall;

    }

    /**
     *  List subscriptions matching a given criteria  
     *  List subscriptions matching a given criteria  
     * @param pagingAndFiltering  pagingAndFiltering Pagination and filtering criteria  (optional)
     * @return SubscriptionsListResponseDto
     * @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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public SubscriptionsListResponseDto pOSTSubscriptionList1(PagingAndFiltering pagingAndFiltering) throws ApiException {
        ApiResponse<SubscriptionsListResponseDto> localVarResp = pOSTSubscriptionList1WithHttpInfo(pagingAndFiltering);
        return localVarResp.getData();
    }

    /**
     *  List subscriptions matching a given criteria  
     *  List subscriptions matching a given criteria  
     * @param pagingAndFiltering  pagingAndFiltering Pagination and filtering criteria  (optional)
     * @return ApiResponse&lt;SubscriptionsListResponseDto&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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<SubscriptionsListResponseDto> pOSTSubscriptionList1WithHttpInfo(PagingAndFiltering pagingAndFiltering) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionList1ValidateBeforeCall(pagingAndFiltering, null);
        Type localVarReturnType = new TypeToken<SubscriptionsListResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  List subscriptions matching a given criteria   (asynchronously)
     *  List subscriptions matching a given criteria  
     * @param pagingAndFiltering  pagingAndFiltering Pagination and filtering criteria  (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>  List of subscriptions  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionList1Async(PagingAndFiltering pagingAndFiltering, final ApiCallback<SubscriptionsListResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionList1ValidateBeforeCall(pagingAndFiltering, _callback);
        Type localVarReturnType = new TypeToken<SubscriptionsListResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionRate1
     * @param rateSubscriptionRequestDto  postData post 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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionRate1Call(RateSubscriptionRequestDto rateSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = rateSubscriptionRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/rate";

        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 pOSTSubscriptionRate1ValidateBeforeCall(RateSubscriptionRequestDto rateSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionRate1Call(rateSubscriptionRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Give a rate data for subscription  
     *  Give a rate data for subscription  
     * @param rateSubscriptionRequestDto  postData post data  (optional)
     * @return RateSubscriptionResponseDto
     * @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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public RateSubscriptionResponseDto pOSTSubscriptionRate1(RateSubscriptionRequestDto rateSubscriptionRequestDto) throws ApiException {
        ApiResponse<RateSubscriptionResponseDto> localVarResp = pOSTSubscriptionRate1WithHttpInfo(rateSubscriptionRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Give a rate data for subscription  
     *  Give a rate data for subscription  
     * @param rateSubscriptionRequestDto  postData post data  (optional)
     * @return ApiResponse&lt;RateSubscriptionResponseDto&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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<RateSubscriptionResponseDto> pOSTSubscriptionRate1WithHttpInfo(RateSubscriptionRequestDto rateSubscriptionRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionRate1ValidateBeforeCall(rateSubscriptionRequestDto, null);
        Type localVarReturnType = new TypeToken<RateSubscriptionResponseDto>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Give a rate data for subscription   (asynchronously)
     *  Give a rate data for subscription  
     * @param rateSubscriptionRequestDto  postData post 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>  list of service instances  </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call pOSTSubscriptionRate1Async(RateSubscriptionRequestDto rateSubscriptionRequestDto, final ApiCallback<RateSubscriptionResponseDto> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionRate1ValidateBeforeCall(rateSubscriptionRequestDto, _callback);
        Type localVarReturnType = new TypeToken<RateSubscriptionResponseDto>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionSubscribeAndActivateServices1
     * @param subscriptionAndServicesToActivateRequestDto  postData Subscription and services to activate 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 pOSTSubscriptionSubscribeAndActivateServices1Call(SubscriptionAndServicesToActivateRequestDto subscriptionAndServicesToActivateRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = subscriptionAndServicesToActivateRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/subscribeAndActivateServices";

        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 pOSTSubscriptionSubscribeAndActivateServices1ValidateBeforeCall(SubscriptionAndServicesToActivateRequestDto subscriptionAndServicesToActivateRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionSubscribeAndActivateServices1Call(subscriptionAndServicesToActivateRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Create a subscription and activate services in a single transaction.  
     *  Create a subscription and activate services in a single transaction.  
     * @param subscriptionAndServicesToActivateRequestDto  postData Subscription and services to activate 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 pOSTSubscriptionSubscribeAndActivateServices1(SubscriptionAndServicesToActivateRequestDto subscriptionAndServicesToActivateRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionSubscribeAndActivateServices1WithHttpInfo(subscriptionAndServicesToActivateRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Create a subscription and activate services in a single transaction.  
     *  Create a subscription and activate services in a single transaction.  
     * @param subscriptionAndServicesToActivateRequestDto  postData Subscription and services to activate 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> pOSTSubscriptionSubscribeAndActivateServices1WithHttpInfo(SubscriptionAndServicesToActivateRequestDto subscriptionAndServicesToActivateRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionSubscribeAndActivateServices1ValidateBeforeCall(subscriptionAndServicesToActivateRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Create a subscription and activate services in a single transaction.   (asynchronously)
     *  Create a subscription and activate services in a single transaction.  
     * @param subscriptionAndServicesToActivateRequestDto  postData Subscription and services to activate 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 pOSTSubscriptionSubscribeAndActivateServices1Async(SubscriptionAndServicesToActivateRequestDto subscriptionAndServicesToActivateRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionSubscribeAndActivateServices1ValidateBeforeCall(subscriptionAndServicesToActivateRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionTerminate1
     * @param terminateSubscriptionRequestDto  postData Terminate subscription request&#39;s 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 pOSTSubscriptionTerminate1Call(TerminateSubscriptionRequestDto terminateSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = terminateSubscriptionRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/terminate";

        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 pOSTSubscriptionTerminate1ValidateBeforeCall(TerminateSubscriptionRequestDto terminateSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionTerminate1Call(terminateSubscriptionRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Terminate a subscription. If subscription status is RESILIATED, an error is thrown  
     *  Terminate a subscription. If subscription status is RESILIATED, an error is thrown  
     * @param terminateSubscriptionRequestDto  postData Terminate subscription request&#39;s 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 pOSTSubscriptionTerminate1(TerminateSubscriptionRequestDto terminateSubscriptionRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionTerminate1WithHttpInfo(terminateSubscriptionRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Terminate a subscription. If subscription status is RESILIATED, an error is thrown  
     *  Terminate a subscription. If subscription status is RESILIATED, an error is thrown  
     * @param terminateSubscriptionRequestDto  postData Terminate subscription request&#39;s 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> pOSTSubscriptionTerminate1WithHttpInfo(TerminateSubscriptionRequestDto terminateSubscriptionRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionTerminate1ValidateBeforeCall(terminateSubscriptionRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Terminate a subscription. If subscription status is RESILIATED, an error is thrown   (asynchronously)
     *  Terminate a subscription. If subscription status is RESILIATED, an error is thrown  
     * @param terminateSubscriptionRequestDto  postData Terminate subscription request&#39;s 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 pOSTSubscriptionTerminate1Async(TerminateSubscriptionRequestDto terminateSubscriptionRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionTerminate1ValidateBeforeCall(terminateSubscriptionRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pOSTSubscriptionTerminateServices1
     * @param terminateSubscriptionServicesRequestDto  postData Terminate subscription services request&#39;s 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 pOSTSubscriptionTerminateServices1Call(TerminateSubscriptionServicesRequestDto terminateSubscriptionServicesRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = terminateSubscriptionServicesRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/terminateServices";

        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 pOSTSubscriptionTerminateServices1ValidateBeforeCall(TerminateSubscriptionServicesRequestDto terminateSubscriptionServicesRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pOSTSubscriptionTerminateServices1Call(terminateSubscriptionServicesRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Terminate a list of services. If a service is already TERMINATED, an error is thrown.  
     *  Terminate a list of services. If a service is already TERMINATED, an error is thrown.  
     * @param terminateSubscriptionServicesRequestDto  postData Terminate subscription services request&#39;s 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 pOSTSubscriptionTerminateServices1(TerminateSubscriptionServicesRequestDto terminateSubscriptionServicesRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pOSTSubscriptionTerminateServices1WithHttpInfo(terminateSubscriptionServicesRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Terminate a list of services. If a service is already TERMINATED, an error is thrown.  
     *  Terminate a list of services. If a service is already TERMINATED, an error is thrown.  
     * @param terminateSubscriptionServicesRequestDto  postData Terminate subscription services request&#39;s 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> pOSTSubscriptionTerminateServices1WithHttpInfo(TerminateSubscriptionServicesRequestDto terminateSubscriptionServicesRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pOSTSubscriptionTerminateServices1ValidateBeforeCall(terminateSubscriptionServicesRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Terminate a list of services. If a service is already TERMINATED, an error is thrown.   (asynchronously)
     *  Terminate a list of services. If a service is already TERMINATED, an error is thrown.  
     * @param terminateSubscriptionServicesRequestDto  postData Terminate subscription services request&#39;s 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 pOSTSubscriptionTerminateServices1Async(TerminateSubscriptionServicesRequestDto terminateSubscriptionServicesRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pOSTSubscriptionTerminateServices1ValidateBeforeCall(terminateSubscriptionServicesRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTSubscriptionUpdate1
     * @param subscriptionDto  postData Subscription&#39;s 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 pUTSubscriptionUpdate1Call(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = subscriptionDto;

        // create path and map variables
        String localVarPath = "/billing/subscription";

        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 pUTSubscriptionUpdate1ValidateBeforeCall(SubscriptionDto subscriptionDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTSubscriptionUpdate1Call(subscriptionDto, _callback);
        return localVarCall;

    }

    /**
     *  Updates a subscription. It cannot update a subscription with status&#x3D;RESILIATED  
     *  Updates a subscription. It cannot update a subscription with status&#x3D;RESILIATED  
     * @param subscriptionDto  postData Subscription&#39;s 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 pUTSubscriptionUpdate1(SubscriptionDto subscriptionDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTSubscriptionUpdate1WithHttpInfo(subscriptionDto);
        return localVarResp.getData();
    }

    /**
     *  Updates a subscription. It cannot update a subscription with status&#x3D;RESILIATED  
     *  Updates a subscription. It cannot update a subscription with status&#x3D;RESILIATED  
     * @param subscriptionDto  postData Subscription&#39;s 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> pUTSubscriptionUpdate1WithHttpInfo(SubscriptionDto subscriptionDto) throws ApiException {
        okhttp3.Call localVarCall = pUTSubscriptionUpdate1ValidateBeforeCall(subscriptionDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Updates a subscription. It cannot update a subscription with status&#x3D;RESILIATED   (asynchronously)
     *  Updates a subscription. It cannot update a subscription with status&#x3D;RESILIATED  
     * @param subscriptionDto  postData Subscription&#39;s 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 pUTSubscriptionUpdate1Async(SubscriptionDto subscriptionDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTSubscriptionUpdate1ValidateBeforeCall(subscriptionDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTSubscriptionresume1
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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 pUTSubscriptionresume1Call(OperationSubscriptionRequestDto operationSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = operationSubscriptionRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/resume";

        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 pUTSubscriptionresume1ValidateBeforeCall(OperationSubscriptionRequestDto operationSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTSubscriptionresume1Call(operationSubscriptionRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Resume an existing subscription  
     *  Resume an existing subscription  
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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 pUTSubscriptionresume1(OperationSubscriptionRequestDto operationSubscriptionRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTSubscriptionresume1WithHttpInfo(operationSubscriptionRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Resume an existing subscription  
     *  Resume an existing subscription  
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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> pUTSubscriptionresume1WithHttpInfo(OperationSubscriptionRequestDto operationSubscriptionRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pUTSubscriptionresume1ValidateBeforeCall(operationSubscriptionRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Resume an existing subscription   (asynchronously)
     *  Resume an existing subscription  
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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 pUTSubscriptionresume1Async(OperationSubscriptionRequestDto operationSubscriptionRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTSubscriptionresume1ValidateBeforeCall(operationSubscriptionRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTSubscriptionresumeServices1
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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 pUTSubscriptionresumeServices1Call(OperationServicesRequestDto operationServicesRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = operationServicesRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/resumeServices";

        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 pUTSubscriptionresumeServices1ValidateBeforeCall(OperationServicesRequestDto operationServicesRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTSubscriptionresumeServices1Call(operationServicesRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Resume an existing services  
     *  Resume an existing services  
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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 pUTSubscriptionresumeServices1(OperationServicesRequestDto operationServicesRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTSubscriptionresumeServices1WithHttpInfo(operationServicesRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Resume an existing services  
     *  Resume an existing services  
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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> pUTSubscriptionresumeServices1WithHttpInfo(OperationServicesRequestDto operationServicesRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pUTSubscriptionresumeServices1ValidateBeforeCall(operationServicesRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Resume an existing services   (asynchronously)
     *  Resume an existing services  
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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 pUTSubscriptionresumeServices1Async(OperationServicesRequestDto operationServicesRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTSubscriptionresumeServices1ValidateBeforeCall(operationServicesRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTSubscriptionsuspend1
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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 pUTSubscriptionsuspend1Call(OperationSubscriptionRequestDto operationSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = operationSubscriptionRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/suspend";

        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 pUTSubscriptionsuspend1ValidateBeforeCall(OperationSubscriptionRequestDto operationSubscriptionRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTSubscriptionsuspend1Call(operationSubscriptionRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Suspend an existing subscription  
     *  Suspend an existing subscription  
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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 pUTSubscriptionsuspend1(OperationSubscriptionRequestDto operationSubscriptionRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTSubscriptionsuspend1WithHttpInfo(operationSubscriptionRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Suspend an existing subscription  
     *  Suspend an existing subscription  
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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> pUTSubscriptionsuspend1WithHttpInfo(OperationSubscriptionRequestDto operationSubscriptionRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pUTSubscriptionsuspend1ValidateBeforeCall(operationSubscriptionRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Suspend an existing subscription   (asynchronously)
     *  Suspend an existing subscription  
     * @param operationSubscriptionRequestDto  postData Operation subscription request&#39;s data (contains actionDate and subscriptionCode)  (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 pUTSubscriptionsuspend1Async(OperationSubscriptionRequestDto operationSubscriptionRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTSubscriptionsuspend1ValidateBeforeCall(operationSubscriptionRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTSubscriptionsuspendServices1
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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 pUTSubscriptionsuspendServices1Call(OperationServicesRequestDto operationServicesRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = operationServicesRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/suspendServices";

        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 pUTSubscriptionsuspendServices1ValidateBeforeCall(OperationServicesRequestDto operationServicesRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTSubscriptionsuspendServices1Call(operationServicesRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Suspend an existing services  
     *  Suspend an existing services  
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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 pUTSubscriptionsuspendServices1(OperationServicesRequestDto operationServicesRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTSubscriptionsuspendServices1WithHttpInfo(operationServicesRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Suspend an existing services  
     *  Suspend an existing services  
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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> pUTSubscriptionsuspendServices1WithHttpInfo(OperationServicesRequestDto operationServicesRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pUTSubscriptionsuspendServices1ValidateBeforeCall(operationServicesRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Suspend an existing services   (asynchronously)
     *  Suspend an existing services  
     * @param operationServicesRequestDto  postData Operation services request&#39;s data (contains serviceToUpdate and subscriptionCode)  (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 pUTSubscriptionsuspendServices1Async(OperationServicesRequestDto operationServicesRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTSubscriptionsuspendServices1ValidateBeforeCall(operationServicesRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for pUTSubscriptionupdateServices1
     * @param updateServicesRequestDto  postData Service information 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 pUTSubscriptionupdateServices1Call(UpdateServicesRequestDto updateServicesRequestDto, final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = updateServicesRequestDto;

        // create path and map variables
        String localVarPath = "/billing/subscription/updateServices";

        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 pUTSubscriptionupdateServices1ValidateBeforeCall(UpdateServicesRequestDto updateServicesRequestDto, final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = pUTSubscriptionupdateServices1Call(updateServicesRequestDto, _callback);
        return localVarCall;

    }

    /**
     *  Update existing services  
     *  Update existing services  
     * @param updateServicesRequestDto  postData Service information 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 pUTSubscriptionupdateServices1(UpdateServicesRequestDto updateServicesRequestDto) throws ApiException {
        ApiResponse<ActionStatus> localVarResp = pUTSubscriptionupdateServices1WithHttpInfo(updateServicesRequestDto);
        return localVarResp.getData();
    }

    /**
     *  Update existing services  
     *  Update existing services  
     * @param updateServicesRequestDto  postData Service information 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> pUTSubscriptionupdateServices1WithHttpInfo(UpdateServicesRequestDto updateServicesRequestDto) throws ApiException {
        okhttp3.Call localVarCall = pUTSubscriptionupdateServices1ValidateBeforeCall(updateServicesRequestDto, null);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  Update existing services   (asynchronously)
     *  Update existing services  
     * @param updateServicesRequestDto  postData Service information 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 pUTSubscriptionupdateServices1Async(UpdateServicesRequestDto updateServicesRequestDto, final ApiCallback<ActionStatus> _callback) throws ApiException {

        okhttp3.Call localVarCall = pUTSubscriptionupdateServices1ValidateBeforeCall(updateServicesRequestDto, _callback);
        Type localVarReturnType = new TypeToken<ActionStatus>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
    /**
     * Build call for user15
     * @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 user15Call(final ApiCallback _callback) throws ApiException {
        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/billing/subscription/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 user15ValidateBeforeCall(final ApiCallback _callback) throws ApiException {
        

        okhttp3.Call localVarCall = user15Call(_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 user15() throws ApiException {
        ApiResponse<ActionStatus> localVarResp = user15WithHttpInfo();
        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> user15WithHttpInfo() throws ApiException {
        okhttp3.Call localVarCall = user15ValidateBeforeCall(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 user15Async(final ApiCallback<ActionStatus> _callback) throws ApiException {

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