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 }