github.com/vmpartner/bitmex@v1.1.0/swagger/position_api.go (about)

     1  /* 
     2   * BitMEX API
     3   *
     4   * ## REST API for the BitMEX Trading Platform  [View Changelog](/app/apiChangelog)    #### Getting Started   ##### Fetching Data  All REST endpoints are documented below. You can try out any query right from this interface.  Most table queries accept `count`, `start`, and `reverse` params. Set `reverse=true` to get rows newest-first.  Additional documentation regarding filters, timestamps, and authentication is available in [the main API documentation](https://www.bitmex.com/app/restAPI).  *All* table data is available via the [Websocket](/app/wsAPI). We highly recommend using the socket if you want to have the quickest possible data without being subject to ratelimits.  ##### Return Types  By default, all data is returned as JSON. Send `?_format=csv` to get CSV data or `?_format=xml` to get XML data.  ##### Trade Data Queries  *This is only a small subset of what is available, to get you started.*  Fill in the parameters and click the `Try it out!` button to try any of these queries.  * [Pricing Data](#!/Quote/Quote_get)  * [Trade Data](#!/Trade/Trade_get)  * [OrderBook Data](#!/OrderBook/OrderBook_getL2)  * [Settlement Data](#!/Settlement/Settlement_get)  * [Exchange Statistics](#!/Stats/Stats_history)  Every function of the BitMEX.com platform is exposed here and documented. Many more functions are available.  ##### Swagger Specification  [⇩ Download Swagger JSON](swagger.json)    ## All API Endpoints  Click to expand a section. 
     5   *
     6   * OpenAPI spec version: 1.2.0
     7   * Contact: support@bitmex.com
     8   * Generated by: https://github.com/swagger-api/swagger-codegen.git
     9   */
    10  
    11  package swagger
    12  
    13  import (
    14  	"net/url"
    15  	"net/http"
    16  	"strings"
    17  	"golang.org/x/net/context"
    18  	"encoding/json"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ context.Context
    24  )
    25  
    26  type PositionApiService service
    27  
    28  /* PositionApiService Get your positions.
    29   See <a href=\"http://www.onixs.biz/fix-dictionary/5.0.SP2/msgType_AP_6580.html\">the FIX Spec</a> for explanations of these fields.
    30   * @param ctx context.Context Authentication Context 
    31   @param optional (nil or map[string]interface{}) with one or more of:
    32       @param "filter" (string) Table filter. For example, send {\"symbol\": \"XBTUSD\"}.
    33       @param "columns" (string) Which columns to fetch. For example, send [\"columnName\"].
    34       @param "count" (float32) Number of rows to fetch.
    35   @return []Position*/
    36  func (a *PositionApiService) PositionGet(ctx context.Context, localVarOptionals map[string]interface{}) ([]Position, *http.Response, error) {
    37  	var (
    38  		localVarHttpMethod = strings.ToUpper("Get")
    39  		localVarPostBody   interface{}
    40  		localVarFileName   string
    41  		localVarFileBytes  []byte
    42  		successPayload     []Position
    43  	)
    44  
    45  	// create path and map variables
    46  	localVarPath := a.client.cfg.BasePath + "/position"
    47  
    48  	localVarHeaderParams := make(map[string]string)
    49  	localVarQueryParams := url.Values{}
    50  	localVarFormParams := url.Values{}
    51  
    52  	if err := typeCheckParameter(localVarOptionals["filter"], "string", "filter"); err != nil {
    53  		return successPayload, nil, err
    54  	}
    55  	if err := typeCheckParameter(localVarOptionals["columns"], "string", "columns"); err != nil {
    56  		return successPayload, nil, err
    57  	}
    58  	if err := typeCheckParameter(localVarOptionals["count"], "float32", "count"); err != nil {
    59  		return successPayload, nil, err
    60  	}
    61  
    62  	if localVarTempParam, localVarOk := localVarOptionals["filter"].(string); localVarOk {
    63  		localVarQueryParams.Add("filter", parameterToString(localVarTempParam, ""))
    64  	}
    65  	if localVarTempParam, localVarOk := localVarOptionals["columns"].(string); localVarOk {
    66  		localVarQueryParams.Add("columns", parameterToString(localVarTempParam, ""))
    67  	}
    68  	if localVarTempParam, localVarOk := localVarOptionals["count"].(float32); localVarOk {
    69  		localVarQueryParams.Add("count", parameterToString(localVarTempParam, ""))
    70  	}
    71  	// to determine the Content-Type header
    72  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
    73  
    74  	// set Content-Type header
    75  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    76  	if localVarHttpContentType != "" {
    77  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    78  	}
    79  
    80  	// to determine the Accept header
    81  	localVarHttpHeaderAccepts := []string{
    82  		"application/json",
    83  		"application/xml",
    84  		"text/xml",
    85  		"application/javascript",
    86  		"text/javascript",
    87  	}
    88  
    89  	// set Accept header
    90  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    91  	if localVarHttpHeaderAccept != "" {
    92  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    93  	}
    94  	if ctx != nil {
    95  		// API Key Authentication
    96  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    97  			var key string
    98  			if auth.Prefix != "" {
    99  				key = auth.Prefix + " " + auth.Key
   100  			} else {
   101  				key = auth.Key
   102  			}
   103  			localVarHeaderParams["api-key"] = key
   104  		}
   105  	}
   106  	if ctx != nil {
   107  		// API Key Authentication
   108  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   109  			var key string
   110  			if auth.Prefix != "" {
   111  				key = auth.Prefix + " " + auth.Key
   112  			} else {
   113  				key = auth.Key
   114  			}
   115  			localVarHeaderParams["api-nonce"] = key
   116  		}
   117  	}
   118  	if ctx != nil {
   119  		// API Key Authentication
   120  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   121  			var key string
   122  			if auth.Prefix != "" {
   123  				key = auth.Prefix + " " + auth.Key
   124  			} else {
   125  				key = auth.Key
   126  			}
   127  			localVarHeaderParams["api-signature"] = key
   128  		}
   129  	}
   130  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   131  	if err != nil {
   132  		return successPayload, nil, err
   133  	}
   134  
   135  	localVarHttpResponse, err := a.client.callAPI(r)
   136  	if err != nil || localVarHttpResponse == nil {
   137  		return successPayload, localVarHttpResponse, err
   138  	}
   139  	defer localVarHttpResponse.Body.Close()
   140  	if localVarHttpResponse.StatusCode >= 300 {
   141  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   142  	}
   143  
   144  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   145  		return successPayload, localVarHttpResponse, err
   146  	}
   147  
   148  	return successPayload, localVarHttpResponse, err
   149  }
   150  
   151  /* PositionApiService Enable isolated margin or cross margin per-position.
   152   Users can switch isolate margin per-position. This function allows switching margin isolation (aka fixed margin) on and off.
   153   * @param ctx context.Context Authentication Context 
   154   @param symbol Position symbol to isolate.
   155   @param optional (nil or map[string]interface{}) with one or more of:
   156       @param "enabled" (bool) True for isolated margin, false for cross margin.
   157   @return Position*/
   158  func (a *PositionApiService) PositionIsolateMargin(ctx context.Context, symbol string, localVarOptionals map[string]interface{}) (Position, *http.Response, error) {
   159  	var (
   160  		localVarHttpMethod = strings.ToUpper("Post")
   161  		localVarPostBody   interface{}
   162  		localVarFileName   string
   163  		localVarFileBytes  []byte
   164  		successPayload     Position
   165  	)
   166  
   167  	// create path and map variables
   168  	localVarPath := a.client.cfg.BasePath + "/position/isolate"
   169  
   170  	localVarHeaderParams := make(map[string]string)
   171  	localVarQueryParams := url.Values{}
   172  	localVarFormParams := url.Values{}
   173  
   174  	if err := typeCheckParameter(localVarOptionals["enabled"], "bool", "enabled"); err != nil {
   175  		return successPayload, nil, err
   176  	}
   177  
   178  	// to determine the Content-Type header
   179  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   180  
   181  	// set Content-Type header
   182  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   183  	if localVarHttpContentType != "" {
   184  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   185  	}
   186  
   187  	// to determine the Accept header
   188  	localVarHttpHeaderAccepts := []string{
   189  		"application/json",
   190  		"application/xml",
   191  		"text/xml",
   192  		"application/javascript",
   193  		"text/javascript",
   194  	}
   195  
   196  	// set Accept header
   197  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   198  	if localVarHttpHeaderAccept != "" {
   199  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   200  	}
   201  	localVarFormParams.Add("symbol", parameterToString(symbol, ""))
   202  	if localVarTempParam, localVarOk := localVarOptionals["enabled"].(bool); localVarOk {
   203  		localVarFormParams.Add("enabled", parameterToString(localVarTempParam, ""))
   204  	}
   205  	if ctx != nil {
   206  		// API Key Authentication
   207  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   208  			var key string
   209  			if auth.Prefix != "" {
   210  				key = auth.Prefix + " " + auth.Key
   211  			} else {
   212  				key = auth.Key
   213  			}
   214  			localVarHeaderParams["api-key"] = key
   215  		}
   216  	}
   217  	if ctx != nil {
   218  		// API Key Authentication
   219  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   220  			var key string
   221  			if auth.Prefix != "" {
   222  				key = auth.Prefix + " " + auth.Key
   223  			} else {
   224  				key = auth.Key
   225  			}
   226  			localVarHeaderParams["api-nonce"] = key
   227  		}
   228  	}
   229  	if ctx != nil {
   230  		// API Key Authentication
   231  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   232  			var key string
   233  			if auth.Prefix != "" {
   234  				key = auth.Prefix + " " + auth.Key
   235  			} else {
   236  				key = auth.Key
   237  			}
   238  			localVarHeaderParams["api-signature"] = key
   239  		}
   240  	}
   241  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   242  	if err != nil {
   243  		return successPayload, nil, err
   244  	}
   245  
   246  	localVarHttpResponse, err := a.client.callAPI(r)
   247  	if err != nil || localVarHttpResponse == nil {
   248  		return successPayload, localVarHttpResponse, err
   249  	}
   250  	defer localVarHttpResponse.Body.Close()
   251  	if localVarHttpResponse.StatusCode >= 300 {
   252  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   253  	}
   254  
   255  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   256  		return successPayload, localVarHttpResponse, err
   257  	}
   258  
   259  	return successPayload, localVarHttpResponse, err
   260  }
   261  
   262  /* PositionApiService Transfer equity in or out of a position.
   263   When margin is isolated on a position, use this function to add or remove margin from the position. Note that you cannot remove margin below the initial margin threshold.
   264   * @param ctx context.Context Authentication Context 
   265   @param symbol Symbol of position to isolate.
   266   @param amount Amount to transfer, in Satoshis. May be negative.
   267   @return Position*/
   268  func (a *PositionApiService) PositionTransferIsolatedMargin(ctx context.Context, symbol string, amount float32) (Position, *http.Response, error) {
   269  	var (
   270  		localVarHttpMethod = strings.ToUpper("Post")
   271  		localVarPostBody   interface{}
   272  		localVarFileName   string
   273  		localVarFileBytes  []byte
   274  		successPayload     Position
   275  	)
   276  
   277  	// create path and map variables
   278  	localVarPath := a.client.cfg.BasePath + "/position/transferMargin"
   279  
   280  	localVarHeaderParams := make(map[string]string)
   281  	localVarQueryParams := url.Values{}
   282  	localVarFormParams := url.Values{}
   283  
   284  	// to determine the Content-Type header
   285  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   286  
   287  	// set Content-Type header
   288  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   289  	if localVarHttpContentType != "" {
   290  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   291  	}
   292  
   293  	// to determine the Accept header
   294  	localVarHttpHeaderAccepts := []string{
   295  		"application/json",
   296  		"application/xml",
   297  		"text/xml",
   298  		"application/javascript",
   299  		"text/javascript",
   300  	}
   301  
   302  	// set Accept header
   303  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   304  	if localVarHttpHeaderAccept != "" {
   305  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   306  	}
   307  	localVarFormParams.Add("symbol", parameterToString(symbol, ""))
   308  	localVarFormParams.Add("amount", parameterToString(amount, ""))
   309  	if ctx != nil {
   310  		// API Key Authentication
   311  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   312  			var key string
   313  			if auth.Prefix != "" {
   314  				key = auth.Prefix + " " + auth.Key
   315  			} else {
   316  				key = auth.Key
   317  			}
   318  			localVarHeaderParams["api-key"] = key
   319  		}
   320  	}
   321  	if ctx != nil {
   322  		// API Key Authentication
   323  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   324  			var key string
   325  			if auth.Prefix != "" {
   326  				key = auth.Prefix + " " + auth.Key
   327  			} else {
   328  				key = auth.Key
   329  			}
   330  			localVarHeaderParams["api-nonce"] = key
   331  		}
   332  	}
   333  	if ctx != nil {
   334  		// API Key Authentication
   335  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   336  			var key string
   337  			if auth.Prefix != "" {
   338  				key = auth.Prefix + " " + auth.Key
   339  			} else {
   340  				key = auth.Key
   341  			}
   342  			localVarHeaderParams["api-signature"] = key
   343  		}
   344  	}
   345  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   346  	if err != nil {
   347  		return successPayload, nil, err
   348  	}
   349  
   350  	localVarHttpResponse, err := a.client.callAPI(r)
   351  	if err != nil || localVarHttpResponse == nil {
   352  		return successPayload, localVarHttpResponse, err
   353  	}
   354  	defer localVarHttpResponse.Body.Close()
   355  	if localVarHttpResponse.StatusCode >= 300 {
   356  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   357  	}
   358  
   359  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   360  		return successPayload, localVarHttpResponse, err
   361  	}
   362  
   363  	return successPayload, localVarHttpResponse, err
   364  }
   365  
   366  /* PositionApiService Choose leverage for a position.
   367   Users can choose an isolated leverage. This will automatically enable isolated margin.
   368   * @param ctx context.Context Authentication Context 
   369   @param symbol Symbol of position to adjust.
   370   @param leverage Leverage value. Send a number between 0.01 and 100 to enable isolated margin with a fixed leverage. Send 0 to enable cross margin.
   371   @return Position*/
   372  func (a *PositionApiService) PositionUpdateLeverage(ctx context.Context, symbol string, leverage float64) (Position, *http.Response, error) {
   373  	var (
   374  		localVarHttpMethod = strings.ToUpper("Post")
   375  		localVarPostBody   interface{}
   376  		localVarFileName   string
   377  		localVarFileBytes  []byte
   378  		successPayload     Position
   379  	)
   380  
   381  	// create path and map variables
   382  	localVarPath := a.client.cfg.BasePath + "/position/leverage"
   383  
   384  	localVarHeaderParams := make(map[string]string)
   385  	localVarQueryParams := url.Values{}
   386  	localVarFormParams := url.Values{}
   387  
   388  	// to determine the Content-Type header
   389  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   390  
   391  	// set Content-Type header
   392  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   393  	if localVarHttpContentType != "" {
   394  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   395  	}
   396  
   397  	// to determine the Accept header
   398  	localVarHttpHeaderAccepts := []string{
   399  		"application/json",
   400  		"application/xml",
   401  		"text/xml",
   402  		"application/javascript",
   403  		"text/javascript",
   404  	}
   405  
   406  	// set Accept header
   407  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   408  	if localVarHttpHeaderAccept != "" {
   409  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   410  	}
   411  	localVarFormParams.Add("symbol", parameterToString(symbol, ""))
   412  	localVarFormParams.Add("leverage", parameterToString(leverage, ""))
   413  	if ctx != nil {
   414  		// API Key Authentication
   415  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   416  			var key string
   417  			if auth.Prefix != "" {
   418  				key = auth.Prefix + " " + auth.Key
   419  			} else {
   420  				key = auth.Key
   421  			}
   422  			localVarHeaderParams["api-key"] = key
   423  		}
   424  	}
   425  	if ctx != nil {
   426  		// API Key Authentication
   427  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   428  			var key string
   429  			if auth.Prefix != "" {
   430  				key = auth.Prefix + " " + auth.Key
   431  			} else {
   432  				key = auth.Key
   433  			}
   434  			localVarHeaderParams["api-nonce"] = key
   435  		}
   436  	}
   437  	if ctx != nil {
   438  		// API Key Authentication
   439  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   440  			var key string
   441  			if auth.Prefix != "" {
   442  				key = auth.Prefix + " " + auth.Key
   443  			} else {
   444  				key = auth.Key
   445  			}
   446  			localVarHeaderParams["api-signature"] = key
   447  		}
   448  	}
   449  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   450  	if err != nil {
   451  		return successPayload, nil, err
   452  	}
   453  
   454  	localVarHttpResponse, err := a.client.callAPI(r)
   455  	if err != nil || localVarHttpResponse == nil {
   456  		return successPayload, localVarHttpResponse, err
   457  	}
   458  	defer localVarHttpResponse.Body.Close()
   459  	if localVarHttpResponse.StatusCode >= 300 {
   460  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   461  	}
   462  
   463  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   464  		return successPayload, localVarHttpResponse, err
   465  	}
   466  
   467  	return successPayload, localVarHttpResponse, err
   468  }
   469  
   470  /* PositionApiService Update your risk limit.
   471   Risk Limits limit the size of positions you can trade at various margin levels. Larger positions require more margin. Please see the Risk Limit documentation for more details.
   472   * @param ctx context.Context Authentication Context 
   473   @param symbol Symbol of position to isolate.
   474   @param riskLimit New Risk Limit, in Satoshis.
   475   @return Position*/
   476  func (a *PositionApiService) PositionUpdateRiskLimit(ctx context.Context, symbol string, riskLimit float32) (Position, *http.Response, error) {
   477  	var (
   478  		localVarHttpMethod = strings.ToUpper("Post")
   479  		localVarPostBody   interface{}
   480  		localVarFileName   string
   481  		localVarFileBytes  []byte
   482  		successPayload     Position
   483  	)
   484  
   485  	// create path and map variables
   486  	localVarPath := a.client.cfg.BasePath + "/position/riskLimit"
   487  
   488  	localVarHeaderParams := make(map[string]string)
   489  	localVarQueryParams := url.Values{}
   490  	localVarFormParams := url.Values{}
   491  
   492  	// to determine the Content-Type header
   493  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   494  
   495  	// set Content-Type header
   496  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   497  	if localVarHttpContentType != "" {
   498  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   499  	}
   500  
   501  	// to determine the Accept header
   502  	localVarHttpHeaderAccepts := []string{
   503  		"application/json",
   504  		"application/xml",
   505  		"text/xml",
   506  		"application/javascript",
   507  		"text/javascript",
   508  	}
   509  
   510  	// set Accept header
   511  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   512  	if localVarHttpHeaderAccept != "" {
   513  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   514  	}
   515  	localVarFormParams.Add("symbol", parameterToString(symbol, ""))
   516  	localVarFormParams.Add("riskLimit", parameterToString(riskLimit, ""))
   517  	if ctx != nil {
   518  		// API Key Authentication
   519  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   520  			var key string
   521  			if auth.Prefix != "" {
   522  				key = auth.Prefix + " " + auth.Key
   523  			} else {
   524  				key = auth.Key
   525  			}
   526  			localVarHeaderParams["api-key"] = key
   527  		}
   528  	}
   529  	if ctx != nil {
   530  		// API Key Authentication
   531  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   532  			var key string
   533  			if auth.Prefix != "" {
   534  				key = auth.Prefix + " " + auth.Key
   535  			} else {
   536  				key = auth.Key
   537  			}
   538  			localVarHeaderParams["api-nonce"] = key
   539  		}
   540  	}
   541  	if ctx != nil {
   542  		// API Key Authentication
   543  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   544  			var key string
   545  			if auth.Prefix != "" {
   546  				key = auth.Prefix + " " + auth.Key
   547  			} else {
   548  				key = auth.Key
   549  			}
   550  			localVarHeaderParams["api-signature"] = key
   551  		}
   552  	}
   553  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   554  	if err != nil {
   555  		return successPayload, nil, err
   556  	}
   557  
   558  	localVarHttpResponse, err := a.client.callAPI(r)
   559  	if err != nil || localVarHttpResponse == nil {
   560  		return successPayload, localVarHttpResponse, err
   561  	}
   562  	defer localVarHttpResponse.Body.Close()
   563  	if localVarHttpResponse.StatusCode >= 300 {
   564  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   565  	}
   566  
   567  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   568  		return successPayload, localVarHttpResponse, err
   569  	}
   570  
   571  	return successPayload, localVarHttpResponse, err
   572  }