/// <summary> /// applies to master accounts only /// </summary> /// <param name="password">Funds password of the master account</param> /// <param name="subAccountName">Sub Account Name</param> /// <param name="apiKey">APIKey note</param> /// <param name="apiLabel">APIKey note</param> /// <param name="permission">APIKey access</param> /// <param name="ipAddresses">Link IP addresses, separate with commas if more than one. Support up to 20 IP addresses.</param> /// <param name="ct">Cancellation Token</param> /// <returns></returns> public virtual async Task <WebCallResult <OkexSubAccountApiKey> > ModifySubAccountApiKey_Async( string password, string subAccountName, string apiKey, string apiLabel, OkexApiPermission permission, string ipAddresses = null, CancellationToken ct = default) { var parameters = new Dictionary <string, object> { { "pwd", password }, { "subAcct", subAccountName }, { "label", apiLabel }, { "apiKey", apiKey }, { "perm", JsonConvert.SerializeObject(permission, new ApiPermissionConverter(false)) }, }; parameters.AddOptionalParameter("ip", ipAddresses); var result = await SendRequestAsync <OkexRestApiResponse <IEnumerable <OkexSubAccountApiKey> > >(GetUrl(Endpoints_V5_SubAccount_ModifyApiKey), HttpMethod.Post, ct, parameters, true).ConfigureAwait(false); if (!result.Success) { return(WebCallResult <OkexSubAccountApiKey> .CreateErrorResult(result.ResponseStatusCode, result.ResponseHeaders, result.Error)); } if (result.Data.ErrorCode > 0) { return(WebCallResult <OkexSubAccountApiKey> .CreateErrorResult(result.ResponseStatusCode, result.ResponseHeaders, new ServerError(result.Data.ErrorCode, result.Data.ErrorMessage, result.Data.Data))); } return(new WebCallResult <OkexSubAccountApiKey>(result.ResponseStatusCode, result.ResponseHeaders, result.Data.Data.FirstOrDefault(), null)); }
/// <summary> /// applies to master accounts only /// </summary> /// <param name="password">Funding password of the master account</param> /// <param name="subAccountName">Sub Account Name</param> /// <param name="apiLabel">APIKey note</param> /// <param name="apiPassphrase">APIKey password, supports 6 to 32 characters that include numbers and letters (case sensitive, space symbol is not supported).</param> /// <param name="permission">APIKey access</param> /// <param name="ipAddresses">Link IP addresses, separate with commas if more than one. Support up to 5 addresses.</param> /// <param name="ct">Cancellation Token</param> /// <returns></returns> public virtual WebCallResult <OkexSubAccountApiKey> CreateSubAccountApiKey( string password, string subAccountName, string apiLabel, string apiPassphrase, OkexApiPermission permission, string ipAddresses = null, CancellationToken ct = default) => CreateSubAccountApiKey_Async(password, subAccountName, apiLabel, apiPassphrase, permission, ipAddresses, ct).Result;