天择加密量化开放框架下载
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

3628 lines
176 KiB

# coding: utf-8
"""
Gate API v4
Welcome to Gate.io API APIv4 provides spot, margin and futures trading operations. There are public APIs to retrieve the real-time market statistics, and private APIs which needs authentication to trade on user's behalf. # noqa: E501
Contact: support@mail.gate.io
Generated by: https://openapi-generator.tech
"""
from __future__ import absolute_import
import re # noqa: F401
# python 2 and python 3 compatibility library
import six
from gate_api.api_client import ApiClient
from gate_api.exceptions import ApiTypeError, ApiValueError # noqa: F401
class MarginApi(object):
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
def __init__(self, api_client=None):
if api_client is None:
api_client = ApiClient()
self.api_client = api_client
def list_margin_currency_pairs(self, **kwargs): # noqa: E501
"""List all supported currency pairs supported in margin trading # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_margin_currency_pairs(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.MarginCurrencyPair]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_margin_currency_pairs_with_http_info(**kwargs) # noqa: E501
def list_margin_currency_pairs_with_http_info(self, **kwargs): # noqa: E501
"""List all supported currency pairs supported in margin trading # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_margin_currency_pairs_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.MarginCurrencyPair], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = []
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'" " to method list_margin_currency_pairs" % k
)
local_var_params[k] = v
del local_var_params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = [] # noqa: E501
return self.api_client.call_api(
'/margin/currency_pairs',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[MarginCurrencyPair]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_margin_currency_pair(self, currency_pair, **kwargs): # noqa: E501
"""Query one single margin currency pair # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_margin_currency_pair(currency_pair, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency_pair: Margin currency pair (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.MarginCurrencyPair
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_margin_currency_pair_with_http_info(currency_pair, **kwargs) # noqa: E501
def get_margin_currency_pair_with_http_info(self, currency_pair, **kwargs): # noqa: E501
"""Query one single margin currency pair # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_margin_currency_pair_with_http_info(currency_pair, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency_pair: Margin currency pair (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.MarginCurrencyPair, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency_pair']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_margin_currency_pair" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency_pair' is set
if self.api_client.client_side_validation and (
'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency_pair` when calling `get_margin_currency_pair`"
) # noqa: E501
collection_formats = {}
path_params = {}
if 'currency_pair' in local_var_params:
path_params['currency_pair'] = local_var_params['currency_pair'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = [] # noqa: E501
return self.api_client.call_api(
'/margin/currency_pairs/{currency_pair}',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='MarginCurrencyPair', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_funding_book(self, currency, **kwargs): # noqa: E501
"""Order book of lending loans # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_funding_book(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.FundingBookItem]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_funding_book_with_http_info(currency, **kwargs) # noqa: E501
def list_funding_book_with_http_info(self, currency, **kwargs): # noqa: E501
"""Order book of lending loans # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_funding_book_with_http_info(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.FundingBookItem], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_funding_book" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency` when calling `list_funding_book`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = [] # noqa: E501
return self.api_client.call_api(
'/margin/funding_book',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[FundingBookItem]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_margin_accounts(self, **kwargs): # noqa: E501
"""Margin account list # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_margin_accounts(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency_pair: Currency pair
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.MarginAccount]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_margin_accounts_with_http_info(**kwargs) # noqa: E501
def list_margin_accounts_with_http_info(self, **kwargs): # noqa: E501
"""Margin account list # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_margin_accounts_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency_pair: Currency pair
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.MarginAccount], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency_pair']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_margin_accounts" % k)
local_var_params[k] = v
del local_var_params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/accounts',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[MarginAccount]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_margin_account_book(self, **kwargs): # noqa: E501
"""List margin account balance change history # noqa: E501
Only transferals from and to margin account are provided for now. Time range allows 30 days at most # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_margin_account_book(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: List records related to specified currency only. If specified, `currency_pair` is also required.
:param str currency_pair: List records related to specified currency pair. Used in combination with `currency`. Ignored if `currency` is not provided
:param int _from: Start timestamp of the query
:param int to: Time range ending, default to current time
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.MarginAccountBook]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_margin_account_book_with_http_info(**kwargs) # noqa: E501
def list_margin_account_book_with_http_info(self, **kwargs): # noqa: E501
"""List margin account balance change history # noqa: E501
Only transferals from and to margin account are provided for now. Time range allows 30 days at most # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_margin_account_book_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: List records related to specified currency only. If specified, `currency_pair` is also required.
:param str currency_pair: List records related to specified currency pair. Used in combination with `currency`. Ignored if `currency` is not provided
:param int _from: Start timestamp of the query
:param int to: Time range ending, default to current time
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.MarginAccountBook], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency', 'currency_pair', '_from', 'to', 'page', 'limit']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_margin_account_book" % k)
local_var_params[k] = v
del local_var_params['kwargs']
if (
self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `page` when calling `list_margin_account_book`, must be a value greater than or equal to `1`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 500
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_margin_account_book`, must be a value less than or equal to `500`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_margin_account_book`, must be a value greater than or equal to `1`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501
query_params.append(('from', local_var_params['_from'])) # noqa: E501
if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501
query_params.append(('to', local_var_params['to'])) # noqa: E501
if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
query_params.append(('page', local_var_params['page'])) # noqa: E501
if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
query_params.append(('limit', local_var_params['limit'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/account_book',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[MarginAccountBook]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_funding_accounts(self, **kwargs): # noqa: E501
"""Funding account list # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_funding_accounts(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.FundingAccount]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_funding_accounts_with_http_info(**kwargs) # noqa: E501
def list_funding_accounts_with_http_info(self, **kwargs): # noqa: E501
"""Funding account list # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_funding_accounts_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.FundingAccount], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_funding_accounts" % k)
local_var_params[k] = v
del local_var_params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/funding_accounts',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[FundingAccount]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_loans(self, status, side, **kwargs): # noqa: E501
"""List all loans # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_loans(status, side, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str status: Loan status (required)
:param str side: Lend or borrow (required)
:param str currency: Retrieve data of the specified currency
:param str currency_pair: Currency pair
:param str sort_by: Specify which field is used to sort. `create_time` or `rate` is supported. Default to `create_time`
:param bool reverse_sort: Whether to sort in descending order. Default to `true`
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.Loan]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_loans_with_http_info(status, side, **kwargs) # noqa: E501
def list_loans_with_http_info(self, status, side, **kwargs): # noqa: E501
"""List all loans # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_loans_with_http_info(status, side, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str status: Loan status (required)
:param str side: Lend or borrow (required)
:param str currency: Retrieve data of the specified currency
:param str currency_pair: Currency pair
:param str sort_by: Specify which field is used to sort. `create_time` or `rate` is supported. Default to `create_time`
:param bool reverse_sort: Whether to sort in descending order. Default to `true`
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.Loan], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['status', 'side', 'currency', 'currency_pair', 'sort_by', 'reverse_sort', 'page', 'limit']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_loans" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'status' is set
if self.api_client.client_side_validation and (
'status' not in local_var_params or local_var_params['status'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `status` when calling `list_loans`") # noqa: E501
# verify the required parameter 'side' is set
if self.api_client.client_side_validation and (
'side' not in local_var_params or local_var_params['side'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `side` when calling `list_loans`") # noqa: E501
if (
self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `page` when calling `list_loans`, must be a value greater than or equal to `1`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_loans`, must be a value less than or equal to `1000`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_loans`, must be a value greater than or equal to `1`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501
query_params.append(('status', local_var_params['status'])) # noqa: E501
if 'side' in local_var_params and local_var_params['side'] is not None: # noqa: E501
query_params.append(('side', local_var_params['side'])) # noqa: E501
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
if 'sort_by' in local_var_params and local_var_params['sort_by'] is not None: # noqa: E501
query_params.append(('sort_by', local_var_params['sort_by'])) # noqa: E501
if 'reverse_sort' in local_var_params and local_var_params['reverse_sort'] is not None: # noqa: E501
query_params.append(('reverse_sort', local_var_params['reverse_sort'])) # noqa: E501
if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
query_params.append(('page', local_var_params['page'])) # noqa: E501
if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
query_params.append(('limit', local_var_params['limit'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[Loan]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def create_loan(self, loan, **kwargs): # noqa: E501
"""Lend or borrow # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_loan(loan, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param Loan loan: (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.Loan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.create_loan_with_http_info(loan, **kwargs) # noqa: E501
def create_loan_with_http_info(self, loan, **kwargs): # noqa: E501
"""Lend or borrow # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_loan_with_http_info(loan, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param Loan loan: (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method create_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan' is set
if self.api_client.client_side_validation and (
'loan' not in local_var_params or local_var_params['loan'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan` when calling `create_loan`") # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'loan' in local_var_params:
body_params = local_var_params['loan']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']
) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans',
'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='Loan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def merge_loans(self, currency, ids, **kwargs): # noqa: E501
"""Merge multiple lending loans # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.merge_loans(currency, ids, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param str ids: A comma-separated (,) list of IDs of the loans lent. Maximum of 20 IDs are allowed in a request (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.Loan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.merge_loans_with_http_info(currency, ids, **kwargs) # noqa: E501
def merge_loans_with_http_info(self, currency, ids, **kwargs): # noqa: E501
"""Merge multiple lending loans # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.merge_loans_with_http_info(currency, ids, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param str ids: A comma-separated (,) list of IDs of the loans lent. Maximum of 20 IDs are allowed in a request (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency', 'ids']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method merge_loans" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `currency` when calling `merge_loans`") # noqa: E501
# verify the required parameter 'ids' is set
if self.api_client.client_side_validation and (
'ids' not in local_var_params or local_var_params['ids'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `ids` when calling `merge_loans`") # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'ids' in local_var_params and local_var_params['ids'] is not None: # noqa: E501
query_params.append(('ids', local_var_params['ids'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/merged_loans',
'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='Loan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_loan(self, loan_id, side, **kwargs): # noqa: E501
"""Retrieve one single loan detail # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_loan(loan_id, side, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param str side: Lend or borrow (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.Loan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_loan_with_http_info(loan_id, side, **kwargs) # noqa: E501
def get_loan_with_http_info(self, loan_id, side, **kwargs): # noqa: E501
"""Retrieve one single loan detail # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_loan_with_http_info(loan_id, side, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param str side: Lend or borrow (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id', 'side']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan_id` when calling `get_loan`") # noqa: E501
# verify the required parameter 'side' is set
if self.api_client.client_side_validation and (
'side' not in local_var_params or local_var_params['side'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `side` when calling `get_loan`") # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_id' in local_var_params:
path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501
query_params = []
if 'side' in local_var_params and local_var_params['side'] is not None: # noqa: E501
query_params.append(('side', local_var_params['side'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans/{loan_id}',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='Loan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def cancel_loan(self, loan_id, currency, **kwargs): # noqa: E501
"""Cancel lending loan # noqa: E501
Only lent loans can be cancelled # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.cancel_loan(loan_id, currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param str currency: Retrieve data of the specified currency (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.Loan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.cancel_loan_with_http_info(loan_id, currency, **kwargs) # noqa: E501
def cancel_loan_with_http_info(self, loan_id, currency, **kwargs): # noqa: E501
"""Cancel lending loan # noqa: E501
Only lent loans can be cancelled # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.cancel_loan_with_http_info(loan_id, currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param str currency: Retrieve data of the specified currency (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id', 'currency']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method cancel_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan_id` when calling `cancel_loan`") # noqa: E501
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `currency` when calling `cancel_loan`") # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_id' in local_var_params:
path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans/{loan_id}',
'DELETE',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='Loan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def update_loan(self, loan_id, loan_patch, **kwargs): # noqa: E501
"""Modify a loan # noqa: E501
Only `auto_renew` modification is supported currently # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_loan(loan_id, loan_patch, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param LoanPatch loan_patch: (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.Loan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.update_loan_with_http_info(loan_id, loan_patch, **kwargs) # noqa: E501
def update_loan_with_http_info(self, loan_id, loan_patch, **kwargs): # noqa: E501
"""Modify a loan # noqa: E501
Only `auto_renew` modification is supported currently # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_loan_with_http_info(loan_id, loan_patch, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param LoanPatch loan_patch: (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id', 'loan_patch']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method update_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan_id` when calling `update_loan`") # noqa: E501
# verify the required parameter 'loan_patch' is set
if self.api_client.client_side_validation and (
'loan_patch' not in local_var_params or local_var_params['loan_patch'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan_patch` when calling `update_loan`") # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_id' in local_var_params:
path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'loan_patch' in local_var_params:
body_params = local_var_params['loan_patch']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']
) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans/{loan_id}',
'PATCH',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='Loan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_loan_repayments(self, loan_id, **kwargs): # noqa: E501
"""List loan repayment records # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_loan_repayments(loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.Repayment]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_loan_repayments_with_http_info(loan_id, **kwargs) # noqa: E501
def list_loan_repayments_with_http_info(self, loan_id, **kwargs): # noqa: E501
"""List loan repayment records # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_loan_repayments_with_http_info(loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.Repayment], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_loan_repayments" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `loan_id` when calling `list_loan_repayments`"
) # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_id' in local_var_params:
path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans/{loan_id}/repayment',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[Repayment]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def repay_loan(self, loan_id, repay_request, **kwargs): # noqa: E501
"""Repay a loan # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.repay_loan(loan_id, repay_request, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param RepayRequest repay_request: (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.Loan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.repay_loan_with_http_info(loan_id, repay_request, **kwargs) # noqa: E501
def repay_loan_with_http_info(self, loan_id, repay_request, **kwargs): # noqa: E501
"""Repay a loan # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.repay_loan_with_http_info(loan_id, repay_request, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param RepayRequest repay_request: (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id', 'repay_request']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method repay_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan_id` when calling `repay_loan`") # noqa: E501
# verify the required parameter 'repay_request' is set
if self.api_client.client_side_validation and (
'repay_request' not in local_var_params or local_var_params['repay_request'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `repay_request` when calling `repay_loan`"
) # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_id' in local_var_params:
path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'repay_request' in local_var_params:
body_params = local_var_params['repay_request']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']
) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loans/{loan_id}/repayment',
'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='Loan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_loan_records(self, loan_id, **kwargs): # noqa: E501
"""List repayment records of a specific loan # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_loan_records(loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param str status: Loan record status
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.LoanRecord]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_loan_records_with_http_info(loan_id, **kwargs) # noqa: E501
def list_loan_records_with_http_info(self, loan_id, **kwargs): # noqa: E501
"""List repayment records of a specific loan # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_loan_records_with_http_info(loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Loan ID (required)
:param str status: Loan record status
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.LoanRecord], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id', 'status', 'page', 'limit']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_loan_records" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `loan_id` when calling `list_loan_records`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `page` when calling `list_loan_records`, must be a value greater than or equal to `1`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_loan_records`, must be a value less than or equal to `1000`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_loan_records`, must be a value greater than or equal to `1`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'loan_id' in local_var_params and local_var_params['loan_id'] is not None: # noqa: E501
query_params.append(('loan_id', local_var_params['loan_id'])) # noqa: E501
if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501
query_params.append(('status', local_var_params['status'])) # noqa: E501
if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
query_params.append(('page', local_var_params['page'])) # noqa: E501
if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
query_params.append(('limit', local_var_params['limit'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loan_records',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[LoanRecord]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_loan_record(self, loan_record_id, loan_id, **kwargs): # noqa: E501
"""Get one single loan record # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_loan_record(loan_record_id, loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_record_id: Loan record ID (required)
:param str loan_id: Loan ID (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.LoanRecord
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_loan_record_with_http_info(loan_record_id, loan_id, **kwargs) # noqa: E501
def get_loan_record_with_http_info(self, loan_record_id, loan_id, **kwargs): # noqa: E501
"""Get one single loan record # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_loan_record_with_http_info(loan_record_id, loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_record_id: Loan record ID (required)
:param str loan_id: Loan ID (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.LoanRecord, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_record_id', 'loan_id']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_loan_record" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_record_id' is set
if self.api_client.client_side_validation and (
'loan_record_id' not in local_var_params or local_var_params['loan_record_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `loan_record_id` when calling `get_loan_record`"
) # noqa: E501
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `loan_id` when calling `get_loan_record`") # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_record_id' in local_var_params:
path_params['loan_record_id'] = local_var_params['loan_record_id'] # noqa: E501
query_params = []
if 'loan_id' in local_var_params and local_var_params['loan_id'] is not None: # noqa: E501
query_params.append(('loan_id', local_var_params['loan_id'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loan_records/{loan_record_id}',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='LoanRecord', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def update_loan_record(self, loan_record_id, loan_patch, **kwargs): # noqa: E501
"""Modify a loan record # noqa: E501
Only `auto_renew` modification is supported currently # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_loan_record(loan_record_id, loan_patch, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_record_id: Loan record ID (required)
:param LoanPatch loan_patch: (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.LoanRecord
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.update_loan_record_with_http_info(loan_record_id, loan_patch, **kwargs) # noqa: E501
def update_loan_record_with_http_info(self, loan_record_id, loan_patch, **kwargs): # noqa: E501
"""Modify a loan record # noqa: E501
Only `auto_renew` modification is supported currently # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_loan_record_with_http_info(loan_record_id, loan_patch, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_record_id: Loan record ID (required)
:param LoanPatch loan_patch: (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.LoanRecord, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_record_id', 'loan_patch']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method update_loan_record" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_record_id' is set
if self.api_client.client_side_validation and (
'loan_record_id' not in local_var_params or local_var_params['loan_record_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `loan_record_id` when calling `update_loan_record`"
) # noqa: E501
# verify the required parameter 'loan_patch' is set
if self.api_client.client_side_validation and (
'loan_patch' not in local_var_params or local_var_params['loan_patch'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `loan_patch` when calling `update_loan_record`"
) # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_record_id' in local_var_params:
path_params['loan_record_id'] = local_var_params['loan_record_id'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'loan_patch' in local_var_params:
body_params = local_var_params['loan_patch']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']
) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/loan_records/{loan_record_id}',
'PATCH',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='LoanRecord', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_auto_repay_status(self, **kwargs): # noqa: E501
"""Retrieve user auto repayment setting # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_auto_repay_status(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.AutoRepaySetting
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_auto_repay_status_with_http_info(**kwargs) # noqa: E501
def get_auto_repay_status_with_http_info(self, **kwargs): # noqa: E501
"""Retrieve user auto repayment setting # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_auto_repay_status_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.AutoRepaySetting, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = []
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_auto_repay_status" % k)
local_var_params[k] = v
del local_var_params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/auto_repay',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='AutoRepaySetting', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def set_auto_repay(self, status, **kwargs): # noqa: E501
"""Update user's auto repayment setting # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.set_auto_repay(status, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str status: New auto repayment status. `on` - enabled, `off` - disabled (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.AutoRepaySetting
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.set_auto_repay_with_http_info(status, **kwargs) # noqa: E501
def set_auto_repay_with_http_info(self, status, **kwargs): # noqa: E501
"""Update user's auto repayment setting # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.set_auto_repay_with_http_info(status, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str status: New auto repayment status. `on` - enabled, `off` - disabled (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.AutoRepaySetting, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['status']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method set_auto_repay" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'status' is set
if self.api_client.client_side_validation and (
'status' not in local_var_params or local_var_params['status'] is None # noqa: E501
): # noqa: E501
raise ApiValueError("Missing the required parameter `status` when calling `set_auto_repay`") # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501
query_params.append(('status', local_var_params['status'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/auto_repay',
'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='AutoRepaySetting', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_margin_transferable(self, currency, **kwargs): # noqa: E501
"""Get the max transferable amount for a specific margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_margin_transferable(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param str currency_pair: Currency pair
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.MarginTransferable
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_margin_transferable_with_http_info(currency, **kwargs) # noqa: E501
def get_margin_transferable_with_http_info(self, currency, **kwargs): # noqa: E501
"""Get the max transferable amount for a specific margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_margin_transferable_with_http_info(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param str currency_pair: Currency pair
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.MarginTransferable, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency', 'currency_pair']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_margin_transferable" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency` when calling `get_margin_transferable`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/transferable',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='MarginTransferable', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_margin_borrowable(self, currency, **kwargs): # noqa: E501
"""Get the max borrowable amount for a specific margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_margin_borrowable(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param str currency_pair: Currency pair
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.MarginBorrowable
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_margin_borrowable_with_http_info(currency, **kwargs) # noqa: E501
def get_margin_borrowable_with_http_info(self, currency, **kwargs): # noqa: E501
"""Get the max borrowable amount for a specific margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_margin_borrowable_with_http_info(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param str currency_pair: Currency pair
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.MarginBorrowable, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency', 'currency_pair']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_margin_borrowable" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency` when calling `get_margin_borrowable`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/borrowable',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='MarginBorrowable', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_cross_margin_currencies(self, **kwargs): # noqa: E501
"""Currencies supported by cross margin. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_currencies(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.CrossMarginCurrency]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_cross_margin_currencies_with_http_info(**kwargs) # noqa: E501
def list_cross_margin_currencies_with_http_info(self, **kwargs): # noqa: E501
"""Currencies supported by cross margin. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_currencies_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.CrossMarginCurrency], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = []
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'" " to method list_cross_margin_currencies" % k
)
local_var_params[k] = v
del local_var_params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = [] # noqa: E501
return self.api_client.call_api(
'/margin/cross/currencies',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[CrossMarginCurrency]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_cross_margin_currency(self, currency, **kwargs): # noqa: E501
"""Retrieve detail of one single currency supported by cross margin # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_currency(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Currency name (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.CrossMarginCurrency
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_cross_margin_currency_with_http_info(currency, **kwargs) # noqa: E501
def get_cross_margin_currency_with_http_info(self, currency, **kwargs): # noqa: E501
"""Retrieve detail of one single currency supported by cross margin # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_currency_with_http_info(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Currency name (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.CrossMarginCurrency, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_cross_margin_currency" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency` when calling `get_cross_margin_currency`"
) # noqa: E501
collection_formats = {}
path_params = {}
if 'currency' in local_var_params:
path_params['currency'] = local_var_params['currency'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = [] # noqa: E501
return self.api_client.call_api(
'/margin/cross/currencies/{currency}',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='CrossMarginCurrency', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_cross_margin_account(self, **kwargs): # noqa: E501
"""Retrieve cross margin account # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_account(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.CrossMarginAccount
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_cross_margin_account_with_http_info(**kwargs) # noqa: E501
def get_cross_margin_account_with_http_info(self, **kwargs): # noqa: E501
"""Retrieve cross margin account # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_account_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.CrossMarginAccount, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = []
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_cross_margin_account" % k)
local_var_params[k] = v
del local_var_params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/accounts',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='CrossMarginAccount', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_cross_margin_account_book(self, **kwargs): # noqa: E501
"""Retrieve cross margin account change history # noqa: E501
Record time range cannot exceed 30 days # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_account_book(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Filter by currency
:param int _from: Start timestamp of the query
:param int to: Time range ending, default to current time
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param str type: Only retrieve changes of the specified type. All types will be returned if not specified.
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.CrossMarginAccountBook]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_cross_margin_account_book_with_http_info(**kwargs) # noqa: E501
def list_cross_margin_account_book_with_http_info(self, **kwargs): # noqa: E501
"""Retrieve cross margin account change history # noqa: E501
Record time range cannot exceed 30 days # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_account_book_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Filter by currency
:param int _from: Start timestamp of the query
:param int to: Time range ending, default to current time
:param int page: Page number
:param int limit: Maximum number of records to be returned in a single list
:param str type: Only retrieve changes of the specified type. All types will be returned if not specified.
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.CrossMarginAccountBook], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency', '_from', 'to', 'page', 'limit', 'type']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'" " to method list_cross_margin_account_book" % k
)
local_var_params[k] = v
del local_var_params['kwargs']
if (
self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `page` when calling `list_cross_margin_account_book`, must be a value greater than or equal to `1`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_cross_margin_account_book`, must be a value less than or equal to `1000`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_cross_margin_account_book`, must be a value greater than or equal to `1`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501
query_params.append(('from', local_var_params['_from'])) # noqa: E501
if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501
query_params.append(('to', local_var_params['to'])) # noqa: E501
if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
query_params.append(('page', local_var_params['page'])) # noqa: E501
if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
query_params.append(('limit', local_var_params['limit'])) # noqa: E501
if 'type' in local_var_params and local_var_params['type'] is not None: # noqa: E501
query_params.append(('type', local_var_params['type'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/account_book',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[CrossMarginAccountBook]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_cross_margin_loans(self, status, **kwargs): # noqa: E501
"""List cross margin borrow history # noqa: E501
Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_loans(status, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param int status: Filter by status. Supported values are 2 and 3. (required)
:param str currency: Filter by currency
:param int limit: Maximum number of records to be returned in a single list
:param int offset: List offset, starting from 0
:param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.CrossMarginLoan]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_cross_margin_loans_with_http_info(status, **kwargs) # noqa: E501
def list_cross_margin_loans_with_http_info(self, status, **kwargs): # noqa: E501
"""List cross margin borrow history # noqa: E501
Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_loans_with_http_info(status, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param int status: Filter by status. Supported values are 2 and 3. (required)
:param str currency: Filter by currency
:param int limit: Maximum number of records to be returned in a single list
:param int offset: List offset, starting from 0
:param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.CrossMarginLoan], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['status', 'currency', 'limit', 'offset', 'reverse']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_cross_margin_loans" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'status' is set
if self.api_client.client_side_validation and (
'status' not in local_var_params or local_var_params['status'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `status` when calling `list_cross_margin_loans`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_cross_margin_loans`, must be a value less than or equal to `1000`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_cross_margin_loans`, must be a value greater than or equal to `1`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'offset' in local_var_params and local_var_params['offset'] < 0
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `offset` when calling `list_cross_margin_loans`, must be a value greater than or equal to `0`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501
query_params.append(('status', local_var_params['status'])) # noqa: E501
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
query_params.append(('limit', local_var_params['limit'])) # noqa: E501
if 'offset' in local_var_params and local_var_params['offset'] is not None: # noqa: E501
query_params.append(('offset', local_var_params['offset'])) # noqa: E501
if 'reverse' in local_var_params and local_var_params['reverse'] is not None: # noqa: E501
query_params.append(('reverse', local_var_params['reverse'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/loans',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[CrossMarginLoan]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def create_cross_margin_loan(self, cross_margin_loan, **kwargs): # noqa: E501
"""Create a cross margin borrow loan # noqa: E501
Borrow amount cannot be less than currency minimum borrow amount # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_cross_margin_loan(cross_margin_loan, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param CrossMarginLoan cross_margin_loan: (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.CrossMarginLoan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.create_cross_margin_loan_with_http_info(cross_margin_loan, **kwargs) # noqa: E501
def create_cross_margin_loan_with_http_info(self, cross_margin_loan, **kwargs): # noqa: E501
"""Create a cross margin borrow loan # noqa: E501
Borrow amount cannot be less than currency minimum borrow amount # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_cross_margin_loan_with_http_info(cross_margin_loan, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param CrossMarginLoan cross_margin_loan: (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.CrossMarginLoan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['cross_margin_loan']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method create_cross_margin_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'cross_margin_loan' is set
if self.api_client.client_side_validation and (
'cross_margin_loan' not in local_var_params or local_var_params['cross_margin_loan'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `cross_margin_loan` when calling `create_cross_margin_loan`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'cross_margin_loan' in local_var_params:
body_params = local_var_params['cross_margin_loan']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']
) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/loans',
'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='CrossMarginLoan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_cross_margin_loan(self, loan_id, **kwargs): # noqa: E501
"""Retrieve single borrow loan detail # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_loan(loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Borrow loan ID (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.CrossMarginLoan
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_cross_margin_loan_with_http_info(loan_id, **kwargs) # noqa: E501
def get_cross_margin_loan_with_http_info(self, loan_id, **kwargs): # noqa: E501
"""Retrieve single borrow loan detail # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_loan_with_http_info(loan_id, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str loan_id: Borrow loan ID (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.CrossMarginLoan, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['loan_id']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_cross_margin_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'loan_id' is set
if self.api_client.client_side_validation and (
'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `loan_id` when calling `get_cross_margin_loan`"
) # noqa: E501
collection_formats = {}
path_params = {}
if 'loan_id' in local_var_params:
path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/loans/{loan_id}',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='CrossMarginLoan', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def list_cross_margin_repayments(self, **kwargs): # noqa: E501
"""Retrieve cross margin repayments # noqa: E501
Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_repayments(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency:
:param str loan_id:
:param int limit: Maximum number of records to be returned in a single list
:param int offset: List offset, starting from 0
:param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.CrossMarginRepayment]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.list_cross_margin_repayments_with_http_info(**kwargs) # noqa: E501
def list_cross_margin_repayments_with_http_info(self, **kwargs): # noqa: E501
"""Retrieve cross margin repayments # noqa: E501
Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_cross_margin_repayments_with_http_info(async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency:
:param str loan_id:
:param int limit: Maximum number of records to be returned in a single list
:param int offset: List offset, starting from 0
:param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.CrossMarginRepayment], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency', 'loan_id', 'limit', 'offset', 'reverse']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'" " to method list_cross_margin_repayments" % k
)
local_var_params[k] = v
del local_var_params['kwargs']
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_cross_margin_repayments`, must be a value less than or equal to `1000`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `limit` when calling `list_cross_margin_repayments`, must be a value greater than or equal to `1`"
) # noqa: E501
if (
self.api_client.client_side_validation and 'offset' in local_var_params and local_var_params['offset'] < 0
): # noqa: E501
raise ApiValueError(
"Invalid value for parameter `offset` when calling `list_cross_margin_repayments`, must be a value greater than or equal to `0`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
if 'loan_id' in local_var_params and local_var_params['loan_id'] is not None: # noqa: E501
query_params.append(('loan_id', local_var_params['loan_id'])) # noqa: E501
if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
query_params.append(('limit', local_var_params['limit'])) # noqa: E501
if 'offset' in local_var_params and local_var_params['offset'] is not None: # noqa: E501
query_params.append(('offset', local_var_params['offset'])) # noqa: E501
if 'reverse' in local_var_params and local_var_params['reverse'] is not None: # noqa: E501
query_params.append(('reverse', local_var_params['reverse'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/repayments',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[CrossMarginRepayment]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def repay_cross_margin_loan(self, cross_margin_repay_request, **kwargs): # noqa: E501
"""Cross margin repayments # noqa: E501
When the liquidity of the currency is insufficient and the transaction risk is high, the currency will be disabled, and funds cannot be transferred.When the available balance of cross-margin is insufficient, the balance of the spot account can be used for repayment. Please ensure that the balance of the spot account is sufficient, and system uses cross-margin account for repayment first # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.repay_cross_margin_loan(cross_margin_repay_request, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param CrossMarginRepayRequest cross_margin_repay_request: (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: list[gate_api.CrossMarginLoan]
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.repay_cross_margin_loan_with_http_info(cross_margin_repay_request, **kwargs) # noqa: E501
def repay_cross_margin_loan_with_http_info(self, cross_margin_repay_request, **kwargs): # noqa: E501
"""Cross margin repayments # noqa: E501
When the liquidity of the currency is insufficient and the transaction risk is high, the currency will be disabled, and funds cannot be transferred.When the available balance of cross-margin is insufficient, the balance of the spot account can be used for repayment. Please ensure that the balance of the spot account is sufficient, and system uses cross-margin account for repayment first # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.repay_cross_margin_loan_with_http_info(cross_margin_repay_request, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param CrossMarginRepayRequest cross_margin_repay_request: (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(list[gate_api.CrossMarginLoan], status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['cross_margin_repay_request']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method repay_cross_margin_loan" % k)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'cross_margin_repay_request' is set
if self.api_client.client_side_validation and (
'cross_margin_repay_request' not in local_var_params
or local_var_params['cross_margin_repay_request'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `cross_margin_repay_request` when calling `repay_cross_margin_loan`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'cross_margin_repay_request' in local_var_params:
body_params = local_var_params['cross_margin_repay_request']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']
) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/repayments',
'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='list[CrossMarginLoan]', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_cross_margin_transferable(self, currency, **kwargs): # noqa: E501
"""Get the max transferable amount for a specific cross margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_transferable(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.CrossMarginTransferable
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_cross_margin_transferable_with_http_info(currency, **kwargs) # noqa: E501
def get_cross_margin_transferable_with_http_info(self, currency, **kwargs): # noqa: E501
"""Get the max transferable amount for a specific cross margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_transferable_with_http_info(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.CrossMarginTransferable, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'" " to method get_cross_margin_transferable" % k
)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency` when calling `get_cross_margin_transferable`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/transferable',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='CrossMarginTransferable', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)
def get_cross_margin_borrowable(self, currency, **kwargs): # noqa: E501
"""Get the max borrowable amount for a specific cross margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_borrowable(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: gate_api.CrossMarginBorrowable
:return: If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
return self.get_cross_margin_borrowable_with_http_info(currency, **kwargs) # noqa: E501
def get_cross_margin_borrowable_with_http_info(self, currency, **kwargs): # noqa: E501
"""Get the max borrowable amount for a specific cross margin currency # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.get_cross_margin_borrowable_with_http_info(currency, async_req=True)
>>> result = thread.get()
:param bool async_req: execute request asynchronously
:param str currency: Retrieve data of the specified currency (required)
:param _return_http_data_only: response data without head status code
and headers
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:rtype: tuple(gate_api.CrossMarginBorrowable, status_code(int), headers(HTTPHeaderDict))
:return: If the method is called asynchronously,
returns the request thread.
"""
local_var_params = locals()
all_params = ['currency']
all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
for k, v in six.iteritems(local_var_params['kwargs']):
if k not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'" " to method get_cross_margin_borrowable" % k
)
local_var_params[k] = v
del local_var_params['kwargs']
# verify the required parameter 'currency' is set
if self.api_client.client_side_validation and (
'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
): # noqa: E501
raise ApiValueError(
"Missing the required parameter `currency` when calling `get_cross_margin_borrowable`"
) # noqa: E501
collection_formats = {}
path_params = {}
query_params = []
if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
query_params.append(('currency', local_var_params['currency'])) # noqa: E501
header_params = {}
form_params = []
local_var_files = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
# Authentication setting
auth_settings = ['apiv4'] # noqa: E501
return self.api_client.call_api(
'/margin/cross/borrowable',
'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='CrossMarginBorrowable', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
)