diff --git a/test-d/api.ts b/test-d/api.ts
index a8870cdbac..57c027f986 100644
--- a/test-d/api.ts
+++ b/test-d/api.ts
@@ -2,21 +2,28 @@ import { expectType } from 'tsd';
 import * as Misskey from '../src';
 
 describe('API', () => {
-	describe('request', () => {
-		test('success', async () => {
-			const res = await Misskey.api.request('https://misskey.test', 'meta', { detail: true }, 'TOKEN');
-			expectType<Misskey.entities.InstanceMetadata>(res);
+	test('success', async () => {
+		const cli = new Misskey.api.APIClient({
+			origin: 'https://misskey.test',
+			credential: 'TOKEN'
 		});
+		const res = await cli.request('meta', { detail: true });
+		expectType<Misskey.entities.InstanceMetadata>(res);
 	});
 
-	describe('APIClient', () => {
-		test('success', async () => {
-			const cli = new Misskey.api.APIClient({
-				origin: 'https://misskey.test'
-			});
-			cli.i = { token: 'TOKEN' };
-			const res = await cli.request('meta', { detail: true });
-			expectType<Misskey.entities.InstanceMetadata>(res);
+	test('conditional respose type', async () => {
+		const cli = new Misskey.api.APIClient({
+			origin: 'https://misskey.test',
+			credential: 'TOKEN'
 		});
+
+		const res = await cli.request('meta', { detail: true });
+		expectType<Misskey.entities.DetailedInstanceMetadata>(res);
+
+		const res2 = await cli.request('meta', { detail: false });
+		expectType<Misskey.entities.LiteInstanceMetadata>(res2);
+
+		const res3 = await cli.request('meta', { });
+		expectType<Misskey.entities.LiteInstanceMetadata>(res3);
 	});
 });