github.com/vmpartner/bitmex@v1.1.0/swagger/api_key_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 APIKeyApiService service
    27  
    28  /* APIKeyApiService Disable an API Key.
    29   * @param ctx context.Context Authentication Context 
    30   @param apiKeyID API Key ID (public component).
    31   @return ApiKey*/
    32  func (a *APIKeyApiService) APIKeyDisable(ctx context.Context, apiKeyID string) (ApiKey, *http.Response, error) {
    33  	var (
    34  		localVarHttpMethod = strings.ToUpper("Post")
    35  		localVarPostBody   interface{}
    36  		localVarFileName   string
    37  		localVarFileBytes  []byte
    38  		successPayload     ApiKey
    39  	)
    40  
    41  	// create path and map variables
    42  	localVarPath := a.client.cfg.BasePath + "/apiKey/disable"
    43  
    44  	localVarHeaderParams := make(map[string]string)
    45  	localVarQueryParams := url.Values{}
    46  	localVarFormParams := url.Values{}
    47  
    48  	// to determine the Content-Type header
    49  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
    50  
    51  	// set Content-Type header
    52  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    53  	if localVarHttpContentType != "" {
    54  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    55  	}
    56  
    57  	// to determine the Accept header
    58  	localVarHttpHeaderAccepts := []string{
    59  		"application/json",
    60  		"application/xml",
    61  		"text/xml",
    62  		"application/javascript",
    63  		"text/javascript",
    64  	}
    65  
    66  	// set Accept header
    67  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    68  	if localVarHttpHeaderAccept != "" {
    69  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    70  	}
    71  	localVarFormParams.Add("apiKeyID", parameterToString(apiKeyID, ""))
    72  	if ctx != nil {
    73  		// API Key Authentication
    74  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    75  			var key string
    76  			if auth.Prefix != "" {
    77  				key = auth.Prefix + " " + auth.Key
    78  			} else {
    79  				key = auth.Key
    80  			}
    81  			localVarHeaderParams["api-key"] = key
    82  		}
    83  	}
    84  	if ctx != nil {
    85  		// API Key Authentication
    86  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    87  			var key string
    88  			if auth.Prefix != "" {
    89  				key = auth.Prefix + " " + auth.Key
    90  			} else {
    91  				key = auth.Key
    92  			}
    93  			localVarHeaderParams["api-nonce"] = key
    94  		}
    95  	}
    96  	if ctx != nil {
    97  		// API Key Authentication
    98  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    99  			var key string
   100  			if auth.Prefix != "" {
   101  				key = auth.Prefix + " " + auth.Key
   102  			} else {
   103  				key = auth.Key
   104  			}
   105  			localVarHeaderParams["api-signature"] = key
   106  		}
   107  	}
   108  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   109  	if err != nil {
   110  		return successPayload, nil, err
   111  	}
   112  
   113  	localVarHttpResponse, err := a.client.callAPI(r)
   114  	if err != nil || localVarHttpResponse == nil {
   115  		return successPayload, localVarHttpResponse, err
   116  	}
   117  	defer localVarHttpResponse.Body.Close()
   118  	if localVarHttpResponse.StatusCode >= 300 {
   119  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   120  	}
   121  
   122  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   123  		return successPayload, localVarHttpResponse, err
   124  	}
   125  
   126  	return successPayload, localVarHttpResponse, err
   127  }
   128  
   129  /* APIKeyApiService Enable an API Key.
   130   * @param ctx context.Context Authentication Context 
   131   @param apiKeyID API Key ID (public component).
   132   @return ApiKey*/
   133  func (a *APIKeyApiService) APIKeyEnable(ctx context.Context, apiKeyID string) (ApiKey, *http.Response, error) {
   134  	var (
   135  		localVarHttpMethod = strings.ToUpper("Post")
   136  		localVarPostBody   interface{}
   137  		localVarFileName   string
   138  		localVarFileBytes  []byte
   139  		successPayload     ApiKey
   140  	)
   141  
   142  	// create path and map variables
   143  	localVarPath := a.client.cfg.BasePath + "/apiKey/enable"
   144  
   145  	localVarHeaderParams := make(map[string]string)
   146  	localVarQueryParams := url.Values{}
   147  	localVarFormParams := url.Values{}
   148  
   149  	// to determine the Content-Type header
   150  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   151  
   152  	// set Content-Type header
   153  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   154  	if localVarHttpContentType != "" {
   155  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   156  	}
   157  
   158  	// to determine the Accept header
   159  	localVarHttpHeaderAccepts := []string{
   160  		"application/json",
   161  		"application/xml",
   162  		"text/xml",
   163  		"application/javascript",
   164  		"text/javascript",
   165  	}
   166  
   167  	// set Accept header
   168  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   169  	if localVarHttpHeaderAccept != "" {
   170  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   171  	}
   172  	localVarFormParams.Add("apiKeyID", parameterToString(apiKeyID, ""))
   173  	if ctx != nil {
   174  		// API Key Authentication
   175  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   176  			var key string
   177  			if auth.Prefix != "" {
   178  				key = auth.Prefix + " " + auth.Key
   179  			} else {
   180  				key = auth.Key
   181  			}
   182  			localVarHeaderParams["api-key"] = key
   183  		}
   184  	}
   185  	if ctx != nil {
   186  		// API Key Authentication
   187  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   188  			var key string
   189  			if auth.Prefix != "" {
   190  				key = auth.Prefix + " " + auth.Key
   191  			} else {
   192  				key = auth.Key
   193  			}
   194  			localVarHeaderParams["api-nonce"] = key
   195  		}
   196  	}
   197  	if ctx != nil {
   198  		// API Key Authentication
   199  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   200  			var key string
   201  			if auth.Prefix != "" {
   202  				key = auth.Prefix + " " + auth.Key
   203  			} else {
   204  				key = auth.Key
   205  			}
   206  			localVarHeaderParams["api-signature"] = key
   207  		}
   208  	}
   209  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   210  	if err != nil {
   211  		return successPayload, nil, err
   212  	}
   213  
   214  	localVarHttpResponse, err := a.client.callAPI(r)
   215  	if err != nil || localVarHttpResponse == nil {
   216  		return successPayload, localVarHttpResponse, err
   217  	}
   218  	defer localVarHttpResponse.Body.Close()
   219  	if localVarHttpResponse.StatusCode >= 300 {
   220  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   221  	}
   222  
   223  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   224  		return successPayload, localVarHttpResponse, err
   225  	}
   226  
   227  	return successPayload, localVarHttpResponse, err
   228  }
   229  
   230  /* APIKeyApiService Get your API Keys.
   231   * @param ctx context.Context Authentication Context 
   232   @param optional (nil or map[string]interface{}) with one or more of:
   233       @param "reverse" (bool) If true, will sort results newest first.
   234   @return []ApiKey*/
   235  func (a *APIKeyApiService) APIKeyGet(ctx context.Context, localVarOptionals map[string]interface{}) ([]ApiKey, *http.Response, error) {
   236  	var (
   237  		localVarHttpMethod = strings.ToUpper("Get")
   238  		localVarPostBody   interface{}
   239  		localVarFileName   string
   240  		localVarFileBytes  []byte
   241  		successPayload     []ApiKey
   242  	)
   243  
   244  	// create path and map variables
   245  	localVarPath := a.client.cfg.BasePath + "/apiKey"
   246  
   247  	localVarHeaderParams := make(map[string]string)
   248  	localVarQueryParams := url.Values{}
   249  	localVarFormParams := url.Values{}
   250  
   251  	if err := typeCheckParameter(localVarOptionals["reverse"], "bool", "reverse"); err != nil {
   252  		return successPayload, nil, err
   253  	}
   254  
   255  	if localVarTempParam, localVarOk := localVarOptionals["reverse"].(bool); localVarOk {
   256  		localVarQueryParams.Add("reverse", parameterToString(localVarTempParam, ""))
   257  	}
   258  	// to determine the Content-Type header
   259  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   260  
   261  	// set Content-Type header
   262  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   263  	if localVarHttpContentType != "" {
   264  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   265  	}
   266  
   267  	// to determine the Accept header
   268  	localVarHttpHeaderAccepts := []string{
   269  		"application/json",
   270  		"application/xml",
   271  		"text/xml",
   272  		"application/javascript",
   273  		"text/javascript",
   274  	}
   275  
   276  	// set Accept header
   277  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   278  	if localVarHttpHeaderAccept != "" {
   279  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   280  	}
   281  	if ctx != nil {
   282  		// API Key Authentication
   283  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   284  			var key string
   285  			if auth.Prefix != "" {
   286  				key = auth.Prefix + " " + auth.Key
   287  			} else {
   288  				key = auth.Key
   289  			}
   290  			localVarHeaderParams["api-key"] = key
   291  		}
   292  	}
   293  	if ctx != nil {
   294  		// API Key Authentication
   295  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   296  			var key string
   297  			if auth.Prefix != "" {
   298  				key = auth.Prefix + " " + auth.Key
   299  			} else {
   300  				key = auth.Key
   301  			}
   302  			localVarHeaderParams["api-nonce"] = key
   303  		}
   304  	}
   305  	if ctx != nil {
   306  		// API Key Authentication
   307  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   308  			var key string
   309  			if auth.Prefix != "" {
   310  				key = auth.Prefix + " " + auth.Key
   311  			} else {
   312  				key = auth.Key
   313  			}
   314  			localVarHeaderParams["api-signature"] = key
   315  		}
   316  	}
   317  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   318  	if err != nil {
   319  		return successPayload, nil, err
   320  	}
   321  
   322  	localVarHttpResponse, err := a.client.callAPI(r)
   323  	if err != nil || localVarHttpResponse == nil {
   324  		return successPayload, localVarHttpResponse, err
   325  	}
   326  	defer localVarHttpResponse.Body.Close()
   327  	if localVarHttpResponse.StatusCode >= 300 {
   328  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   329  	}
   330  
   331  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   332  		return successPayload, localVarHttpResponse, err
   333  	}
   334  
   335  	return successPayload, localVarHttpResponse, err
   336  }
   337  
   338  /* APIKeyApiService Create a new API Key.
   339   API Keys can also be created via [this Python script](https://github.com/BitMEX/market-maker/blob/master/generate-api-key.py) See the [API Key Documentation](/app/apiKeys) for more information on capabilities.
   340   * @param ctx context.Context Authentication Context 
   341   @param optional (nil or map[string]interface{}) with one or more of:
   342       @param "name" (string) Key name. This name is for reference only.
   343       @param "cidr" (string) CIDR block to restrict this key to. To restrict to a single address, append \"/32\", e.g. 207.39.29.22/32. Leave blank or set to 0.0.0.0/0 to allow all IPs. Only one block may be set. <a href=\"http://software77.net/cidr-101.html\">More on CIDR blocks</a>
   344       @param "permissions" (string) Key Permissions. All keys can read margin and position data. Additional permissions must be added. Available: [\"order\", \"orderCancel\", \"withdraw\"].
   345       @param "enabled" (bool) Set to true to enable this key on creation. Otherwise, it must be explicitly enabled via /apiKey/enable.
   346       @param "token" (string) OTP Token (YubiKey, Google Authenticator)
   347   @return ApiKey*/
   348  func (a *APIKeyApiService) APIKeyNew(ctx context.Context, localVarOptionals map[string]interface{}) (ApiKey, *http.Response, error) {
   349  	var (
   350  		localVarHttpMethod = strings.ToUpper("Post")
   351  		localVarPostBody   interface{}
   352  		localVarFileName   string
   353  		localVarFileBytes  []byte
   354  		successPayload     ApiKey
   355  	)
   356  
   357  	// create path and map variables
   358  	localVarPath := a.client.cfg.BasePath + "/apiKey"
   359  
   360  	localVarHeaderParams := make(map[string]string)
   361  	localVarQueryParams := url.Values{}
   362  	localVarFormParams := url.Values{}
   363  
   364  	if err := typeCheckParameter(localVarOptionals["name"], "string", "name"); err != nil {
   365  		return successPayload, nil, err
   366  	}
   367  	if err := typeCheckParameter(localVarOptionals["cidr"], "string", "cidr"); err != nil {
   368  		return successPayload, nil, err
   369  	}
   370  	if err := typeCheckParameter(localVarOptionals["permissions"], "string", "permissions"); err != nil {
   371  		return successPayload, nil, err
   372  	}
   373  	if err := typeCheckParameter(localVarOptionals["enabled"], "bool", "enabled"); err != nil {
   374  		return successPayload, nil, err
   375  	}
   376  	if err := typeCheckParameter(localVarOptionals["token"], "string", "token"); err != nil {
   377  		return successPayload, nil, err
   378  	}
   379  
   380  	// to determine the Content-Type header
   381  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   382  
   383  	// set Content-Type header
   384  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   385  	if localVarHttpContentType != "" {
   386  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   387  	}
   388  
   389  	// to determine the Accept header
   390  	localVarHttpHeaderAccepts := []string{
   391  		"application/json",
   392  		"application/xml",
   393  		"text/xml",
   394  		"application/javascript",
   395  		"text/javascript",
   396  	}
   397  
   398  	// set Accept header
   399  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   400  	if localVarHttpHeaderAccept != "" {
   401  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   402  	}
   403  	if localVarTempParam, localVarOk := localVarOptionals["name"].(string); localVarOk {
   404  		localVarFormParams.Add("name", parameterToString(localVarTempParam, ""))
   405  	}
   406  	if localVarTempParam, localVarOk := localVarOptionals["cidr"].(string); localVarOk {
   407  		localVarFormParams.Add("cidr", parameterToString(localVarTempParam, ""))
   408  	}
   409  	if localVarTempParam, localVarOk := localVarOptionals["permissions"].(string); localVarOk {
   410  		localVarFormParams.Add("permissions", parameterToString(localVarTempParam, ""))
   411  	}
   412  	if localVarTempParam, localVarOk := localVarOptionals["enabled"].(bool); localVarOk {
   413  		localVarFormParams.Add("enabled", parameterToString(localVarTempParam, ""))
   414  	}
   415  	if localVarTempParam, localVarOk := localVarOptionals["token"].(string); localVarOk {
   416  		localVarFormParams.Add("token", parameterToString(localVarTempParam, ""))
   417  	}
   418  	if ctx != nil {
   419  		// API Key Authentication
   420  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   421  			var key string
   422  			if auth.Prefix != "" {
   423  				key = auth.Prefix + " " + auth.Key
   424  			} else {
   425  				key = auth.Key
   426  			}
   427  			localVarHeaderParams["api-key"] = key
   428  		}
   429  	}
   430  	if ctx != nil {
   431  		// API Key Authentication
   432  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   433  			var key string
   434  			if auth.Prefix != "" {
   435  				key = auth.Prefix + " " + auth.Key
   436  			} else {
   437  				key = auth.Key
   438  			}
   439  			localVarHeaderParams["api-nonce"] = key
   440  		}
   441  	}
   442  	if ctx != nil {
   443  		// API Key Authentication
   444  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   445  			var key string
   446  			if auth.Prefix != "" {
   447  				key = auth.Prefix + " " + auth.Key
   448  			} else {
   449  				key = auth.Key
   450  			}
   451  			localVarHeaderParams["api-signature"] = key
   452  		}
   453  	}
   454  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   455  	if err != nil {
   456  		return successPayload, nil, err
   457  	}
   458  
   459  	localVarHttpResponse, err := a.client.callAPI(r)
   460  	if err != nil || localVarHttpResponse == nil {
   461  		return successPayload, localVarHttpResponse, err
   462  	}
   463  	defer localVarHttpResponse.Body.Close()
   464  	if localVarHttpResponse.StatusCode >= 300 {
   465  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   466  	}
   467  
   468  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   469  		return successPayload, localVarHttpResponse, err
   470  	}
   471  
   472  	return successPayload, localVarHttpResponse, err
   473  }
   474  
   475  /* APIKeyApiService Remove an API Key.
   476   * @param ctx context.Context Authentication Context 
   477   @param apiKeyID API Key ID (public component).
   478   @return InlineResponse200*/
   479  func (a *APIKeyApiService) APIKeyRemove(ctx context.Context, apiKeyID string) (InlineResponse200, *http.Response, error) {
   480  	var (
   481  		localVarHttpMethod = strings.ToUpper("Delete")
   482  		localVarPostBody   interface{}
   483  		localVarFileName   string
   484  		localVarFileBytes  []byte
   485  		successPayload     InlineResponse200
   486  	)
   487  
   488  	// create path and map variables
   489  	localVarPath := a.client.cfg.BasePath + "/apiKey"
   490  
   491  	localVarHeaderParams := make(map[string]string)
   492  	localVarQueryParams := url.Values{}
   493  	localVarFormParams := url.Values{}
   494  
   495  	// to determine the Content-Type header
   496  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   497  
   498  	// set Content-Type header
   499  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   500  	if localVarHttpContentType != "" {
   501  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   502  	}
   503  
   504  	// to determine the Accept header
   505  	localVarHttpHeaderAccepts := []string{
   506  		"application/json",
   507  		"application/xml",
   508  		"text/xml",
   509  		"application/javascript",
   510  		"text/javascript",
   511  	}
   512  
   513  	// set Accept header
   514  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   515  	if localVarHttpHeaderAccept != "" {
   516  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   517  	}
   518  	localVarFormParams.Add("apiKeyID", parameterToString(apiKeyID, ""))
   519  	if ctx != nil {
   520  		// API Key Authentication
   521  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   522  			var key string
   523  			if auth.Prefix != "" {
   524  				key = auth.Prefix + " " + auth.Key
   525  			} else {
   526  				key = auth.Key
   527  			}
   528  			localVarHeaderParams["api-key"] = key
   529  		}
   530  	}
   531  	if ctx != nil {
   532  		// API Key Authentication
   533  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   534  			var key string
   535  			if auth.Prefix != "" {
   536  				key = auth.Prefix + " " + auth.Key
   537  			} else {
   538  				key = auth.Key
   539  			}
   540  			localVarHeaderParams["api-nonce"] = key
   541  		}
   542  	}
   543  	if ctx != nil {
   544  		// API Key Authentication
   545  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   546  			var key string
   547  			if auth.Prefix != "" {
   548  				key = auth.Prefix + " " + auth.Key
   549  			} else {
   550  				key = auth.Key
   551  			}
   552  			localVarHeaderParams["api-signature"] = key
   553  		}
   554  	}
   555  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   556  	if err != nil {
   557  		return successPayload, nil, err
   558  	}
   559  
   560  	localVarHttpResponse, err := a.client.callAPI(r)
   561  	if err != nil || localVarHttpResponse == nil {
   562  		return successPayload, localVarHttpResponse, err
   563  	}
   564  	defer localVarHttpResponse.Body.Close()
   565  	if localVarHttpResponse.StatusCode >= 300 {
   566  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   567  	}
   568  
   569  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   570  		return successPayload, localVarHttpResponse, err
   571  	}
   572  
   573  	return successPayload, localVarHttpResponse, err
   574  }