Skip to content

Commit

Permalink
Merge pull request #346 from karimsan/master
Browse files Browse the repository at this point in the history
v3.10.4: Introduce `getSubAccountAllApiKeys`, update `deleteSubApiKey`
  • Loading branch information
tiagosiebler authored Jun 3, 2024
2 parents 991e762 + 3711d10 commit 23edc9e
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 8 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bybit-api",
"version": "3.10.3",
"version": "3.10.4",
"description": "Complete & robust Node.js SDK for Bybit's REST APIs and WebSockets, with TypeScript & strong end to end tests.",
"main": "lib/index.js",
"types": "lib/index.d.ts",
Expand Down
25 changes: 21 additions & 4 deletions src/rest-client-v5.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ import {
GetRiskLimitParamsV5,
GetSettlementRecordParamsV5,
GetSpotLeveragedTokenOrderHistoryParamsV5,
GetSubAccountAllApiKeysParamsV5,
GetSubAccountDepositRecordParamsV5,
GetTickersParamsV5,
GetTransactionLogParamsV5,
Expand Down Expand Up @@ -126,6 +127,7 @@ import {
SettlementRecordV5,
SpotBorrowCheckResultV5,
SpotLeveragedTokenOrderHistoryV5,
SubAccountAllApiKeysResultV5,
SubMemberV5,
SwitchIsolatedMarginParamsV5,
SwitchPositionModeParamsV5,
Expand Down Expand Up @@ -1295,6 +1297,17 @@ export class RestClientV5 extends BaseRestClient {
return this.getPrivate('/v5/user/query-sub-members');
}

/**
* Query all api keys information of a sub UID.
*/
getSubAccountAllApiKeys(
params: GetSubAccountAllApiKeysParamsV5,
): Promise<
APIResponseV3WithTime<SubAccountAllApiKeysResultV5>
> {
return this.getPrivate('/v5/user/sub-apikeys', params);
}

/**
* Froze sub uid. Use master user's api key only.
*
Expand Down Expand Up @@ -1361,12 +1374,16 @@ export class RestClientV5 extends BaseRestClient {
*
* TIP:
* The API key must have one of the permissions to be allowed to call the following API endpoint.
* - sub API key: "Account Transfer"
* - sub API key: "Account Transfer", "Sub Member Transfer"
* - master API Key: "Account Transfer", "Sub Member Transfer", "Withdrawal"
*
* DANGER: BE CAREFUL! The API key used to call this interface will be invalid immediately.
* DANGER: BE CAREFUL! The sub API key used to call this interface will be invalid immediately.
*/
deleteSubApiKey(): Promise<APIResponseV3WithTime<{}>> {
return this.postPrivate('/v5/user/delete-sub-api');
deleteSubApiKey(params?: { apikey?: string; }): Promise<APIResponseV3WithTime<{}>> {
return this.postPrivate(
'/v5/user/delete-sub-api',
params,
);
}

/**
Expand Down
6 changes: 6 additions & 0 deletions src/types/request/v5-user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,9 @@ export interface UpdateSubApiKeyUpdateParamsV5 {
export interface DeleteSubMemberParamsV5 {
subMemberId: string;
}

export interface GetSubAccountAllApiKeysParamsV5 {
subMemberId: string;
limit?: number;
cursor?: string;
}
21 changes: 20 additions & 1 deletion src/types/response/v5-user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export interface ApiKeyInfoV5 {
secret: string;
permissions: PermissionsV5;
ips?: string[];
type: 1 | 2;
type: ApiKeyType;
deadlineDay?: number;
expiredAt?: string;
createdAt: string;
Expand All @@ -57,3 +57,22 @@ export interface UpdateApiKeyResultV5 {
permissions: PermissionsV5;
ips: string[];
}

export interface SubAccountAllApiKeysResultV5 {
result: {
id: string;
ips?: string[];
apiKey: string;
note: string;
status: number;
expiredAt?: string;
createdAt: string;
type: ApiKeyType;
permissions: PermissionsV5;
secret: string;
readOnly: 0 | 1;
deadlineDay?: number;
flag: string;
}[],
nextPageCursor: string;
}
10 changes: 10 additions & 0 deletions test/v5/private.read.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,16 @@ describe('Private READ V5 REST API Endpoints', () => {
...successResponseObjectV3(),
});
});

it('getSubAccountAllApiKeys()', async () => {
expect(
await api.getSubAccountAllApiKeys({subMemberId: 'fakeid'})
).toMatchObject({
// ...successResponseObjectV3(),
// Expected, since sub account ID is fake
retCode: API_ERROR_CODE.PARAMS_MISSING_OR_WRONG,
});
});
});

describe('Spot Leverage Token APIs', () => {
Expand Down

0 comments on commit 23edc9e

Please sign in to comment.