{
    "openapi": "3.0.0",
    "info": {
        "title": "nijitama-backend",
        "description": "バックエンドAPI for にじたま",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "/api",
            "description": "local"
        },
        {
            "url": "http://tamacolle.d-e-v.nijitama.app.test/api/",
            "description": "local"
        },
        {
            "url": "https://tc-closed-beta.nijitama.app/api/",
            "description": "tc-closed-beta"
        },
        {
            "url": "https://test220905.nijitama.app/api/",
            "description": "test220905"
        }
    ],
    "paths": {
        "/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "ログイン",
                "operationId": "AuthLogin",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AuthLogin_Request"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり"
                    },
                    "401": {
                        "description": "ユーザー認証に失敗"
                    }
                }
            }
        },
        "/logout": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "ログアウト",
                "operationId": "AuthLogout",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {}
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "正常ログアウト",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗"
                    }
                }
            }
        },
        "/check": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "認証チェック",
                "operationId": "AuthCheck",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗"
                    }
                }
            }
        },
        "/check_ignore_session": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "認証チェック",
                "operationId": "AuthCheckIgnoreSession",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗"
                    }
                }
            }
        },
        "/refresh": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "トークンのリフレッシュ",
                "operationId": "AuthRefresh",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗"
                    }
                }
            }
        },
        "/makePassword": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "パスワード文字列生成",
                "operationId": "MakePassword",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MakePassword_Request"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "認証OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり"
                    },
                    "401": {
                        "description": "ユーザー認証に失敗"
                    }
                }
            }
        },
        "/battle/battle": {
            "post": {
                "tags": [
                    "Battle"
                ],
                "summary": "戦闘開始",
                "operationId": "Battle",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/BattleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/battle/battle_result": {
            "post": {
                "tags": [
                    "Battle"
                ],
                "summary": "戦闘結果",
                "operationId": "BattleResult",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/BattleResultRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/battle/ensei": {
            "post": {
                "tags": [
                    "Battle"
                ],
                "summary": "遠征に出す",
                "operationId": "BattleEnsei",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/BattleEnseiRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/battle/ensei_result": {
            "post": {
                "tags": [
                    "Battle"
                ],
                "summary": "遠征結果",
                "operationId": "BattleEnseiResult",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/BattleEnseiResultRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/fanbox/setSupportGift": {
            "post": {
                "tags": [
                    "FANBOX"
                ],
                "summary": "支援ギフトを追加する",
                "operationId": "setSupportGift",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FanboxSetSupportGiftRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/fanbox/sendSupportHistoryMail": {
            "post": {
                "tags": [
                    "FANBOX"
                ],
                "summary": "未送信の支援履歴に確認メール送る",
                "operationId": "SendSupportHistoryMail",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/fanbox/checkPlanFirstMentenance": {
            "post": {
                "tags": [
                    "FANBOX"
                ],
                "summary": "第１メンテナンス時の支援プランチェック",
                "operationId": "CheckPlanFirstMentenance",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/fanbox/manualSetSupportHistory": {
            "post": {
                "tags": [
                    "FANBOX"
                ],
                "summary": "手作業で支援履歴を付ける",
                "operationId": "FanboxManualSetSupportHistory",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FanboxManualSetSupportHistoryRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/gacha": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "本番ガチャ処理",
                "operationId": "PlayerGacha",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerGacha_Request"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "アイテムが足りない",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/master/insert_master": {
            "get": {
                "tags": [
                    "Master"
                ],
                "summary": "仮マスターデータを読み込む",
                "operationId": "InsertMaster",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/list_items": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "所持アイテムリスト取得（テスト用）",
                "operationId": "PlayerListItems",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/list_gifts": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "所持ギフトリスト取得（テスト用）",
                "operationId": "PlayerListGifts",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/list_charas": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "所持キャラリスト取得（テスト用）",
                "operationId": "PlayerListCharas",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/use_item_test": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "アイテムを使う（テスト用）",
                "operationId": "PlayeruseItemTest",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerUseItemRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/get_item_test": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "アイテムを取得（テスト用）",
                "operationId": "PlayerGetItemTest",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerGetItemRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/get_charas_test": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "キャラを取得（テスト用）",
                "operationId": "PlayerGetCharas",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerGetCharasRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/login_bonus": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "ログインボーナス取得",
                "operationId": "PlayerLoginBonus",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/tamabukuro": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "利き魂袋でキャラを取得",
                "operationId": "PlayerTamabukuro",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerTamabukuroRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/syoen_lvup": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "施設レベルアップ",
                "operationId": "PlayerSyoenLvUp",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerSyoenLvRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/chapter_clear": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "チャプタークリア",
                "operationId": "PlayerChapterClear",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerChapterClearRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/shop_buy": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "ショップ購入",
                "operationId": "PlayerShopBuy",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerShopBuy_Request"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/set_firstdanji": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "初期男児確定",
                "operationId": "PlayerSetFirstDanji",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerFirstDanjiRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/friendship": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "絆開放",
                "operationId": "PlayerFriendship",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerFriendshipRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/createTestData": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "仮データ作成",
                "operationId": "CreateTestData",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateTestDataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/test": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "テスト用",
                "operationId": "test",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/gift_code": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "ギフトコード入力",
                "operationId": "PlayerGiftCode",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerGiftCodeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/limited_shop_buy": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "期間限定ショップ購入",
                "operationId": "PlayerLimitedShopBuy",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerLimitedShopBuyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/order_furnit": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "家具購入",
                "operationId": "PlayerOrderFurnit",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerOrderFurnitRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/player/spirit_exchange": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "霊種のかけら変換",
                "operationId": "PlayerSpiritExchange",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerSpiritExchangeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/saveData/load": {
            "get": {
                "tags": [
                    "SaveData"
                ],
                "summary": "セーブデータの取得",
                "operationId": "SaveDataLoad",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SaveDataLoad_Response"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "セーブデータがない",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SaveDataLoad_Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/saveData/load_gift": {
            "get": {
                "tags": [
                    "SaveData"
                ],
                "summary": "ギフトデータの取得",
                "operationId": "SaveDataLoadGift",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SaveDataLoad_Response"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "セーブデータがない",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SaveDataLoad_Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/saveData/save": {
            "post": {
                "tags": [
                    "SaveData"
                ],
                "summary": "セーブデータの保存",
                "operationId": "SaveDataSave",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SaveDataSave_Request"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SaveDataSave_Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "ユーザー認証に失敗",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "入力に不備あり",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "500": {
                        "description": "想定外エラー",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "AuthLogin_Request": {
                "description": "AuthLogin_Request",
                "required": [
                    "email",
                    "password"
                ],
                "properties": {
                    "email": {
                        "description": "メールアドレス",
                        "type": "string",
                        "example": "suguru@example.com"
                    },
                    "password": {
                        "description": "パスワード",
                        "type": "string",
                        "example": "suguru1pass"
                    }
                },
                "type": "object"
            },
            "AuthLogin_Response": {
                "description": "AuthLogin_Response",
                "properties": {
                    "token": {
                        "description": "アクセストークン",
                        "type": "string",
                        "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC4wLjE6ODAwMFwvYXBpXC9sb2dpbiIsImlhdCI6MTY0MzQ0Njg0MCwiZXhwIjoxNjQzNDUwNDQwLCJuYmYiOjE2NDM0NDY4NDAsImp0aSI6IkpsYVdqQ09zVzQ0RDM1dkEiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.kuVmnEEO4HMG2aJBeOQj2kQ0Y6sDA3biyKFCChDXCaY"
                    },
                    "user": {
                        "description": "ユーザー情報",
                        "properties": {
                            "id": {
                                "description": "ユーザーID",
                                "type": "number",
                                "example": "1"
                            },
                            "name": {
                                "description": "ユーザー名",
                                "type": "string",
                                "example": "すぐる"
                            }
                        },
                        "type": "object"
                    },
                    "serverTime": {
                        "description": "サーバー時刻",
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-02-05T18:18:43+00:00"
                    }
                },
                "type": "object"
            },
            "AuthCheck_Response": {
                "description": "AuthCheck_Response",
                "required": [
                    "serverTime"
                ],
                "properties": {
                    "serverTime": {
                        "description": "サーバー時刻",
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-02-05T18:18:43+00:00"
                    }
                },
                "type": "object"
            },
            "AuthCheckIgnoreSession_Response": {
                "description": "AuthCheckIgnoreSession_Response",
                "required": [
                    "serverTime"
                ],
                "properties": {
                    "serverTime": {
                        "description": "サーバー時刻",
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-02-05T18:18:43+00:00"
                    }
                },
                "type": "object"
            },
            "MakePassword_Request": {
                "description": "AuthLogin_Request",
                "required": [
                    "passwordList"
                ],
                "properties": {
                    "passwordList": {
                        "type": "array",
                        "items": {
                            "description": "暗号化前パスワード",
                            "type": "string"
                        },
                        "example": [
                            "testpassA",
                            "testpassB",
                            "testpassC"
                        ]
                    }
                },
                "type": "object"
            },
            "BattleRequest": {
                "description": "BattleRequest",
                "required": [
                    "d",
                    "t"
                ],
                "properties": {
                    "d": {
                        "description": "台本",
                        "type": "string"
                    },
                    "t": {
                        "description": "魂守",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "BattleResultRequest": {
                "description": "BattleResultRequest",
                "required": [
                    "stage"
                ],
                "properties": {
                    "stage": {
                        "description": "ステージ番号",
                        "type": "integer"
                    },
                    "n": {
                        "description": "経験値なし",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "BattleEnseiRequest": {
                "description": "BattleEnseiRequest",
                "required": [
                    "no",
                    "id",
                    "count"
                ],
                "properties": {
                    "no": {
                        "description": "チーム番号",
                        "type": "integer"
                    },
                    "id": {
                        "description": "遠征ID",
                        "type": "integer"
                    },
                    "count": {
                        "description": "人数",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "BattleEnseiResultRequest": {
                "description": "BattleEnseiResultRequest",
                "required": [
                    "teams"
                ],
                "properties": {
                    "teams": {
                        "description": "チーム",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "FanboxSetSupportGiftRequest": {
                "description": "FanboxSetSupportGiftRequest",
                "required": [
                    "item_id",
                    "count",
                    "yearMonth"
                ],
                "properties": {
                    "item_id": {
                        "description": "アイテムID",
                        "type": "integer"
                    },
                    "count": {
                        "description": "アイテムの数",
                        "type": "integer"
                    },
                    "yearMonth": {
                        "description": "年月",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "FanboxManualSetSupportHistoryRequest": {
                "description": "FanboxManualSetSupportHistoryRequest",
                "required": [
                    "supporter_id",
                    "yearMonth",
                    "plan_id"
                ],
                "properties": {
                    "supporter_id": {
                        "description": "支援者ID",
                        "type": "integer"
                    },
                    "yearMonth": {
                        "description": "年月",
                        "type": "integer"
                    },
                    "plan_id": {
                        "description": "プランID",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "PlayerGacha_Request": {
                "description": "PlayerGacha_Request",
                "required": [
                    "gacha_id",
                    "tamas"
                ],
                "properties": {
                    "gacha_id": {
                        "description": "ガチャID",
                        "type": "integer"
                    },
                    "tamas": {
                        "description": "所持男児数",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "PlayerUseItemRequest": {
                "type": "array",
                "items": {
                    "properties": {
                        "item_id": {
                            "description": "アイテムID",
                            "type": "integer"
                        },
                        "use_count": {
                            "description": "数量",
                            "type": "integer"
                        }
                    },
                    "type": "object"
                }
            },
            "PlayerGetItemRequest": {
                "type": "array",
                "items": {
                    "properties": {
                        "item_id": {
                            "description": "アイテムID",
                            "type": "integer"
                        },
                        "get_count": {
                            "description": "数量",
                            "type": "integer"
                        }
                    },
                    "type": "object"
                }
            },
            "PlayerGetCharasRequest": {
                "type": "array",
                "items": {
                    "properties": {
                        "type": {
                            "description": "タイプ",
                            "type": "integer"
                        },
                        "id": {
                            "description": "ID",
                            "type": "integer"
                        }
                    },
                    "type": "object"
                }
            },
            "PlayerTamabukuroRequest": {
                "description": "PlayerTamabukuroRequest",
                "required": [
                    "charaID"
                ],
                "properties": {
                    "charaID": {
                        "description": "キャラID",
                        "type": "number",
                        "example": 0
                    }
                },
                "type": "object"
            },
            "PlayerSyoenLvRequest": {
                "description": "PlayerSyoenLvRequest",
                "required": [
                    "no",
                    "lv"
                ],
                "properties": {
                    "no": {
                        "description": "施設番号",
                        "type": "number",
                        "example": 0
                    },
                    "lv": {
                        "description": "レベル",
                        "type": "number",
                        "example": 0
                    }
                },
                "type": "object"
            },
            "PlayerChapterClearRequest": {
                "description": "PlayerChapterClearRequest",
                "required": [
                    "chapter_id"
                ],
                "properties": {
                    "chapter_id": {
                        "description": "クリアチャプターID",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "PlayerShopBuy_Request": {
                "description": "PlayerShopBuy_Request",
                "required": [
                    "shopitem_id",
                    "how",
                    "buy_count"
                ],
                "properties": {
                    "shopitem_id": {
                        "description": "ショップアイテムID",
                        "type": "integer"
                    },
                    "how": {
                        "description": "交換か",
                        "type": "string"
                    },
                    "buy_count": {
                        "description": "買う個数",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "PlayerFirstDanjiRequest": {
                "description": "PlayerFirstDanjiRequest",
                "required": [
                    "firstDanjiNo"
                ],
                "properties": {
                    "firstDanjiNo": {
                        "description": "初期男児No",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "PlayerFriendshipRequest": {
                "description": "PlayerFriendshipRequest",
                "required": [
                    "type",
                    "id",
                    "no",
                    "r",
                    "m"
                ],
                "properties": {
                    "type": {
                        "description": "キャラタイプ",
                        "type": "integer"
                    },
                    "id": {
                        "description": "キャラID",
                        "type": "integer"
                    },
                    "no": {
                        "description": "絆番号",
                        "type": "integer"
                    },
                    "r": {
                        "description": "個室",
                        "type": "boolean"
                    },
                    "m": {
                        "description": "結婚",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "CreateTestDataRequest": {
                "description": "CreateTestDataRequest",
                "required": [
                    "user_id",
                    "chapter_id"
                ],
                "properties": {
                    "user_id": {
                        "description": "ユーザーID",
                        "type": "integer",
                        "example": 1
                    },
                    "chapter_id": {
                        "description": "チャプターID",
                        "type": "integer",
                        "example": -1
                    },
                    "damage": {
                        "description": "ダメージ量",
                        "type": "integer",
                        "example": 0
                    },
                    "charas": {
                        "description": "ユーザーID",
                        "type": "array",
                        "items": {
                            "properties": {
                                "id": {
                                    "description": "キャラ",
                                    "type": "integer"
                                },
                                "lv": {
                                    "description": "レベル",
                                    "type": "integer"
                                }
                            },
                            "type": "object"
                        }
                    }
                },
                "type": "object"
            },
            "PlayerGiftCodeRequest": {
                "description": "PlayerGiftCodeRequest",
                "required": [
                    "code"
                ],
                "properties": {
                    "code": {
                        "description": "ギフトコード",
                        "type": "string",
                        "example": "test"
                    }
                },
                "type": "object"
            },
            "PlayerLimitedShopBuyRequest": {
                "description": "PlayerLimitedShopBuyRequest",
                "required": [
                    "limitedShopItems"
                ],
                "properties": {
                    "limitedShopItems": {
                        "description": "購入したアイテム",
                        "type": "string",
                        "example": "10@1,20@2"
                    }
                },
                "type": "object"
            },
            "PlayerOrderFurnitRequest": {
                "description": "PlayerOrderFurnitRequest",
                "required": [
                    "furnits"
                ],
                "properties": {
                    "furnits": {
                        "description": "家具リスト",
                        "type": "string",
                        "example": "10@1,20@2"
                    }
                },
                "type": "object"
            },
            "PlayerSpiritExchangeRequest": {
                "description": "PlayerSpiritExchangeRequest",
                "required": [
                    "spirits"
                ],
                "properties": {
                    "spirits": {
                        "description": "男児の心リスト",
                        "type": "string",
                        "example": "10@1,20@2"
                    }
                },
                "type": "object"
            },
            "SaveDataLoad_Response": {
                "description": "SaveDataLoad_Response",
                "required": [
                    "playDataJson",
                    "confDataJson",
                    "profDataJson"
                ],
                "properties": {
                    "playDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "confDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "profDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "itemDataJson": {
                        "description": "アイテムデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "charaDataJson": {
                        "description": "キャラデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "giftDataJson": {
                        "description": "ギフトデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "otherDataJson": {
                        "description": "その他データのJSON",
                        "type": "string",
                        "example": "{}"
                    }
                },
                "type": "object"
            },
            "SaveDataSave_Request": {
                "description": "SaveDataSave_Request",
                "required": [
                    "playDataJson",
                    "confDataJson",
                    "profDataJson",
                    "serverDataJson",
                    "item",
                    "gift"
                ],
                "properties": {
                    "playDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "confDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "profDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "serverDataJson": {
                        "description": "セーブデータのJSON",
                        "type": "string",
                        "example": "{}"
                    },
                    "item": {
                        "description": "アイテムリストを受け取る",
                        "type": "boolean",
                        "example": "false"
                    },
                    "gift": {
                        "description": "ギフトリストを受け取る",
                        "type": "boolean",
                        "example": "false"
                    }
                },
                "type": "object"
            },
            "SaveDataSave_Response": {
                "description": "SaveDataSave_Response",
                "required": [
                    "serverTime",
                    "itemDataJson",
                    "giftDataJson"
                ],
                "properties": {
                    "serverTime": {
                        "description": "サーバー時刻",
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-02-05T18:18:43+00:00"
                    },
                    "itemDataJson": {
                        "description": "アイテムリスト",
                        "type": "string",
                        "example": "{}"
                    },
                    "giftDataJson": {
                        "description": "ギフトリスト",
                        "type": "string",
                        "example": "{}"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "name": "Authorization",
                "in": "header",
                "bearerFormat": "JWT",
                "scheme": "Bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Auth",
            "description": "ユーザー（認証関係）"
        },
        {
            "name": "User",
            "description": "ユーザー"
        },
        {
            "name": "Player",
            "description": "プレイヤー"
        },
        {
            "name": "Gacha",
            "description": "ガチャ"
        },
        {
            "name": "Battle",
            "description": "戦闘"
        },
        {
            "name": "FANBOX",
            "description": "FANBOX"
        },
        {
            "name": "Master",
            "description": "マスターデータ"
        },
        {
            "name": "SaveData",
            "description": "セーブデータ"
        }
    ]
}