diff --git a/swagger.js b/swagger.js
index 1f430555ae..9501c4eb3b 100644
--- a/swagger.js
+++ b/swagger.js
@@ -11,32 +11,175 @@ const files = [
   'auth/session/userkey.js',
 ];
 
-const errorDefinition = {
-  'type': 'object',
-  'properties':{
-    'error': {
-      'type': 'string',
-      'description': 'Error message'
+const defaultSwagger = {
+  "swagger": "2.0",
+  "info": {
+    "title": "Misskey API",
+    "version": "aoi"
+  },
+  "host": "api.misskey.local",
+  "schemes": [
+    "http"
+  ],
+  "consumes": [
+    "application/x-www-form-urlencoded"
+  ],
+  "produces": [
+    "application/json"
+  ],
+  "definitions": {
+    "Error": {
+      "type": "object",
+      "properties": {
+        "error": {
+          "type": "string",
+          "description": "Error message"
+        }
+      }
+    },
+    "User": {
+      "type": "object",
+      "required": [
+        "created_at",
+        "followers_count",
+        "following_count",
+        "id",
+        "liked_count",
+        "likes_count",
+        "name",
+        "posts_count",
+        "username"
+      ],
+      "properties": {
+        "avatar_id": {
+          "type": "string",
+          "description": "アバターに設定しているドライブのファイルのID"
+        },
+        "avatar_url": {
+          "type": "string",
+          "description": "アバターURL"
+        },
+        "banner_id": {
+          "type": "string",
+          "description": "バナーに設定しているドライブのファイルのID"
+        },
+        "banner_url": {
+          "type": "string",
+          "description": "バナーURL"
+        },
+        "bio": {
+          "type": "string",
+          "description": "プロフィール"
+        },
+        "birthday": {
+          "type": "string",
+          "description": "誕生日"
+        },
+        "created_at": {
+          "type": "string",
+          "format": "date",
+          "description": "アカウント作成日時"
+        },
+        "drive_capacity": {
+          "type": "integer",
+          "description": "ドライブの最大容量"
+        },
+        "followers_count": {
+          "type": "integer",
+          "description": "フォロワー数"
+        },
+        "following_count": {
+          "type": "integer",
+          "description": "フォロー数"
+        },
+        "id": {
+          "type": "string",
+          "description": "ユーザーID"
+        },
+        "is_followed": {
+          "type": "boolean",
+          "description": "フォローされているか"
+        },
+        "is_following": {
+          "type": "boolean",
+          "description": "フォローしているか"
+        },
+        "liked_count": {
+          "type": "integer",
+          "description": "投稿にいいねされた数"
+        },
+        "likes_count": {
+          "type": "integer",
+          "description": "投稿にいいねした数"
+        },
+        "location": {
+          "type": "string",
+          "description": "場所"
+        },
+        "name": {
+          "type": "string",
+          "description": "ニックネーム"
+        },
+        "posts_count": {
+          "type": "integer",
+          "description": "投稿数"
+        },
+        "username": {
+          "type": "string",
+          "description": "ユーザー名"
+        }
+      }
+    },
+    "Application": {
+      "type": "object",
+      "properties": {
+        "created_at": {
+          "type": "string",
+          "format": "date",
+          "description": "アプリケーションの作成日時"
+        },
+        "user_id": {
+          "type": "string",
+          "description": "アプリケーションを作成したユーザーのID"
+        },
+        "name": {
+          "type": "string",
+          "description": "アプリケーションの名前"
+        },
+        "description": {
+          "type": "string",
+          "description": "アプリケーションの説明"
+        },
+        "permission": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "description": "アプリケーションの持つ権限一覧"
+        },
+        "callback_url": {
+          "type": "string",
+          "description": "コールバックURL"
+        },
+        "id": {
+          "type": "string",
+          "description": "アプリケーションID"
+        },
+        "icon_url": {
+          "type": "string",
+          "description": "アプリケーションのアイコンのURL"
+        }
+      }
     }
-  }
-} 
+  },
+  "responses": {},
+  "parameters": {},
+  "securityDefinitions": {},
+  "tags": []
+};
 
 var options = {
-  swaggerDefinition: {
-    swagger: '2.0',
-    info: {
-      title: 'Misskey API',
-      version: 'aoi',
-    },
-    host: 'api.misskey.xyz',
-    schemes: ['https'],
-    consumes: [
-      'application/x-www-form-urlencoded'
-    ],
-    produces: [
-      'application/json'
-    ]
-  },
+  swaggerDefinition: defaultSwagger,
   apis: []
 };
 options.apis = files.map(c => {return `${apiRoot}/${c}`;});
@@ -48,7 +191,8 @@ if(fs.existsSync('.config/config.yml')){
 }
 
 var swaggerSpec = swaggerJSDoc(options);
-swaggerSpec.definitions.Error = errorDefinition;
 
 fs.writeFileSync('api-docs.json', JSON.stringify(swaggerSpec));
 
+console.log(JSON.stringify(swaggerSpec));
+