text: /**
   * Quatrix API
   * Download and upload files or folders, share them with predefined security options, manage your account and profile settings and a lot more functionalities can be easily integrated into your application using our Quatrix APIs. Learn more how to authenticate the Quatrix session, how to construct JSON formatted API calls and what responses to expect in our [API Guide](https://docs.maytech.net/display/MD/Quatrix+API).
   *
   * OpenAPI spec version: 1.0.0
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   *
   * Swagger Codegen version: 2.4.7
   *
   * Do not edit the class manually.
   *
   */
  
  (function(root, factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define(['ApiClient', 'model/BillingUpgradeReq', 'model/BillingUpgradeResp', 'model/ErrorModel'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS-like environments that support module.exports, like Node.
      module.exports = factory(require('../ApiClient'), require('../model/BillingUpgradeReq'), require('../model/BillingUpgradeResp'), require('../model/ErrorModel'));
    } else {
      // Browser globals (root is window)
      if (!root.QuatrixApi) {
        root.QuatrixApi = {};
      }
      root.QuatrixApi.BillingApi = factory(root.QuatrixApi.ApiClient, root.QuatrixApi.BillingUpgradeReq, root.QuatrixApi.BillingUpgradeResp, root.QuatrixApi.ErrorModel);
    }
  }(this, function(ApiClient, BillingUpgradeReq, BillingUpgradeResp, ErrorModel) {
    'use strict';
  
    /**
     * Billing service.
     * @module api/BillingApi
     * @version 1.0.0
     */
  
    /**
     * Constructs a new BillingApi. 
     * @alias module:api/BillingApi
     * @class
     * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
     * default to {@link module:ApiClient#instance} if unspecified.
     */
    var exports = function(apiClient) {
      this.apiClient = apiClient || ApiClient.instance;
  
  
      /**
       * Callback function to receive the result of the billingUpgradePost operation.
       * @callback module:api/BillingApi~billingUpgradePostCallback
       * @param {String} error Error message, if any.
       * @param {module:model/BillingUpgradeResp} data The data returned by the service call.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Upgrade the user&#39;s account
       * Upgrade the user&#39;s account. 
       * @param {module:model/BillingUpgradeReq} body 
       * @param {module:api/BillingApi~billingUpgradePostCallback} callback The callback function, accepting three arguments: error, data, response
       * data is of type: {@link module:model/BillingUpgradeResp}
       */
      this.billingUpgradePost = function(body, callback) {
        var postBody = body;
  
        // verify the required parameter 'body' is set
        if (body === undefined || body === null) {
          throw new Error("Missing the required parameter 'body' when calling billingUpgradePost");
        }
  
  
        var pathParams = {
        };
        var queryParams = {
        };
        var collectionQueryParams = {
        };
        var headerParams = {
        };
        var formParams = {
        };
  
        var authNames = ['api_key'];
        var contentTypes = ['application/json'];
        var accepts = ['application/json'];
        var returnType = BillingUpgradeResp;
  
        return this.apiClient.callApi(
          '/billing/upgrade', 'POST',
          pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, callback
        );
      }
    };
  
    return exports;
  }));
  