github.com/vmpartner/bitmex@v1.1.0/swagger/user_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 UserApiService service 27 28 /* UserApiService Cancel a withdrawal. 29 30 @param token 31 @return Transaction*/ 32 func (a *UserApiService) UserCancelWithdrawal(token string) (Transaction, *http.Response, error) { 33 var ( 34 localVarHttpMethod = strings.ToUpper("Post") 35 localVarPostBody interface{} 36 localVarFileName string 37 localVarFileBytes []byte 38 successPayload Transaction 39 ) 40 41 // create path and map variables 42 localVarPath := a.client.cfg.BasePath + "/user/cancelWithdrawal" 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("token", parameterToString(token, "")) 72 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 73 if err != nil { 74 return successPayload, nil, err 75 } 76 77 localVarHttpResponse, err := a.client.callAPI(r) 78 if err != nil || localVarHttpResponse == nil { 79 return successPayload, localVarHttpResponse, err 80 } 81 defer localVarHttpResponse.Body.Close() 82 if localVarHttpResponse.StatusCode >= 300 { 83 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 84 } 85 86 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 87 return successPayload, localVarHttpResponse, err 88 } 89 90 return successPayload, localVarHttpResponse, err 91 } 92 93 /* UserApiService Check if a referral code is valid. 94 If the code is valid, responds with the referral code's discount (e.g. `0.1` for 10%). Otherwise, will return a 404. 95 96 @param optional (nil or map[string]interface{}) with one or more of: 97 @param "referralCode" (string) 98 @return float64*/ 99 func (a *UserApiService) UserCheckReferralCode(localVarOptionals map[string]interface{}) (float64, *http.Response, error) { 100 var ( 101 localVarHttpMethod = strings.ToUpper("Get") 102 localVarPostBody interface{} 103 localVarFileName string 104 localVarFileBytes []byte 105 successPayload float64 106 ) 107 108 // create path and map variables 109 localVarPath := a.client.cfg.BasePath + "/user/checkReferralCode" 110 111 localVarHeaderParams := make(map[string]string) 112 localVarQueryParams := url.Values{} 113 localVarFormParams := url.Values{} 114 115 if err := typeCheckParameter(localVarOptionals["referralCode"], "string", "referralCode"); err != nil { 116 return successPayload, nil, err 117 } 118 119 if localVarTempParam, localVarOk := localVarOptionals["referralCode"].(string); localVarOk { 120 localVarQueryParams.Add("referralCode", parameterToString(localVarTempParam, "")) 121 } 122 // to determine the Content-Type header 123 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 124 125 // set Content-Type header 126 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 127 if localVarHttpContentType != "" { 128 localVarHeaderParams["Content-Type"] = localVarHttpContentType 129 } 130 131 // to determine the Accept header 132 localVarHttpHeaderAccepts := []string{ 133 "application/json", 134 "application/xml", 135 "text/xml", 136 "application/javascript", 137 "text/javascript", 138 } 139 140 // set Accept header 141 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 142 if localVarHttpHeaderAccept != "" { 143 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 144 } 145 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 146 if err != nil { 147 return successPayload, nil, err 148 } 149 150 localVarHttpResponse, err := a.client.callAPI(r) 151 if err != nil || localVarHttpResponse == nil { 152 return successPayload, localVarHttpResponse, err 153 } 154 defer localVarHttpResponse.Body.Close() 155 if localVarHttpResponse.StatusCode >= 300 { 156 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 157 } 158 159 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 160 return successPayload, localVarHttpResponse, err 161 } 162 163 return successPayload, localVarHttpResponse, err 164 } 165 166 /* UserApiService Confirm your email address with a token. 167 168 @param token 169 @return AccessToken*/ 170 func (a *UserApiService) UserConfirm(token string) (AccessToken, *http.Response, error) { 171 var ( 172 localVarHttpMethod = strings.ToUpper("Post") 173 localVarPostBody interface{} 174 localVarFileName string 175 localVarFileBytes []byte 176 successPayload AccessToken 177 ) 178 179 // create path and map variables 180 localVarPath := a.client.cfg.BasePath + "/user/confirmEmail" 181 182 localVarHeaderParams := make(map[string]string) 183 localVarQueryParams := url.Values{} 184 localVarFormParams := url.Values{} 185 186 // to determine the Content-Type header 187 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 188 189 // set Content-Type header 190 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 191 if localVarHttpContentType != "" { 192 localVarHeaderParams["Content-Type"] = localVarHttpContentType 193 } 194 195 // to determine the Accept header 196 localVarHttpHeaderAccepts := []string{ 197 "application/json", 198 "application/xml", 199 "text/xml", 200 "application/javascript", 201 "text/javascript", 202 } 203 204 // set Accept header 205 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 206 if localVarHttpHeaderAccept != "" { 207 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 208 } 209 localVarFormParams.Add("token", parameterToString(token, "")) 210 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 211 if err != nil { 212 return successPayload, nil, err 213 } 214 215 localVarHttpResponse, err := a.client.callAPI(r) 216 if err != nil || localVarHttpResponse == nil { 217 return successPayload, localVarHttpResponse, err 218 } 219 defer localVarHttpResponse.Body.Close() 220 if localVarHttpResponse.StatusCode >= 300 { 221 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 222 } 223 224 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 225 return successPayload, localVarHttpResponse, err 226 } 227 228 return successPayload, localVarHttpResponse, err 229 } 230 231 /* UserApiService Confirm two-factor auth for this account. If using a Yubikey, simply send a token to this endpoint. 232 * @param ctx context.Context Authentication Context 233 @param token Token from your selected TFA type. 234 @param optional (nil or map[string]interface{}) with one or more of: 235 @param "type_" (string) Two-factor auth type. Supported types: 'GA' (Google Authenticator), 'Yubikey' 236 @return bool*/ 237 func (a *UserApiService) UserConfirmEnableTFA(ctx context.Context, token string, localVarOptionals map[string]interface{}) (bool, *http.Response, error) { 238 var ( 239 localVarHttpMethod = strings.ToUpper("Post") 240 localVarPostBody interface{} 241 localVarFileName string 242 localVarFileBytes []byte 243 successPayload bool 244 ) 245 246 // create path and map variables 247 localVarPath := a.client.cfg.BasePath + "/user/confirmEnableTFA" 248 249 localVarHeaderParams := make(map[string]string) 250 localVarQueryParams := url.Values{} 251 localVarFormParams := url.Values{} 252 253 if err := typeCheckParameter(localVarOptionals["type_"], "string", "type_"); err != nil { 254 return successPayload, nil, err 255 } 256 257 // to determine the Content-Type header 258 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 259 260 // set Content-Type header 261 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 262 if localVarHttpContentType != "" { 263 localVarHeaderParams["Content-Type"] = localVarHttpContentType 264 } 265 266 // to determine the Accept header 267 localVarHttpHeaderAccepts := []string{ 268 "application/json", 269 "application/xml", 270 "text/xml", 271 "application/javascript", 272 "text/javascript", 273 } 274 275 // set Accept header 276 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 277 if localVarHttpHeaderAccept != "" { 278 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 279 } 280 if localVarTempParam, localVarOk := localVarOptionals["type_"].(string); localVarOk { 281 localVarFormParams.Add("type", parameterToString(localVarTempParam, "")) 282 } 283 localVarFormParams.Add("token", parameterToString(token, "")) 284 if ctx != nil { 285 // API Key Authentication 286 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 287 var key string 288 if auth.Prefix != "" { 289 key = auth.Prefix + " " + auth.Key 290 } else { 291 key = auth.Key 292 } 293 localVarHeaderParams["api-key"] = key 294 } 295 } 296 if ctx != nil { 297 // API Key Authentication 298 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 299 var key string 300 if auth.Prefix != "" { 301 key = auth.Prefix + " " + auth.Key 302 } else { 303 key = auth.Key 304 } 305 localVarHeaderParams["api-nonce"] = key 306 } 307 } 308 if ctx != nil { 309 // API Key Authentication 310 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 311 var key string 312 if auth.Prefix != "" { 313 key = auth.Prefix + " " + auth.Key 314 } else { 315 key = auth.Key 316 } 317 localVarHeaderParams["api-signature"] = key 318 } 319 } 320 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 321 if err != nil { 322 return successPayload, nil, err 323 } 324 325 localVarHttpResponse, err := a.client.callAPI(r) 326 if err != nil || localVarHttpResponse == nil { 327 return successPayload, localVarHttpResponse, err 328 } 329 defer localVarHttpResponse.Body.Close() 330 if localVarHttpResponse.StatusCode >= 300 { 331 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 332 } 333 334 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 335 return successPayload, localVarHttpResponse, err 336 } 337 338 return successPayload, localVarHttpResponse, err 339 } 340 341 /* UserApiService Confirm a withdrawal. 342 343 @param token 344 @return Transaction*/ 345 func (a *UserApiService) UserConfirmWithdrawal(token string) (Transaction, *http.Response, error) { 346 var ( 347 localVarHttpMethod = strings.ToUpper("Post") 348 localVarPostBody interface{} 349 localVarFileName string 350 localVarFileBytes []byte 351 successPayload Transaction 352 ) 353 354 // create path and map variables 355 localVarPath := a.client.cfg.BasePath + "/user/confirmWithdrawal" 356 357 localVarHeaderParams := make(map[string]string) 358 localVarQueryParams := url.Values{} 359 localVarFormParams := url.Values{} 360 361 // to determine the Content-Type header 362 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 363 364 // set Content-Type header 365 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 366 if localVarHttpContentType != "" { 367 localVarHeaderParams["Content-Type"] = localVarHttpContentType 368 } 369 370 // to determine the Accept header 371 localVarHttpHeaderAccepts := []string{ 372 "application/json", 373 "application/xml", 374 "text/xml", 375 "application/javascript", 376 "text/javascript", 377 } 378 379 // set Accept header 380 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 381 if localVarHttpHeaderAccept != "" { 382 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 383 } 384 localVarFormParams.Add("token", parameterToString(token, "")) 385 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 386 if err != nil { 387 return successPayload, nil, err 388 } 389 390 localVarHttpResponse, err := a.client.callAPI(r) 391 if err != nil || localVarHttpResponse == nil { 392 return successPayload, localVarHttpResponse, err 393 } 394 defer localVarHttpResponse.Body.Close() 395 if localVarHttpResponse.StatusCode >= 300 { 396 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 397 } 398 399 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 400 return successPayload, localVarHttpResponse, err 401 } 402 403 return successPayload, localVarHttpResponse, err 404 } 405 406 /* UserApiService Disable two-factor auth for this account. 407 * @param ctx context.Context Authentication Context 408 @param token Token from your selected TFA type. 409 @param optional (nil or map[string]interface{}) with one or more of: 410 @param "type_" (string) Two-factor auth type. Supported types: 'GA' (Google Authenticator) 411 @return bool*/ 412 func (a *UserApiService) UserDisableTFA(ctx context.Context, token string, localVarOptionals map[string]interface{}) (bool, *http.Response, error) { 413 var ( 414 localVarHttpMethod = strings.ToUpper("Post") 415 localVarPostBody interface{} 416 localVarFileName string 417 localVarFileBytes []byte 418 successPayload bool 419 ) 420 421 // create path and map variables 422 localVarPath := a.client.cfg.BasePath + "/user/disableTFA" 423 424 localVarHeaderParams := make(map[string]string) 425 localVarQueryParams := url.Values{} 426 localVarFormParams := url.Values{} 427 428 if err := typeCheckParameter(localVarOptionals["type_"], "string", "type_"); err != nil { 429 return successPayload, nil, err 430 } 431 432 // to determine the Content-Type header 433 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 434 435 // set Content-Type header 436 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 437 if localVarHttpContentType != "" { 438 localVarHeaderParams["Content-Type"] = localVarHttpContentType 439 } 440 441 // to determine the Accept header 442 localVarHttpHeaderAccepts := []string{ 443 "application/json", 444 "application/xml", 445 "text/xml", 446 "application/javascript", 447 "text/javascript", 448 } 449 450 // set Accept header 451 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 452 if localVarHttpHeaderAccept != "" { 453 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 454 } 455 if localVarTempParam, localVarOk := localVarOptionals["type_"].(string); localVarOk { 456 localVarFormParams.Add("type", parameterToString(localVarTempParam, "")) 457 } 458 localVarFormParams.Add("token", parameterToString(token, "")) 459 if ctx != nil { 460 // API Key Authentication 461 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 462 var key string 463 if auth.Prefix != "" { 464 key = auth.Prefix + " " + auth.Key 465 } else { 466 key = auth.Key 467 } 468 localVarHeaderParams["api-key"] = key 469 } 470 } 471 if ctx != nil { 472 // API Key Authentication 473 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 474 var key string 475 if auth.Prefix != "" { 476 key = auth.Prefix + " " + auth.Key 477 } else { 478 key = auth.Key 479 } 480 localVarHeaderParams["api-nonce"] = key 481 } 482 } 483 if ctx != nil { 484 // API Key Authentication 485 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 486 var key string 487 if auth.Prefix != "" { 488 key = auth.Prefix + " " + auth.Key 489 } else { 490 key = auth.Key 491 } 492 localVarHeaderParams["api-signature"] = key 493 } 494 } 495 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 496 if err != nil { 497 return successPayload, nil, err 498 } 499 500 localVarHttpResponse, err := a.client.callAPI(r) 501 if err != nil || localVarHttpResponse == nil { 502 return successPayload, localVarHttpResponse, err 503 } 504 defer localVarHttpResponse.Body.Close() 505 if localVarHttpResponse.StatusCode >= 300 { 506 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 507 } 508 509 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 510 return successPayload, localVarHttpResponse, err 511 } 512 513 return successPayload, localVarHttpResponse, err 514 } 515 516 /* UserApiService Get your user model. 517 * @param ctx context.Context Authentication Context 518 @return User*/ 519 func (a *UserApiService) UserGet(ctx context.Context, ) (User, *http.Response, error) { 520 var ( 521 localVarHttpMethod = strings.ToUpper("Get") 522 localVarPostBody interface{} 523 localVarFileName string 524 localVarFileBytes []byte 525 successPayload User 526 ) 527 528 // create path and map variables 529 localVarPath := a.client.cfg.BasePath + "/user" 530 531 localVarHeaderParams := make(map[string]string) 532 localVarQueryParams := url.Values{} 533 localVarFormParams := url.Values{} 534 535 // to determine the Content-Type header 536 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 537 538 // set Content-Type header 539 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 540 if localVarHttpContentType != "" { 541 localVarHeaderParams["Content-Type"] = localVarHttpContentType 542 } 543 544 // to determine the Accept header 545 localVarHttpHeaderAccepts := []string{ 546 "application/json", 547 "application/xml", 548 "text/xml", 549 "application/javascript", 550 "text/javascript", 551 } 552 553 // set Accept header 554 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 555 if localVarHttpHeaderAccept != "" { 556 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 557 } 558 if ctx != nil { 559 // API Key Authentication 560 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 561 var key string 562 if auth.Prefix != "" { 563 key = auth.Prefix + " " + auth.Key 564 } else { 565 key = auth.Key 566 } 567 localVarHeaderParams["api-key"] = key 568 } 569 } 570 if ctx != nil { 571 // API Key Authentication 572 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 573 var key string 574 if auth.Prefix != "" { 575 key = auth.Prefix + " " + auth.Key 576 } else { 577 key = auth.Key 578 } 579 localVarHeaderParams["api-nonce"] = key 580 } 581 } 582 if ctx != nil { 583 // API Key Authentication 584 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 585 var key string 586 if auth.Prefix != "" { 587 key = auth.Prefix + " " + auth.Key 588 } else { 589 key = auth.Key 590 } 591 localVarHeaderParams["api-signature"] = key 592 } 593 } 594 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 595 if err != nil { 596 return successPayload, nil, err 597 } 598 599 localVarHttpResponse, err := a.client.callAPI(r) 600 if err != nil || localVarHttpResponse == nil { 601 return successPayload, localVarHttpResponse, err 602 } 603 defer localVarHttpResponse.Body.Close() 604 if localVarHttpResponse.StatusCode >= 300 { 605 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 606 } 607 608 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 609 return successPayload, localVarHttpResponse, err 610 } 611 612 return successPayload, localVarHttpResponse, err 613 } 614 615 /* UserApiService Get your current affiliate/referral status. 616 * @param ctx context.Context Authentication Context 617 @return Affiliate*/ 618 func (a *UserApiService) UserGetAffiliateStatus(ctx context.Context, ) (Affiliate, *http.Response, error) { 619 var ( 620 localVarHttpMethod = strings.ToUpper("Get") 621 localVarPostBody interface{} 622 localVarFileName string 623 localVarFileBytes []byte 624 successPayload Affiliate 625 ) 626 627 // create path and map variables 628 localVarPath := a.client.cfg.BasePath + "/user/affiliateStatus" 629 630 localVarHeaderParams := make(map[string]string) 631 localVarQueryParams := url.Values{} 632 localVarFormParams := url.Values{} 633 634 // to determine the Content-Type header 635 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 636 637 // set Content-Type header 638 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 639 if localVarHttpContentType != "" { 640 localVarHeaderParams["Content-Type"] = localVarHttpContentType 641 } 642 643 // to determine the Accept header 644 localVarHttpHeaderAccepts := []string{ 645 "application/json", 646 "application/xml", 647 "text/xml", 648 "application/javascript", 649 "text/javascript", 650 } 651 652 // set Accept header 653 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 654 if localVarHttpHeaderAccept != "" { 655 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 656 } 657 if ctx != nil { 658 // API Key Authentication 659 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 660 var key string 661 if auth.Prefix != "" { 662 key = auth.Prefix + " " + auth.Key 663 } else { 664 key = auth.Key 665 } 666 localVarHeaderParams["api-key"] = key 667 } 668 } 669 if ctx != nil { 670 // API Key Authentication 671 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 672 var key string 673 if auth.Prefix != "" { 674 key = auth.Prefix + " " + auth.Key 675 } else { 676 key = auth.Key 677 } 678 localVarHeaderParams["api-nonce"] = key 679 } 680 } 681 if ctx != nil { 682 // API Key Authentication 683 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 684 var key string 685 if auth.Prefix != "" { 686 key = auth.Prefix + " " + auth.Key 687 } else { 688 key = auth.Key 689 } 690 localVarHeaderParams["api-signature"] = key 691 } 692 } 693 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 694 if err != nil { 695 return successPayload, nil, err 696 } 697 698 localVarHttpResponse, err := a.client.callAPI(r) 699 if err != nil || localVarHttpResponse == nil { 700 return successPayload, localVarHttpResponse, err 701 } 702 defer localVarHttpResponse.Body.Close() 703 if localVarHttpResponse.StatusCode >= 300 { 704 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 705 } 706 707 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 708 return successPayload, localVarHttpResponse, err 709 } 710 711 return successPayload, localVarHttpResponse, err 712 } 713 714 /* UserApiService Get your account's commission status. 715 * @param ctx context.Context Authentication Context 716 @return []UserCommission*/ 717 func (a *UserApiService) UserGetCommission(ctx context.Context, ) ([]UserCommission, *http.Response, error) { 718 var ( 719 localVarHttpMethod = strings.ToUpper("Get") 720 localVarPostBody interface{} 721 localVarFileName string 722 localVarFileBytes []byte 723 successPayload []UserCommission 724 ) 725 726 // create path and map variables 727 localVarPath := a.client.cfg.BasePath + "/user/commission" 728 729 localVarHeaderParams := make(map[string]string) 730 localVarQueryParams := url.Values{} 731 localVarFormParams := url.Values{} 732 733 // to determine the Content-Type header 734 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 735 736 // set Content-Type header 737 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 738 if localVarHttpContentType != "" { 739 localVarHeaderParams["Content-Type"] = localVarHttpContentType 740 } 741 742 // to determine the Accept header 743 localVarHttpHeaderAccepts := []string{ 744 "application/json", 745 "application/xml", 746 "text/xml", 747 "application/javascript", 748 "text/javascript", 749 } 750 751 // set Accept header 752 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 753 if localVarHttpHeaderAccept != "" { 754 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 755 } 756 if ctx != nil { 757 // API Key Authentication 758 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 759 var key string 760 if auth.Prefix != "" { 761 key = auth.Prefix + " " + auth.Key 762 } else { 763 key = auth.Key 764 } 765 localVarHeaderParams["api-key"] = key 766 } 767 } 768 if ctx != nil { 769 // API Key Authentication 770 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 771 var key string 772 if auth.Prefix != "" { 773 key = auth.Prefix + " " + auth.Key 774 } else { 775 key = auth.Key 776 } 777 localVarHeaderParams["api-nonce"] = key 778 } 779 } 780 if ctx != nil { 781 // API Key Authentication 782 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 783 var key string 784 if auth.Prefix != "" { 785 key = auth.Prefix + " " + auth.Key 786 } else { 787 key = auth.Key 788 } 789 localVarHeaderParams["api-signature"] = key 790 } 791 } 792 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 793 if err != nil { 794 return successPayload, nil, err 795 } 796 797 localVarHttpResponse, err := a.client.callAPI(r) 798 if err != nil || localVarHttpResponse == nil { 799 return successPayload, localVarHttpResponse, err 800 } 801 defer localVarHttpResponse.Body.Close() 802 if localVarHttpResponse.StatusCode >= 300 { 803 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 804 } 805 806 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 807 return successPayload, localVarHttpResponse, err 808 } 809 810 return successPayload, localVarHttpResponse, err 811 } 812 813 /* UserApiService Get a deposit address. 814 * @param ctx context.Context Authentication Context 815 @param optional (nil or map[string]interface{}) with one or more of: 816 @param "currency" (string) 817 @return string*/ 818 func (a *UserApiService) UserGetDepositAddress(ctx context.Context, localVarOptionals map[string]interface{}) (string, *http.Response, error) { 819 var ( 820 localVarHttpMethod = strings.ToUpper("Get") 821 localVarPostBody interface{} 822 localVarFileName string 823 localVarFileBytes []byte 824 successPayload string 825 ) 826 827 // create path and map variables 828 localVarPath := a.client.cfg.BasePath + "/user/depositAddress" 829 830 localVarHeaderParams := make(map[string]string) 831 localVarQueryParams := url.Values{} 832 localVarFormParams := url.Values{} 833 834 if err := typeCheckParameter(localVarOptionals["currency"], "string", "currency"); err != nil { 835 return successPayload, nil, err 836 } 837 838 if localVarTempParam, localVarOk := localVarOptionals["currency"].(string); localVarOk { 839 localVarQueryParams.Add("currency", parameterToString(localVarTempParam, "")) 840 } 841 // to determine the Content-Type header 842 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 843 844 // set Content-Type header 845 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 846 if localVarHttpContentType != "" { 847 localVarHeaderParams["Content-Type"] = localVarHttpContentType 848 } 849 850 // to determine the Accept header 851 localVarHttpHeaderAccepts := []string{ 852 "application/json", 853 "application/xml", 854 "text/xml", 855 "application/javascript", 856 "text/javascript", 857 } 858 859 // set Accept header 860 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 861 if localVarHttpHeaderAccept != "" { 862 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 863 } 864 if ctx != nil { 865 // API Key Authentication 866 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 867 var key string 868 if auth.Prefix != "" { 869 key = auth.Prefix + " " + auth.Key 870 } else { 871 key = auth.Key 872 } 873 localVarHeaderParams["api-key"] = key 874 } 875 } 876 if ctx != nil { 877 // API Key Authentication 878 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 879 var key string 880 if auth.Prefix != "" { 881 key = auth.Prefix + " " + auth.Key 882 } else { 883 key = auth.Key 884 } 885 localVarHeaderParams["api-nonce"] = key 886 } 887 } 888 if ctx != nil { 889 // API Key Authentication 890 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 891 var key string 892 if auth.Prefix != "" { 893 key = auth.Prefix + " " + auth.Key 894 } else { 895 key = auth.Key 896 } 897 localVarHeaderParams["api-signature"] = key 898 } 899 } 900 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 901 if err != nil { 902 return successPayload, nil, err 903 } 904 905 localVarHttpResponse, err := a.client.callAPI(r) 906 if err != nil || localVarHttpResponse == nil { 907 return successPayload, localVarHttpResponse, err 908 } 909 defer localVarHttpResponse.Body.Close() 910 if localVarHttpResponse.StatusCode >= 300 { 911 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 912 } 913 914 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 915 return successPayload, localVarHttpResponse, err 916 } 917 918 return successPayload, localVarHttpResponse, err 919 } 920 921 /* UserApiService Get your account's margin status. Send a currency of \"all\" to receive an array of all supported currencies. 922 * @param ctx context.Context Authentication Context 923 @param optional (nil or map[string]interface{}) with one or more of: 924 @param "currency" (string) 925 @return Margin*/ 926 func (a *UserApiService) UserGetMargin(ctx context.Context, localVarOptionals map[string]interface{}) (Margin, *http.Response, error) { 927 var ( 928 localVarHttpMethod = strings.ToUpper("Get") 929 localVarPostBody interface{} 930 localVarFileName string 931 localVarFileBytes []byte 932 successPayload Margin 933 ) 934 935 // create path and map variables 936 localVarPath := a.client.cfg.BasePath + "/user/margin" 937 938 localVarHeaderParams := make(map[string]string) 939 localVarQueryParams := url.Values{} 940 localVarFormParams := url.Values{} 941 942 if err := typeCheckParameter(localVarOptionals["currency"], "string", "currency"); err != nil { 943 return successPayload, nil, err 944 } 945 946 if localVarTempParam, localVarOk := localVarOptionals["currency"].(string); localVarOk { 947 localVarQueryParams.Add("currency", parameterToString(localVarTempParam, "")) 948 } 949 // to determine the Content-Type header 950 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 951 952 // set Content-Type header 953 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 954 if localVarHttpContentType != "" { 955 localVarHeaderParams["Content-Type"] = localVarHttpContentType 956 } 957 958 // to determine the Accept header 959 localVarHttpHeaderAccepts := []string{ 960 "application/json", 961 "application/xml", 962 "text/xml", 963 "application/javascript", 964 "text/javascript", 965 } 966 967 // set Accept header 968 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 969 if localVarHttpHeaderAccept != "" { 970 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 971 } 972 if ctx != nil { 973 // API Key Authentication 974 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 975 var key string 976 if auth.Prefix != "" { 977 key = auth.Prefix + " " + auth.Key 978 } else { 979 key = auth.Key 980 } 981 localVarHeaderParams["api-key"] = key 982 } 983 } 984 if ctx != nil { 985 // API Key Authentication 986 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 987 var key string 988 if auth.Prefix != "" { 989 key = auth.Prefix + " " + auth.Key 990 } else { 991 key = auth.Key 992 } 993 localVarHeaderParams["api-nonce"] = key 994 } 995 } 996 if ctx != nil { 997 // API Key Authentication 998 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 999 var key string 1000 if auth.Prefix != "" { 1001 key = auth.Prefix + " " + auth.Key 1002 } else { 1003 key = auth.Key 1004 } 1005 localVarHeaderParams["api-signature"] = key 1006 } 1007 } 1008 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1009 if err != nil { 1010 return successPayload, nil, err 1011 } 1012 1013 localVarHttpResponse, err := a.client.callAPI(r) 1014 if err != nil || localVarHttpResponse == nil { 1015 return successPayload, localVarHttpResponse, err 1016 } 1017 defer localVarHttpResponse.Body.Close() 1018 if localVarHttpResponse.StatusCode >= 300 { 1019 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1020 } 1021 1022 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1023 return successPayload, localVarHttpResponse, err 1024 } 1025 1026 return successPayload, localVarHttpResponse, err 1027 } 1028 1029 /* UserApiService Get your current wallet information. 1030 * @param ctx context.Context Authentication Context 1031 @param optional (nil or map[string]interface{}) with one or more of: 1032 @param "currency" (string) 1033 @return Wallet*/ 1034 func (a *UserApiService) UserGetWallet(ctx context.Context, localVarOptionals map[string]interface{}) (Wallet, *http.Response, error) { 1035 var ( 1036 localVarHttpMethod = strings.ToUpper("Get") 1037 localVarPostBody interface{} 1038 localVarFileName string 1039 localVarFileBytes []byte 1040 successPayload Wallet 1041 ) 1042 1043 // create path and map variables 1044 localVarPath := a.client.cfg.BasePath + "/user/wallet" 1045 1046 localVarHeaderParams := make(map[string]string) 1047 localVarQueryParams := url.Values{} 1048 localVarFormParams := url.Values{} 1049 1050 if err := typeCheckParameter(localVarOptionals["currency"], "string", "currency"); err != nil { 1051 return successPayload, nil, err 1052 } 1053 1054 if localVarTempParam, localVarOk := localVarOptionals["currency"].(string); localVarOk { 1055 localVarQueryParams.Add("currency", parameterToString(localVarTempParam, "")) 1056 } 1057 // to determine the Content-Type header 1058 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1059 1060 // set Content-Type header 1061 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1062 if localVarHttpContentType != "" { 1063 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1064 } 1065 1066 // to determine the Accept header 1067 localVarHttpHeaderAccepts := []string{ 1068 "application/json", 1069 "application/xml", 1070 "text/xml", 1071 "application/javascript", 1072 "text/javascript", 1073 } 1074 1075 // set Accept header 1076 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1077 if localVarHttpHeaderAccept != "" { 1078 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1079 } 1080 if ctx != nil { 1081 // API Key Authentication 1082 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1083 var key string 1084 if auth.Prefix != "" { 1085 key = auth.Prefix + " " + auth.Key 1086 } else { 1087 key = auth.Key 1088 } 1089 localVarHeaderParams["api-key"] = key 1090 } 1091 } 1092 if ctx != nil { 1093 // API Key Authentication 1094 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1095 var key string 1096 if auth.Prefix != "" { 1097 key = auth.Prefix + " " + auth.Key 1098 } else { 1099 key = auth.Key 1100 } 1101 localVarHeaderParams["api-nonce"] = key 1102 } 1103 } 1104 if ctx != nil { 1105 // API Key Authentication 1106 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1107 var key string 1108 if auth.Prefix != "" { 1109 key = auth.Prefix + " " + auth.Key 1110 } else { 1111 key = auth.Key 1112 } 1113 localVarHeaderParams["api-signature"] = key 1114 } 1115 } 1116 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1117 if err != nil { 1118 return successPayload, nil, err 1119 } 1120 1121 localVarHttpResponse, err := a.client.callAPI(r) 1122 if err != nil || localVarHttpResponse == nil { 1123 return successPayload, localVarHttpResponse, err 1124 } 1125 defer localVarHttpResponse.Body.Close() 1126 if localVarHttpResponse.StatusCode >= 300 { 1127 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1128 } 1129 1130 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1131 return successPayload, localVarHttpResponse, err 1132 } 1133 1134 return successPayload, localVarHttpResponse, err 1135 } 1136 1137 /* UserApiService Get a history of all of your wallet transactions (deposits, withdrawals, PNL). 1138 * @param ctx context.Context Authentication Context 1139 @param optional (nil or map[string]interface{}) with one or more of: 1140 @param "currency" (string) 1141 @return []Transaction*/ 1142 func (a *UserApiService) UserGetWalletHistory(ctx context.Context, localVarOptionals map[string]interface{}) ([]Transaction, *http.Response, error) { 1143 var ( 1144 localVarHttpMethod = strings.ToUpper("Get") 1145 localVarPostBody interface{} 1146 localVarFileName string 1147 localVarFileBytes []byte 1148 successPayload []Transaction 1149 ) 1150 1151 // create path and map variables 1152 localVarPath := a.client.cfg.BasePath + "/user/walletHistory" 1153 1154 localVarHeaderParams := make(map[string]string) 1155 localVarQueryParams := url.Values{} 1156 localVarFormParams := url.Values{} 1157 1158 if err := typeCheckParameter(localVarOptionals["currency"], "string", "currency"); err != nil { 1159 return successPayload, nil, err 1160 } 1161 1162 if localVarTempParam, localVarOk := localVarOptionals["currency"].(string); localVarOk { 1163 localVarQueryParams.Add("currency", parameterToString(localVarTempParam, "")) 1164 } 1165 // to determine the Content-Type header 1166 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1167 1168 // set Content-Type header 1169 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1170 if localVarHttpContentType != "" { 1171 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1172 } 1173 1174 // to determine the Accept header 1175 localVarHttpHeaderAccepts := []string{ 1176 "application/json", 1177 "application/xml", 1178 "text/xml", 1179 "application/javascript", 1180 "text/javascript", 1181 } 1182 1183 // set Accept header 1184 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1185 if localVarHttpHeaderAccept != "" { 1186 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1187 } 1188 if ctx != nil { 1189 // API Key Authentication 1190 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1191 var key string 1192 if auth.Prefix != "" { 1193 key = auth.Prefix + " " + auth.Key 1194 } else { 1195 key = auth.Key 1196 } 1197 localVarHeaderParams["api-key"] = key 1198 } 1199 } 1200 if ctx != nil { 1201 // API Key Authentication 1202 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1203 var key string 1204 if auth.Prefix != "" { 1205 key = auth.Prefix + " " + auth.Key 1206 } else { 1207 key = auth.Key 1208 } 1209 localVarHeaderParams["api-nonce"] = key 1210 } 1211 } 1212 if ctx != nil { 1213 // API Key Authentication 1214 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1215 var key string 1216 if auth.Prefix != "" { 1217 key = auth.Prefix + " " + auth.Key 1218 } else { 1219 key = auth.Key 1220 } 1221 localVarHeaderParams["api-signature"] = key 1222 } 1223 } 1224 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1225 if err != nil { 1226 return successPayload, nil, err 1227 } 1228 1229 localVarHttpResponse, err := a.client.callAPI(r) 1230 if err != nil || localVarHttpResponse == nil { 1231 return successPayload, localVarHttpResponse, err 1232 } 1233 defer localVarHttpResponse.Body.Close() 1234 if localVarHttpResponse.StatusCode >= 300 { 1235 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1236 } 1237 1238 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1239 return successPayload, localVarHttpResponse, err 1240 } 1241 1242 return successPayload, localVarHttpResponse, err 1243 } 1244 1245 /* UserApiService Get a summary of all of your wallet transactions (deposits, withdrawals, PNL). 1246 * @param ctx context.Context Authentication Context 1247 @param optional (nil or map[string]interface{}) with one or more of: 1248 @param "currency" (string) 1249 @return []Transaction*/ 1250 func (a *UserApiService) UserGetWalletSummary(ctx context.Context, localVarOptionals map[string]interface{}) ([]Transaction, *http.Response, error) { 1251 var ( 1252 localVarHttpMethod = strings.ToUpper("Get") 1253 localVarPostBody interface{} 1254 localVarFileName string 1255 localVarFileBytes []byte 1256 successPayload []Transaction 1257 ) 1258 1259 // create path and map variables 1260 localVarPath := a.client.cfg.BasePath + "/user/walletSummary" 1261 1262 localVarHeaderParams := make(map[string]string) 1263 localVarQueryParams := url.Values{} 1264 localVarFormParams := url.Values{} 1265 1266 if err := typeCheckParameter(localVarOptionals["currency"], "string", "currency"); err != nil { 1267 return successPayload, nil, err 1268 } 1269 1270 if localVarTempParam, localVarOk := localVarOptionals["currency"].(string); localVarOk { 1271 localVarQueryParams.Add("currency", parameterToString(localVarTempParam, "")) 1272 } 1273 // to determine the Content-Type header 1274 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1275 1276 // set Content-Type header 1277 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1278 if localVarHttpContentType != "" { 1279 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1280 } 1281 1282 // to determine the Accept header 1283 localVarHttpHeaderAccepts := []string{ 1284 "application/json", 1285 "application/xml", 1286 "text/xml", 1287 "application/javascript", 1288 "text/javascript", 1289 } 1290 1291 // set Accept header 1292 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1293 if localVarHttpHeaderAccept != "" { 1294 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1295 } 1296 if ctx != nil { 1297 // API Key Authentication 1298 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1299 var key string 1300 if auth.Prefix != "" { 1301 key = auth.Prefix + " " + auth.Key 1302 } else { 1303 key = auth.Key 1304 } 1305 localVarHeaderParams["api-key"] = key 1306 } 1307 } 1308 if ctx != nil { 1309 // API Key Authentication 1310 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1311 var key string 1312 if auth.Prefix != "" { 1313 key = auth.Prefix + " " + auth.Key 1314 } else { 1315 key = auth.Key 1316 } 1317 localVarHeaderParams["api-nonce"] = key 1318 } 1319 } 1320 if ctx != nil { 1321 // API Key Authentication 1322 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1323 var key string 1324 if auth.Prefix != "" { 1325 key = auth.Prefix + " " + auth.Key 1326 } else { 1327 key = auth.Key 1328 } 1329 localVarHeaderParams["api-signature"] = key 1330 } 1331 } 1332 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1333 if err != nil { 1334 return successPayload, nil, err 1335 } 1336 1337 localVarHttpResponse, err := a.client.callAPI(r) 1338 if err != nil || localVarHttpResponse == nil { 1339 return successPayload, localVarHttpResponse, err 1340 } 1341 defer localVarHttpResponse.Body.Close() 1342 if localVarHttpResponse.StatusCode >= 300 { 1343 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1344 } 1345 1346 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1347 return successPayload, localVarHttpResponse, err 1348 } 1349 1350 return successPayload, localVarHttpResponse, err 1351 } 1352 1353 /* UserApiService Log out of BitMEX. 1354 1355 @return */ 1356 func (a *UserApiService) UserLogout() (*http.Response, error) { 1357 var ( 1358 localVarHttpMethod = strings.ToUpper("Post") 1359 localVarPostBody interface{} 1360 localVarFileName string 1361 localVarFileBytes []byte 1362 ) 1363 1364 // create path and map variables 1365 localVarPath := a.client.cfg.BasePath + "/user/logout" 1366 1367 localVarHeaderParams := make(map[string]string) 1368 localVarQueryParams := url.Values{} 1369 localVarFormParams := url.Values{} 1370 1371 // to determine the Content-Type header 1372 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1373 1374 // set Content-Type header 1375 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1376 if localVarHttpContentType != "" { 1377 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1378 } 1379 1380 // to determine the Accept header 1381 localVarHttpHeaderAccepts := []string{ 1382 "application/json", 1383 "application/xml", 1384 "text/xml", 1385 "application/javascript", 1386 "text/javascript", 1387 } 1388 1389 // set Accept header 1390 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1391 if localVarHttpHeaderAccept != "" { 1392 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1393 } 1394 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1395 if err != nil { 1396 return nil, err 1397 } 1398 1399 localVarHttpResponse, err := a.client.callAPI(r) 1400 if err != nil || localVarHttpResponse == nil { 1401 return localVarHttpResponse, err 1402 } 1403 defer localVarHttpResponse.Body.Close() 1404 if localVarHttpResponse.StatusCode >= 300 { 1405 return localVarHttpResponse, reportError(localVarHttpResponse.Status) 1406 } 1407 1408 return localVarHttpResponse, err 1409 } 1410 1411 /* UserApiService Log all systems out of BitMEX. This will revoke all of your account's access tokens, logging you out on all devices. 1412 * @param ctx context.Context Authentication Context 1413 @return float64*/ 1414 func (a *UserApiService) UserLogoutAll(ctx context.Context, ) (float64, *http.Response, error) { 1415 var ( 1416 localVarHttpMethod = strings.ToUpper("Post") 1417 localVarPostBody interface{} 1418 localVarFileName string 1419 localVarFileBytes []byte 1420 successPayload float64 1421 ) 1422 1423 // create path and map variables 1424 localVarPath := a.client.cfg.BasePath + "/user/logoutAll" 1425 1426 localVarHeaderParams := make(map[string]string) 1427 localVarQueryParams := url.Values{} 1428 localVarFormParams := url.Values{} 1429 1430 // to determine the Content-Type header 1431 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1432 1433 // set Content-Type header 1434 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1435 if localVarHttpContentType != "" { 1436 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1437 } 1438 1439 // to determine the Accept header 1440 localVarHttpHeaderAccepts := []string{ 1441 "application/json", 1442 "application/xml", 1443 "text/xml", 1444 "application/javascript", 1445 "text/javascript", 1446 } 1447 1448 // set Accept header 1449 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1450 if localVarHttpHeaderAccept != "" { 1451 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1452 } 1453 if ctx != nil { 1454 // API Key Authentication 1455 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1456 var key string 1457 if auth.Prefix != "" { 1458 key = auth.Prefix + " " + auth.Key 1459 } else { 1460 key = auth.Key 1461 } 1462 localVarHeaderParams["api-key"] = key 1463 } 1464 } 1465 if ctx != nil { 1466 // API Key Authentication 1467 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1468 var key string 1469 if auth.Prefix != "" { 1470 key = auth.Prefix + " " + auth.Key 1471 } else { 1472 key = auth.Key 1473 } 1474 localVarHeaderParams["api-nonce"] = key 1475 } 1476 } 1477 if ctx != nil { 1478 // API Key Authentication 1479 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1480 var key string 1481 if auth.Prefix != "" { 1482 key = auth.Prefix + " " + auth.Key 1483 } else { 1484 key = auth.Key 1485 } 1486 localVarHeaderParams["api-signature"] = key 1487 } 1488 } 1489 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1490 if err != nil { 1491 return successPayload, nil, err 1492 } 1493 1494 localVarHttpResponse, err := a.client.callAPI(r) 1495 if err != nil || localVarHttpResponse == nil { 1496 return successPayload, localVarHttpResponse, err 1497 } 1498 defer localVarHttpResponse.Body.Close() 1499 if localVarHttpResponse.StatusCode >= 300 { 1500 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1501 } 1502 1503 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1504 return successPayload, localVarHttpResponse, err 1505 } 1506 1507 return successPayload, localVarHttpResponse, err 1508 } 1509 1510 /* UserApiService Get the minimum withdrawal fee for a currency. 1511 This is changed based on network conditions to ensure timely withdrawals. During network congestion, this may be high. The fee is returned in the same currency. 1512 1513 @param optional (nil or map[string]interface{}) with one or more of: 1514 @param "currency" (string) 1515 @return interface{}*/ 1516 func (a *UserApiService) UserMinWithdrawalFee(localVarOptionals map[string]interface{}) (interface{}, *http.Response, error) { 1517 var ( 1518 localVarHttpMethod = strings.ToUpper("Get") 1519 localVarPostBody interface{} 1520 localVarFileName string 1521 localVarFileBytes []byte 1522 successPayload interface{} 1523 ) 1524 1525 // create path and map variables 1526 localVarPath := a.client.cfg.BasePath + "/user/minWithdrawalFee" 1527 1528 localVarHeaderParams := make(map[string]string) 1529 localVarQueryParams := url.Values{} 1530 localVarFormParams := url.Values{} 1531 1532 if err := typeCheckParameter(localVarOptionals["currency"], "string", "currency"); err != nil { 1533 return successPayload, nil, err 1534 } 1535 1536 if localVarTempParam, localVarOk := localVarOptionals["currency"].(string); localVarOk { 1537 localVarQueryParams.Add("currency", parameterToString(localVarTempParam, "")) 1538 } 1539 // to determine the Content-Type header 1540 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1541 1542 // set Content-Type header 1543 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1544 if localVarHttpContentType != "" { 1545 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1546 } 1547 1548 // to determine the Accept header 1549 localVarHttpHeaderAccepts := []string{ 1550 "application/json", 1551 "application/xml", 1552 "text/xml", 1553 "application/javascript", 1554 "text/javascript", 1555 } 1556 1557 // set Accept header 1558 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1559 if localVarHttpHeaderAccept != "" { 1560 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1561 } 1562 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1563 if err != nil { 1564 return successPayload, nil, err 1565 } 1566 1567 localVarHttpResponse, err := a.client.callAPI(r) 1568 if err != nil || localVarHttpResponse == nil { 1569 return successPayload, localVarHttpResponse, err 1570 } 1571 defer localVarHttpResponse.Body.Close() 1572 if localVarHttpResponse.StatusCode >= 300 { 1573 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1574 } 1575 1576 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1577 return successPayload, localVarHttpResponse, err 1578 } 1579 1580 return successPayload, localVarHttpResponse, err 1581 } 1582 1583 /* UserApiService Get secret key for setting up two-factor auth. 1584 Use /confirmEnableTFA directly for Yubikeys. This fails if TFA is already enabled. 1585 * @param ctx context.Context Authentication Context 1586 @param optional (nil or map[string]interface{}) with one or more of: 1587 @param "type_" (string) Two-factor auth type. Supported types: 'GA' (Google Authenticator) 1588 @return bool*/ 1589 func (a *UserApiService) UserRequestEnableTFA(ctx context.Context, localVarOptionals map[string]interface{}) (bool, *http.Response, error) { 1590 var ( 1591 localVarHttpMethod = strings.ToUpper("Post") 1592 localVarPostBody interface{} 1593 localVarFileName string 1594 localVarFileBytes []byte 1595 successPayload bool 1596 ) 1597 1598 // create path and map variables 1599 localVarPath := a.client.cfg.BasePath + "/user/requestEnableTFA" 1600 1601 localVarHeaderParams := make(map[string]string) 1602 localVarQueryParams := url.Values{} 1603 localVarFormParams := url.Values{} 1604 1605 if err := typeCheckParameter(localVarOptionals["type_"], "string", "type_"); err != nil { 1606 return successPayload, nil, err 1607 } 1608 1609 // to determine the Content-Type header 1610 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1611 1612 // set Content-Type header 1613 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1614 if localVarHttpContentType != "" { 1615 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1616 } 1617 1618 // to determine the Accept header 1619 localVarHttpHeaderAccepts := []string{ 1620 "application/json", 1621 "application/xml", 1622 "text/xml", 1623 "application/javascript", 1624 "text/javascript", 1625 } 1626 1627 // set Accept header 1628 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1629 if localVarHttpHeaderAccept != "" { 1630 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1631 } 1632 if localVarTempParam, localVarOk := localVarOptionals["type_"].(string); localVarOk { 1633 localVarFormParams.Add("type", parameterToString(localVarTempParam, "")) 1634 } 1635 if ctx != nil { 1636 // API Key Authentication 1637 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1638 var key string 1639 if auth.Prefix != "" { 1640 key = auth.Prefix + " " + auth.Key 1641 } else { 1642 key = auth.Key 1643 } 1644 localVarHeaderParams["api-key"] = key 1645 } 1646 } 1647 if ctx != nil { 1648 // API Key Authentication 1649 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1650 var key string 1651 if auth.Prefix != "" { 1652 key = auth.Prefix + " " + auth.Key 1653 } else { 1654 key = auth.Key 1655 } 1656 localVarHeaderParams["api-nonce"] = key 1657 } 1658 } 1659 if ctx != nil { 1660 // API Key Authentication 1661 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1662 var key string 1663 if auth.Prefix != "" { 1664 key = auth.Prefix + " " + auth.Key 1665 } else { 1666 key = auth.Key 1667 } 1668 localVarHeaderParams["api-signature"] = key 1669 } 1670 } 1671 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1672 if err != nil { 1673 return successPayload, nil, err 1674 } 1675 1676 localVarHttpResponse, err := a.client.callAPI(r) 1677 if err != nil || localVarHttpResponse == nil { 1678 return successPayload, localVarHttpResponse, err 1679 } 1680 defer localVarHttpResponse.Body.Close() 1681 if localVarHttpResponse.StatusCode >= 300 { 1682 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1683 } 1684 1685 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1686 return successPayload, localVarHttpResponse, err 1687 } 1688 1689 return successPayload, localVarHttpResponse, err 1690 } 1691 1692 /* UserApiService Request a withdrawal to an external wallet. 1693 This will send a confirmation email to the email address on record, unless requested via an API Key with the `withdraw` permission. 1694 * @param ctx context.Context Authentication Context 1695 @param currency Currency you're withdrawing. Options: `XBt` 1696 @param amount Amount of withdrawal currency. 1697 @param address Destination Address. 1698 @param optional (nil or map[string]interface{}) with one or more of: 1699 @param "otpToken" (string) 2FA token. Required if 2FA is enabled on your account. 1700 @param "fee" (float64) Network fee for Bitcoin withdrawals. If not specified, a default value will be calculated based on Bitcoin network conditions. You will have a chance to confirm this via email. 1701 @return Transaction*/ 1702 func (a *UserApiService) UserRequestWithdrawal(ctx context.Context, currency string, amount float32, address string, localVarOptionals map[string]interface{}) (Transaction, *http.Response, error) { 1703 var ( 1704 localVarHttpMethod = strings.ToUpper("Post") 1705 localVarPostBody interface{} 1706 localVarFileName string 1707 localVarFileBytes []byte 1708 successPayload Transaction 1709 ) 1710 1711 // create path and map variables 1712 localVarPath := a.client.cfg.BasePath + "/user/requestWithdrawal" 1713 1714 localVarHeaderParams := make(map[string]string) 1715 localVarQueryParams := url.Values{} 1716 localVarFormParams := url.Values{} 1717 1718 if err := typeCheckParameter(localVarOptionals["otpToken"], "string", "otpToken"); err != nil { 1719 return successPayload, nil, err 1720 } 1721 if err := typeCheckParameter(localVarOptionals["fee"], "float64", "fee"); err != nil { 1722 return successPayload, nil, err 1723 } 1724 1725 // to determine the Content-Type header 1726 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1727 1728 // set Content-Type header 1729 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1730 if localVarHttpContentType != "" { 1731 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1732 } 1733 1734 // to determine the Accept header 1735 localVarHttpHeaderAccepts := []string{ 1736 "application/json", 1737 "application/xml", 1738 "text/xml", 1739 "application/javascript", 1740 "text/javascript", 1741 } 1742 1743 // set Accept header 1744 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1745 if localVarHttpHeaderAccept != "" { 1746 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1747 } 1748 if localVarTempParam, localVarOk := localVarOptionals["otpToken"].(string); localVarOk { 1749 localVarFormParams.Add("otpToken", parameterToString(localVarTempParam, "")) 1750 } 1751 localVarFormParams.Add("currency", parameterToString(currency, "")) 1752 localVarFormParams.Add("amount", parameterToString(amount, "")) 1753 localVarFormParams.Add("address", parameterToString(address, "")) 1754 if localVarTempParam, localVarOk := localVarOptionals["fee"].(float64); localVarOk { 1755 localVarFormParams.Add("fee", parameterToString(localVarTempParam, "")) 1756 } 1757 if ctx != nil { 1758 // API Key Authentication 1759 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1760 var key string 1761 if auth.Prefix != "" { 1762 key = auth.Prefix + " " + auth.Key 1763 } else { 1764 key = auth.Key 1765 } 1766 localVarHeaderParams["api-key"] = key 1767 } 1768 } 1769 if ctx != nil { 1770 // API Key Authentication 1771 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1772 var key string 1773 if auth.Prefix != "" { 1774 key = auth.Prefix + " " + auth.Key 1775 } else { 1776 key = auth.Key 1777 } 1778 localVarHeaderParams["api-nonce"] = key 1779 } 1780 } 1781 if ctx != nil { 1782 // API Key Authentication 1783 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1784 var key string 1785 if auth.Prefix != "" { 1786 key = auth.Prefix + " " + auth.Key 1787 } else { 1788 key = auth.Key 1789 } 1790 localVarHeaderParams["api-signature"] = key 1791 } 1792 } 1793 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1794 if err != nil { 1795 return successPayload, nil, err 1796 } 1797 1798 localVarHttpResponse, err := a.client.callAPI(r) 1799 if err != nil || localVarHttpResponse == nil { 1800 return successPayload, localVarHttpResponse, err 1801 } 1802 defer localVarHttpResponse.Body.Close() 1803 if localVarHttpResponse.StatusCode >= 300 { 1804 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1805 } 1806 1807 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1808 return successPayload, localVarHttpResponse, err 1809 } 1810 1811 return successPayload, localVarHttpResponse, err 1812 } 1813 1814 /* UserApiService Save user preferences. 1815 * @param ctx context.Context Authentication Context 1816 @param prefs 1817 @param optional (nil or map[string]interface{}) with one or more of: 1818 @param "overwrite" (bool) If true, will overwrite all existing preferences. 1819 @return User*/ 1820 func (a *UserApiService) UserSavePreferences(ctx context.Context, prefs string, localVarOptionals map[string]interface{}) (User, *http.Response, error) { 1821 var ( 1822 localVarHttpMethod = strings.ToUpper("Post") 1823 localVarPostBody interface{} 1824 localVarFileName string 1825 localVarFileBytes []byte 1826 successPayload User 1827 ) 1828 1829 // create path and map variables 1830 localVarPath := a.client.cfg.BasePath + "/user/preferences" 1831 1832 localVarHeaderParams := make(map[string]string) 1833 localVarQueryParams := url.Values{} 1834 localVarFormParams := url.Values{} 1835 1836 if err := typeCheckParameter(localVarOptionals["overwrite"], "bool", "overwrite"); err != nil { 1837 return successPayload, nil, err 1838 } 1839 1840 // to determine the Content-Type header 1841 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1842 1843 // set Content-Type header 1844 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1845 if localVarHttpContentType != "" { 1846 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1847 } 1848 1849 // to determine the Accept header 1850 localVarHttpHeaderAccepts := []string{ 1851 "application/json", 1852 "application/xml", 1853 "text/xml", 1854 "application/javascript", 1855 "text/javascript", 1856 } 1857 1858 // set Accept header 1859 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1860 if localVarHttpHeaderAccept != "" { 1861 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1862 } 1863 localVarFormParams.Add("prefs", parameterToString(prefs, "")) 1864 if localVarTempParam, localVarOk := localVarOptionals["overwrite"].(bool); localVarOk { 1865 localVarFormParams.Add("overwrite", parameterToString(localVarTempParam, "")) 1866 } 1867 if ctx != nil { 1868 // API Key Authentication 1869 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1870 var key string 1871 if auth.Prefix != "" { 1872 key = auth.Prefix + " " + auth.Key 1873 } else { 1874 key = auth.Key 1875 } 1876 localVarHeaderParams["api-key"] = key 1877 } 1878 } 1879 if ctx != nil { 1880 // API Key Authentication 1881 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1882 var key string 1883 if auth.Prefix != "" { 1884 key = auth.Prefix + " " + auth.Key 1885 } else { 1886 key = auth.Key 1887 } 1888 localVarHeaderParams["api-nonce"] = key 1889 } 1890 } 1891 if ctx != nil { 1892 // API Key Authentication 1893 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 1894 var key string 1895 if auth.Prefix != "" { 1896 key = auth.Prefix + " " + auth.Key 1897 } else { 1898 key = auth.Key 1899 } 1900 localVarHeaderParams["api-signature"] = key 1901 } 1902 } 1903 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 1904 if err != nil { 1905 return successPayload, nil, err 1906 } 1907 1908 localVarHttpResponse, err := a.client.callAPI(r) 1909 if err != nil || localVarHttpResponse == nil { 1910 return successPayload, localVarHttpResponse, err 1911 } 1912 defer localVarHttpResponse.Body.Close() 1913 if localVarHttpResponse.StatusCode >= 300 { 1914 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 1915 } 1916 1917 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 1918 return successPayload, localVarHttpResponse, err 1919 } 1920 1921 return successPayload, localVarHttpResponse, err 1922 } 1923 1924 /* UserApiService Update your password, name, and other attributes. 1925 * @param ctx context.Context Authentication Context 1926 @param optional (nil or map[string]interface{}) with one or more of: 1927 @param "firstname" (string) 1928 @param "lastname" (string) 1929 @param "oldPassword" (string) 1930 @param "newPassword" (string) 1931 @param "newPasswordConfirm" (string) 1932 @param "username" (string) Username can only be set once. To reset, email support. 1933 @param "country" (string) Country of residence. 1934 @param "pgpPubKey" (string) PGP Public Key. If specified, automated emails will be sentwith this key. 1935 @return User*/ 1936 func (a *UserApiService) UserUpdate(ctx context.Context, localVarOptionals map[string]interface{}) (User, *http.Response, error) { 1937 var ( 1938 localVarHttpMethod = strings.ToUpper("Put") 1939 localVarPostBody interface{} 1940 localVarFileName string 1941 localVarFileBytes []byte 1942 successPayload User 1943 ) 1944 1945 // create path and map variables 1946 localVarPath := a.client.cfg.BasePath + "/user" 1947 1948 localVarHeaderParams := make(map[string]string) 1949 localVarQueryParams := url.Values{} 1950 localVarFormParams := url.Values{} 1951 1952 if err := typeCheckParameter(localVarOptionals["firstname"], "string", "firstname"); err != nil { 1953 return successPayload, nil, err 1954 } 1955 if err := typeCheckParameter(localVarOptionals["lastname"], "string", "lastname"); err != nil { 1956 return successPayload, nil, err 1957 } 1958 if err := typeCheckParameter(localVarOptionals["oldPassword"], "string", "oldPassword"); err != nil { 1959 return successPayload, nil, err 1960 } 1961 if err := typeCheckParameter(localVarOptionals["newPassword"], "string", "newPassword"); err != nil { 1962 return successPayload, nil, err 1963 } 1964 if err := typeCheckParameter(localVarOptionals["newPasswordConfirm"], "string", "newPasswordConfirm"); err != nil { 1965 return successPayload, nil, err 1966 } 1967 if err := typeCheckParameter(localVarOptionals["username"], "string", "username"); err != nil { 1968 return successPayload, nil, err 1969 } 1970 if err := typeCheckParameter(localVarOptionals["country"], "string", "country"); err != nil { 1971 return successPayload, nil, err 1972 } 1973 if err := typeCheckParameter(localVarOptionals["pgpPubKey"], "string", "pgpPubKey"); err != nil { 1974 return successPayload, nil, err 1975 } 1976 1977 // to determine the Content-Type header 1978 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 1979 1980 // set Content-Type header 1981 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1982 if localVarHttpContentType != "" { 1983 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1984 } 1985 1986 // to determine the Accept header 1987 localVarHttpHeaderAccepts := []string{ 1988 "application/json", 1989 "application/xml", 1990 "text/xml", 1991 "application/javascript", 1992 "text/javascript", 1993 } 1994 1995 // set Accept header 1996 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1997 if localVarHttpHeaderAccept != "" { 1998 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1999 } 2000 if localVarTempParam, localVarOk := localVarOptionals["firstname"].(string); localVarOk { 2001 localVarFormParams.Add("firstname", parameterToString(localVarTempParam, "")) 2002 } 2003 if localVarTempParam, localVarOk := localVarOptionals["lastname"].(string); localVarOk { 2004 localVarFormParams.Add("lastname", parameterToString(localVarTempParam, "")) 2005 } 2006 if localVarTempParam, localVarOk := localVarOptionals["oldPassword"].(string); localVarOk { 2007 localVarFormParams.Add("oldPassword", parameterToString(localVarTempParam, "")) 2008 } 2009 if localVarTempParam, localVarOk := localVarOptionals["newPassword"].(string); localVarOk { 2010 localVarFormParams.Add("newPassword", parameterToString(localVarTempParam, "")) 2011 } 2012 if localVarTempParam, localVarOk := localVarOptionals["newPasswordConfirm"].(string); localVarOk { 2013 localVarFormParams.Add("newPasswordConfirm", parameterToString(localVarTempParam, "")) 2014 } 2015 if localVarTempParam, localVarOk := localVarOptionals["username"].(string); localVarOk { 2016 localVarFormParams.Add("username", parameterToString(localVarTempParam, "")) 2017 } 2018 if localVarTempParam, localVarOk := localVarOptionals["country"].(string); localVarOk { 2019 localVarFormParams.Add("country", parameterToString(localVarTempParam, "")) 2020 } 2021 if localVarTempParam, localVarOk := localVarOptionals["pgpPubKey"].(string); localVarOk { 2022 localVarFormParams.Add("pgpPubKey", parameterToString(localVarTempParam, "")) 2023 } 2024 if ctx != nil { 2025 // API Key Authentication 2026 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 2027 var key string 2028 if auth.Prefix != "" { 2029 key = auth.Prefix + " " + auth.Key 2030 } else { 2031 key = auth.Key 2032 } 2033 localVarHeaderParams["api-key"] = key 2034 } 2035 } 2036 if ctx != nil { 2037 // API Key Authentication 2038 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 2039 var key string 2040 if auth.Prefix != "" { 2041 key = auth.Prefix + " " + auth.Key 2042 } else { 2043 key = auth.Key 2044 } 2045 localVarHeaderParams["api-nonce"] = key 2046 } 2047 } 2048 if ctx != nil { 2049 // API Key Authentication 2050 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 2051 var key string 2052 if auth.Prefix != "" { 2053 key = auth.Prefix + " " + auth.Key 2054 } else { 2055 key = auth.Key 2056 } 2057 localVarHeaderParams["api-signature"] = key 2058 } 2059 } 2060 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 2061 if err != nil { 2062 return successPayload, nil, err 2063 } 2064 2065 localVarHttpResponse, err := a.client.callAPI(r) 2066 if err != nil || localVarHttpResponse == nil { 2067 return successPayload, localVarHttpResponse, err 2068 } 2069 defer localVarHttpResponse.Body.Close() 2070 if localVarHttpResponse.StatusCode >= 300 { 2071 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 2072 } 2073 2074 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 2075 return successPayload, localVarHttpResponse, err 2076 } 2077 2078 return successPayload, localVarHttpResponse, err 2079 }