{"openapi":"3.0.1","info":{"title":"MSPlatform API","description":"既婚者向けマッチングプラットフォーム API仕様書","contact":{"name":"MSPlatform Development Team","email":"dev@msplatform.com"},"license":{"name":"Private License"},"version":"1.0.0"},"servers":[{"url":"http://localhost:8080","description":"Local Development Server"},{"url":"https://api.msplatform.com","description":"Production Server"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"DiaryFavorite","description":"日記お気に入り機能API"},{"name":"Favorite","description":"お気に入り機能API"},{"name":"Contact Form","description":"お問い合わせフォームAPI"},{"name":"Authentication","description":"認証関連API"},{"name":"Analytics","description":"ユーザー行動分析API"},{"name":"Report","description":"通報機能API"},{"name":"Profile","description":"プロフィール管理API"},{"name":"TalkRoom","description":"トークルーム管理API"},{"name":"Bonus","description":"ボーナス関連API"},{"name":"Match","description":"マッチング管理API"},{"name":"足あと","description":"プロフィール閲覧履歴（足あと）API"},{"name":"eKYC Callback","description":"LIQUID eKYCコールバック受信"},{"name":"Search","description":"ユーザー検索API"},{"name":"API Key Test","description":"API Key認証テスト用エンドポイント"},{"name":"eKYC","description":"本人確認（eKYC）関連API"},{"name":"Like","description":"いいね機能API"},{"name":"Email Integration","description":"API連携型メール送信統合API"},{"name":"Health","description":"システムヘルスチェックAPI"},{"name":"Like Purchase","description":"いいね購入API"},{"name":"Profile Multi Image","description":"プロフィール複数画像管理API（メイン1枚+サブ9枚）"},{"name":"Diary","description":"日記機能API"},{"name":"Block","description":"ブロック機能API"},{"name":"Subscription","description":"サブスクリプション（課金）関連API"}],"paths":{"/api/v1/settings":{"get":{"tags":["user-settings-controller"],"operationId":"getSettings","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserSettingsResponse"}}}}}},"put":{"tags":["user-settings-controller"],"operationId":"updateSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSettingsRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserSettingsResponse"}}}}}}},"/api/v1/profiles/me":{"get":{"tags":["Profile"],"summary":"現在ユーザーのプロフィール取得","description":"ログイン中ユーザーのプロフィール情報を取得します","operationId":"getCurrentProfile","responses":{"404":{"description":"プロフィールが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Profile"],"summary":"現在ユーザーのプロフィール更新","description":"ログイン中ユーザーのプロフィール情報を更新します","operationId":"updateCurrentProfile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdateRequest"}}},"required":true},"responses":{"404":{"description":"プロフィールが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}},"400":{"description":"リクエストデータが不正です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}},"200":{"description":"更新成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/sub/{filename}/blur":{"put":{"tags":["Profile Multi Image"],"summary":"サブ画像ぼかし強度更新","description":"既存のサブ画像に対して新しいぼかし強度を適用します。","operationId":"updateSubImageBlur","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string"}},{"name":"blurIntensity","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/sub/reorder":{"put":{"tags":["Profile Multi Image"],"summary":"サブ画像並べ替え","description":"サブ画像の表示順序を変更します。ファイル名の配列で新しい順序を指定します。","operationId":"reorderSubImages","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReorderRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/main/blur":{"put":{"tags":["Profile Multi Image"],"summary":"メイン画像ぼかし強度更新","description":"既存のメイン画像に対して新しいぼかし強度を適用します。blurredディレクトリ内の画像が再生成されます。","operationId":"updateMainImageBlur","parameters":[{"name":"blurIntensity","in":"query","description":"新しいぼかし強度（0:ぼかしなし、100:最大ぼかし）","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"404":{"description":"メイン画像が登録されていません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}},"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}},"200":{"description":"更新成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/notifications/{id}/read":{"put":{"tags":["notification-controller"],"operationId":"markAsRead","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/notifications/read-all":{"put":{"tags":["notification-controller"],"operationId":"markAllAsRead","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/matches/{matchId}/seen":{"put":{"tags":["Match"],"summary":"マッチを確認済みにする","description":"指定されたマッチを確認済みとしてマークします","operationId":"markMatchAsSeen","parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"403":{"description":"アクセス権限なし","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"404":{"description":"マッチが見つからない","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"200":{"description":"更新成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}":{"get":{"tags":["Diary"],"summary":"自分の日記詳細","description":"自分の日記の詳細情報を取得します","operationId":"getMyDiary","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryResponse"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Diary"],"summary":"日記更新","description":"日記のタイトルや本文を更新します","operationId":"updateDiary","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryResponse"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Diary"],"summary":"日記削除","description":"日記を論理削除します（コメントも連動削除）","operationId":"deleteDiary","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/read-comments":{"put":{"tags":["Diary"],"summary":"コメント既読","description":"指定日記の未読コメントを既読にします","operationId":"markCommentsAsRead","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/publish":{"put":{"tags":["Diary"],"summary":"日記公開","description":"下書き状態の日記を公開します。公開範囲(visibility)を指定してください","operationId":"publishDiary","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryPublishRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/images/reorder":{"put":{"tags":["Diary"],"summary":"日記画像並べ替え","description":"日記の画像の表示順を変更します","operationId":"reorderImages","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryImageReorderRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/comments/{commentId}":{"put":{"tags":["Diary"],"summary":"コメント編集","description":"自分のコメントを編集します","operationId":"updateComment","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","description":"コメントID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryCommentRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryCommentResponse"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Diary"],"summary":"コメント削除","description":"自分のコメントを削除します","operationId":"deleteComment","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","description":"コメントID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/auth/password":{"put":{"tags":["Authentication"],"summary":"パスワード変更","description":"ログイン中のユーザーが自分のパスワードを変更します。現在のパスワードの確認が必要です。","operationId":"changePassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"400":{"description":"入力値エラー（パスワード不一致等）","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"200":{"description":"パスワード変更成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/sites/{id}":{"get":{"tags":["site-controller"],"operationId":"getSite","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Site"}}}}}},"put":{"tags":["site-controller"],"operationId":"updateSite","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Site"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Site"}}}}}},"delete":{"tags":["site-controller"],"operationId":"deleteSite","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/admin/cors/origins/{id}":{"put":{"tags":["allowed-origin-controller"],"operationId":"updateAllowedOrigin","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowedOriginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAllowedOrigin"}}}}}},"delete":{"tags":["allowed-origin-controller"],"operationId":"deleteAllowedOrigin","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/companies/{id}":{"get":{"tags":["company-controller"],"operationId":"getCompany","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Company"}}}}}},"put":{"tags":["company-controller"],"operationId":"updateCompany","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Company"}}}}}},"delete":{"tags":["company-controller"],"operationId":"deleteCompany","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/test/api-key-auth":{"get":{"tags":["API Key Test"],"summary":"API Key認証テスト","description":"API Key認証が正常に動作するかをテストするエンドポイント。X-API-Keyヘッダーを使用して認証を行います。","operationId":"testApiKeyAuth","parameters":[{"name":"testParam","in":"query","description":"追加のテストパラメータ","required":false,"schema":{"type":"string"}}],"responses":{"403":{"description":"アクセス拒否","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}},"200":{"description":"認証成功","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}},"401":{"description":"認証失敗","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}},"security":[{"ApiKey":[]}]},"post":{"tags":["API Key Test"],"summary":"API Key認証テスト (POST)","description":"POST リクエストでのAPI Key認証テスト","operationId":"testApiKeyAuthPost","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}},"security":[{"ApiKey":[]}]}},"/api/v1/talkrooms/{roomCode}/read":{"post":{"tags":["TalkRoom"],"summary":"最新メッセージまで既読更新","description":"トークルームの最新メッセージまで既読にする","operationId":"markAsReadLatest","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/talkrooms/{roomCode}/read/{messageId}":{"post":{"tags":["TalkRoom"],"summary":"既読更新","description":"指定メッセージまでを既読にマーク","operationId":"markAsRead_1","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/talkrooms/{roomCode}/messages":{"get":{"tags":["TalkRoom"],"summary":"メッセージ履歴取得","description":"トークルームのメッセージ履歴を取得（セキュリティ準拠、isMyMessageフラグ付き）。本人確認が必要です。","operationId":"getMessages","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}},"post":{"tags":["TalkRoom"],"summary":"メッセージ送信","description":"トークルームにメッセージを送信（REST API版、WebSocket未接続時のフォールバック）。本人確認が必要です。","operationId":"sendMessageRest","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMessageResponse"}}}}}}},"/api/v1/talkrooms/{roomCode}/messages/image":{"post":{"tags":["TalkRoom"],"summary":"画像メッセージ送信","description":"トークルームに画像メッセージを送信。本人確認が必要です。対応形式: JPEG, PNG, GIF, WebP。最大5MB。","operationId":"sendImageMessage","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"不正なファイル形式またはサイズ超過","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMessageResponse"}}}},"200":{"description":"画像送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMessageResponse"}}}},"403":{"description":"本人確認未済またはアクセス権限なし","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMessageResponse"}}}}}}},"/api/v1/talkrooms/read-all":{"post":{"tags":["TalkRoom"],"summary":"全トークルーム一括既読","description":"参加している全トークルームのメッセージを既読にする","operationId":"markAllAsRead_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/talkrooms/group":{"post":{"tags":["TalkRoom"],"summary":"グループトークルーム作成","description":"新規グループトークルームを作成","operationId":"createGroupTalkRoom","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTalkRoomRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseTalkRoom"}}}}}}},"/api/v1/talkrooms/direct/{profileCode}":{"post":{"tags":["TalkRoom"],"summary":"1対1トークルーム作成","description":"指定プロフィールとの1対1トークルームを取得または作成","operationId":"getOrCreateDirectTalkRoom","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseTalkRoom"}}}}}}},"/api/v1/subscription/create-session":{"post":{"tags":["Subscription"],"summary":"決済セッション作成","description":"決済ページへのリダイレクトURLを取得します。<br>・JWT認証が必要です<br>・eKYC検証済みであることが必要です<br>・既に有効なサブスクリプションがある場合はエラーを返します","operationId":"createPaymentSession","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentSessionCreateRequest"}}},"required":true},"responses":{"400":{"description":"eKYC未完了または既に課金済み","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponsePaymentSessionCreateResponse"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponsePaymentSessionCreateResponse"}}}},"200":{"description":"セッション作成成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponsePaymentSessionCreateResponse"}}}}}}},"/api/v1/subscription/cancel":{"post":{"tags":["Subscription"],"summary":"サブスクリプション解約","description":"サブスクリプションを解約し、ROBOT PAYMENTの自動課金を停止します。<br>・JWT認証が必要です<br>・有効なサブスクリプションが存在する必要があります","operationId":"cancelSubscription","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancelRequest"}}},"required":true},"responses":{"404":{"description":"サブスクリプションが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}},"400":{"description":"有効なサブスクリプションがありません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}},"200":{"description":"解約成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}}}}},"/api/v1/reports":{"post":{"tags":["Report"],"summary":"通報","description":"指定したプロフィールを通報します","operationId":"createReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/sub":{"get":{"tags":["Profile Multi Image"],"summary":"サブ画像一覧取得","description":"ユーザーのサブ画像一覧を取得します。表示順序でソートされています。","operationId":"getSubImages","responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListProfileImageResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"サブ画像一覧を取得しました","data":[{"id":2,"imageType":"SUB","displayOrder":1,"filePath":"/uploads/{profileCode}/profile-images/xyz789.jpg"},{"id":3,"imageType":"SUB","displayOrder":2,"filePath":"/uploads/{profileCode}/profile-images/uvw012.jpg"}]}}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Profile Multi Image"],"summary":"サブ画像アップロード","description":"ユーザーのサブ画像をアップロードします。最大7枚まで登録できます。対応形式: JPEG, PNG, WebP / 最大サイズ: 5MB","operationId":"uploadSubImage","parameters":[{"name":"blurIntensity","in":"query","description":"ぼかし強度（0:ぼかしなし、100:最大ぼかし）デフォルト:0","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","description":"アップロードする画像ファイル","format":"binary"}}}}}},"responses":{"200":{"description":"アップロード成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"サブ画像がアップロードされました","data":{"id":2,"imageType":"SUB","displayOrder":1,"filePath":"/uploads/{profileCode}/profile-images/xyz789_uvw012.jpg"}}}}}},"400":{"description":"バリデーションエラー（形式・サイズ・枚数超過）","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}},"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/main":{"get":{"tags":["Profile Multi Image"],"summary":"メイン画像取得（ぼかし適用済み）","description":"ユーザーのメイン画像（ぼかし適用済み）を取得します。編集画面以外の全画面で使用されます。","operationId":"getMainImage","parameters":[{"name":"size","in":"query","description":"画像サイズ（small/medium/large）","required":false,"schema":{"type":"string","default":"medium"}}],"responses":{"404":{"description":"メイン画像が登録されていません","content":{"*/*":{"schema":{"type":"object"}}}},"401":{"description":"認証エラー","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Profile Multi Image"],"summary":"メイン画像アップロード","description":"ユーザーのメイン画像をアップロードします。既存のメイン画像は自動的に削除されます。対応形式: JPEG, PNG, WebP / 最大サイズ: 5MB","operationId":"uploadMainImage","parameters":[{"name":"blurIntensity","in":"query","description":"ぼかし強度（0:ぼかしなし、100:最大ぼかし）デフォルト:0","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","description":"アップロードする画像ファイル","format":"binary"}}}}}},"responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}},"400":{"description":"バリデーションエラー（形式・サイズ）","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileImageResponse"}}}},"200":{"description":"アップロード成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"メイン画像がアップロードされました","data":{"id":1,"imageType":"MAIN","displayOrder":0,"filePath":"/uploads/{profileCode}/profile-images/abc123_def456.jpg"}}}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/{profileCode}":{"post":{"tags":["Like"],"summary":"いいねを送る","description":"指定したプロフィールにいいねを送ります。相互いいねの場合、自動的にマッチングが成立します。","operationId":"sendLike","parameters":[{"name":"profileCode","in":"path","description":"いいね対象のプロフィールコード","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"プロフィールが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseLikeResponse"}}}},"201":{"description":"いいね成功（マッチング情報含む）","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseLikeResponse"}}}},"409":{"description":"既にいいね済み","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseLikeResponse"}}}},"400":{"description":"無効なリクエスト","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseLikeResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/received/{profileCode}/read":{"post":{"tags":["Like"],"summary":"いいねを既読にする","description":"指定した送信者からのいいねを既読にします","operationId":"markAsRead_2","parameters":[{"name":"profileCode","in":"path","description":"送信者のプロフィールコード","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"既読完了","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/received/read-all":{"post":{"tags":["Like"],"summary":"すべてのいいねを既読にする","description":"未読のいいねをすべて既読にします","operationId":"markAllAsRead_2","responses":{"200":{"description":"既読完了","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseInteger"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/favorites/{profileCode}":{"post":{"tags":["Favorite"],"summary":"お気に入り追加","description":"指定したプロフィールをお気に入りに追加します","operationId":"addFavorite","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Favorite"],"summary":"お気に入り解除","description":"指定したプロフィールのお気に入りを解除します","operationId":"removeFavorite","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/email-verification/verify":{"post":{"tags":["email-verification-controller"],"operationId":"verifyEmail","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}}},"/api/v1/email-verification/resend":{"post":{"tags":["email-verification-controller"],"operationId":"resendVerificationEmail","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/email-verification/resend-by-email":{"post":{"tags":["email-verification-controller"],"operationId":"resendVerificationEmailByEmail","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/email-integration/welcome-email":{"post":{"tags":["Email Integration"],"summary":"ウェルカムメールデータ取得","description":"ユーザー登録完了時のウェルカムメール送信用データを取得します。\n\n**使用シナリオ:**\n1. ユーザー登録・認証プロセス完了\n2. 企業システムからウェルカムメールデータを取得\n3. 企業独自のメールテンプレートと組み合わせて送信\n\n**カスタマイズ可能項目:**\n- メール件名（企業ブランドに合わせて調整）\n- HTML本文（提供データをベースにカスタマイズ）\n- 送信者情報（企業ドメインから送信）\n","operationId":"getWelcomeEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeEmailRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEmailDataResponse"}}}}}}},"/api/v1/email-integration/verification-email":{"post":{"tags":["Email Integration"],"summary":"メール認証メールデータ取得","description":"ユーザー登録時のメール認証メール送信用データを取得します。\n\n**使用例:**\n1. ユーザーが企業サイトで新規登録\n2. 企業システムがこのAPIを呼び出してメールデータを取得\n3. 企業側メールシステムで認証メールを送信\n\n**注意事項:**\n- verificationTokenは企業側で生成・管理してください\n- トークンの有効期限管理も企業側の責任です\n- メール送信後は必要に応じてMSPlatformに送信完了を通知\n","operationId":"getVerificationEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationEmailRequest"}}},"required":true},"responses":{"200":{"description":"メールデータ取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEmailDataResponse"}}}},"500":{"description":"サーバーエラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEmailDataResponse"}}}},"400":{"description":"リクエストパラメーター不正","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEmailDataResponse"}}}},"403":{"description":"API連携型以外のサイト","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEmailDataResponse"}}}}}}},"/api/v1/email-integration/match-notification-email":{"post":{"tags":["Email Integration"],"summary":"マッチング通知メールデータ取得","description":"マッチング成立時の通知メール送信用データを取得します。\n\n**ビジネス価値:**\n- マッチング成立の即座な通知でユーザーエンゲージメント向上\n- 企業ブランドでの通知メール送信でブランド認知度向上\n- カスタマイズされたメッセージでユーザー体験の差別化\n\n**実装推奨事項:**\n1. マッチング成立後5分以内の送信推奨\n2. 企業ロゴ・カラーでのメールカスタマイズ\n3. モバイル最適化されたHTMLテンプレート使用\n","operationId":"getMatchNotificationEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchNotificationEmailRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEmailDataResponse"}}}}}}},"/api/v1/ekyc/webhook":{"post":{"tags":["eKYC"],"summary":"LIQUID eKYC Webhook受信","description":"LIQUID eKYCから本人確認結果を受信します。<br>・LIQUID eKYCの署名検証を行います<br>・JWT認証は不要です（Webhook専用エンドポイント）","operationId":"handleWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EkycWebhookRequest"}}},"required":true},"responses":{"404":{"description":"検証IDが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"400":{"description":"無効なWebhookデータ","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"200":{"description":"Webhook処理成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/ekyc/verify":{"post":{"tags":["eKYC"],"summary":"eKYC検証完了（開発用）","description":"開発環境でeKYC検証を手動で完了させます。<br>・本番環境では使用できません<br>・JWT認証が必要です","operationId":"verifyEkyc","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EkycVerifyRequest"}}},"required":true},"responses":{"404":{"description":"検証IDが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}},"403":{"description":"本番環境では使用不可","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}},"200":{"description":"検証完了成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}}}}},"/api/v1/ekyc/start":{"post":{"tags":["eKYC"],"summary":"eKYC開始","description":"LIQUID eKYC画面へのリダイレクトURLを取得します。<br>・JWT認証が必要です<br>・既にeKYC検証済みの場合はエラーを返します","operationId":"startEkycVerification","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EkycStartRequest"}}},"required":true},"responses":{"200":{"description":"eKYC開始成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStartResponse"}}}},"400":{"description":"既にeKYC検証済み","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStartResponse"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStartResponse"}}}}}}},"/api/v1/ekyc/send-url-email":{"post":{"tags":["eKYC"],"summary":"eKYCページURLをメール送信","description":"本人確認ページのURLを登録メールアドレスに送信します。<br>・PC版でアクセスした際に、スマートフォンで本人確認を行うためのメール送信<br>・JWT認証が必要です","operationId":"sendEkycUrlEmail","responses":{"500":{"description":"メール送信失敗","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"200":{"description":"メール送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/diary-favorites/{diaryId}":{"post":{"tags":["DiaryFavorite"],"summary":"日記お気に入り追加","description":"指定した日記をお気に入りに追加します","operationId":"addFavorite_1","parameters":[{"name":"diaryId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["DiaryFavorite"],"summary":"日記お気に入り解除","description":"指定した日記のお気に入りを解除します","operationId":"removeFavorite_1","parameters":[{"name":"diaryId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries":{"post":{"tags":["Diary"],"summary":"日記作成","description":"新しい日記を下書き状態で作成します（有料会員のみ）","operationId":"createDiary","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryCreateRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/images":{"post":{"tags":["Diary"],"summary":"日記画像アップロード","description":"日記に画像をアップロードします（最大10枚、3サイズリサイズ）","operationId":"uploadImage","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryImageInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/comments":{"post":{"tags":["Diary"],"summary":"コメント追加","description":"日記にコメントを追加します（eKYC必須）","operationId":"addComment","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryCommentRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryCommentResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/contact-form/user/send":{"post":{"tags":["Contact Form"],"summary":"ユーザーお問い合わせ送信","description":"True Connectionログインユーザーからのお問い合わせを受け付け、サポートチームにメール送信します。このエンドポイントは認証が必要です。","operationId":"sendUserContactForm","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserContactRequest"}}},"required":true},"responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"500":{"description":"サーバーエラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"400":{"description":"入力値エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"200":{"description":"送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/contact-form/send":{"post":{"tags":["Contact Form"],"summary":"お問い合わせ送信","description":"connecXionサービスサイトからのお問い合わせを受け付け、担当者にメール送信します。このエンドポイントは認証不要です。","operationId":"sendContactForm","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactFormRequest"}}},"required":true},"responses":{"500":{"description":"サーバーエラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"400":{"description":"入力値エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"200":{"description":"送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/contact-form/lp/send":{"post":{"tags":["Contact Form"],"summary":"LP用お問い合わせ送信","description":"True ConnectionのLPからのお問い合わせを受け付け、サポートチームにメール送信します。このエンドポイントは認証不要です（APIキー認証のみ）。","operationId":"sendLpContactForm","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LpContactRequest"}}},"required":true},"responses":{"500":{"description":"サーバーエラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"400":{"description":"入力値エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"200":{"description":"送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/blocks/{profileCode}":{"post":{"tags":["Block"],"summary":"ブロック","description":"指定したプロフィールをブロックします","operationId":"blockUser","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockRequest"}}}},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Block"],"summary":"ブロック解除","description":"指定したプロフィールのブロックを解除します","operationId":"unblockUser","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/auth/withdraw":{"post":{"tags":["Authentication"],"summary":"退会処理","description":"ログイン中のユーザーがアカウントを退会します。本人確認のため現在のパスワードを必須で受け取り、有料サブスク利用中の場合は ROBOT PAYMENT の自動課金も即時停止します。users.status を 'DELETED' に論理削除し、このユーザーの全 JWT を即座にブラックリスト登録します。","operationId":"withdraw","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawRequest"}}},"required":true},"responses":{"400":{"description":"課金停止失敗等","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"200":{"description":"退会成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"401":{"description":"パスワード不一致または未認証","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["Authentication"],"summary":"ユーザー登録（業態別動的トークン＋画像アップロード）","description":"新しいユーザーを登録します。<br>・APIキーは必須です<br>・メイン画像（mainImage）は必須です<br>・ぼかし強度（blurIntensity）は0-100の整数、必須（デフォルト50推奨）<br>・トークンの有効期限はAPIキーに紐づくサービスタイプにより動的に決定されます<br>※サービスタイプが既婚者向けサービスの場合、拡張パラメータ(serviceExtension)にMARRIEDのセットが必須です","operationId":"register","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["request"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/UserRegistrationRequest"},"mainImage":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"入力値エラー・画像アップロード失敗","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}},"409":{"description":"メールアドレス重複","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}},"201":{"description":"登録成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["Authentication"],"summary":"トークンリフレッシュ（Sliding Window方式）","description":"リフレッシュトークンを使用して新しいアクセストークンとリフレッシュトークンを取得します。Sliding Window方式でリフレッシュトークンの有効期限もリセットされ、サービスタイプ別の最新設定が適用されます。","operationId":"refreshToken","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}},"required":true},"responses":{"401":{"description":"無効なリフレッシュトークン","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}},"200":{"description":"リフレッシュ成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}},"400":{"description":"無効なAPIキー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}}}}},"/api/v1/auth/password/reset":{"post":{"tags":["Authentication"],"summary":"パスワードリセット実行","description":"メールで受け取ったトークンと新しいパスワードを使用してパスワードをリセットします。","operationId":"resetPassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetConfirmRequest"}}},"required":true},"responses":{"200":{"description":"パスワードリセット成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"400":{"description":"トークンが無効または期限切れ","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/auth/password/reset-request":{"post":{"tags":["Authentication"],"summary":"パスワードリセットリクエスト","description":"メールアドレスを指定してパスワードリセットをリクエストします。セキュリティのため、メールアドレスが登録されていない場合でも同じレスポンスを返します。","operationId":"requestPasswordReset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequest"}}},"required":true},"responses":{"200":{"description":"リクエスト受付完了","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["Authentication"],"summary":"ユーザーログアウト","description":"ユーザーのログアウト情報をサーバーに記録し、JWTトークンを即座に無効化します。","operationId":"logout","responses":{"200":{"description":"ログアウト・トークン無効化成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["Authentication"],"summary":"ユーザーログイン（業態別動的トークン）","description":"メールアドレスとパスワードでユーザー認証を行い、サービスタイプ別のJWTトークンを発行します。トークンの有効期限はAPIキーに紐づくサービスタイプにより動的に決定されます。APIキーは必須です。","operationId":"login","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"ログイン成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}},"400":{"description":"無効なAPIキー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}},"401":{"description":"認証失敗","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}}}}},"/api/v1/auth/email/change-request":{"post":{"tags":["Authentication"],"summary":"メールアドレス変更リクエスト","description":"新しいメールアドレスと現在のパスワードを指定してメールアドレス変更をリクエストします。新しいメールアドレスに確認メールが送信されます。","operationId":"requestEmailChange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailChangeRequest"}}},"required":true},"responses":{"200":{"description":"リクエスト受付完了","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"409":{"description":"メールアドレスが既に使用されています","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"400":{"description":"入力値エラー（パスワード不一致等）","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/auth/email/change-confirm":{"post":{"tags":["Authentication"],"summary":"メールアドレス変更確認","description":"メールで受け取ったトークンを使用してメールアドレス変更を確認・完了します。","operationId":"confirmEmailChange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailChangeConfirmRequest"}}},"required":true},"responses":{"200":{"description":"メールアドレス変更成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"409":{"description":"メールアドレスが既に使用されています","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}},"400":{"description":"トークンが無効または期限切れ","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/sites":{"get":{"tags":["site-controller"],"operationId":"getAllSites","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Site"}}}}}}},"post":{"tags":["site-controller"],"operationId":"createSite","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Site"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Site"}}}}}}},"/api/v1/admin/password-reset/request":{"post":{"tags":["admin-management-controller"],"summary":"パスワードリセット要求","description":"メアド送信でリセットリンクが届く","operationId":"requestPasswordReset_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPasswordResetRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/password-reset/confirm":{"post":{"tags":["admin-management-controller"],"summary":"パスワードリセット実行","operationId":"confirmPasswordReset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPasswordResetConfirmRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/invitations/accept":{"post":{"tags":["admin-management-controller"],"summary":"招待受諾","description":"トークン検証 + パスワード設定で管理者アカウントを作成","operationId":"acceptInvitation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminInvitationAcceptRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/ekyc/update-status":{"post":{"tags":["admin-controller"],"operationId":"updateEkycStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminEkycUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminEkycUpdateResponse"}}}}}}},"/api/v1/admin/cors/origins":{"post":{"tags":["allowed-origin-controller"],"operationId":"createAllowedOrigin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowedOriginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAllowedOrigin"}}}}}}},"/api/v1/admin/cors/clear-cache":{"post":{"tags":["allowed-origin-controller"],"operationId":"clearCorsCache","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/companies":{"get":{"tags":["company-controller"],"operationId":"getAllCompanies","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Company"}}}}}}},"post":{"tags":["company-controller"],"operationId":"createCompany","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Company"}}}}}}},"/api/v1/admin/cache/domain-mapping/clear":{"post":{"tags":["cache-management-controller"],"operationId":"clearDomainMappingCache","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/cache/clear-all":{"post":{"tags":["cache-management-controller"],"operationId":"clearAllCaches","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/cache/brand-config/clear/{siteId}":{"post":{"tags":["cache-management-controller"],"operationId":"clearBrandConfigCache","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/cache/brand-config/clear-all":{"post":{"tags":["cache-management-controller"],"operationId":"clearAllBrandConfigCache","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/auth/login":{"post":{"tags":["admin-controller"],"operationId":"adminLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAuthResponse"}}}}}}},"/api/v1/admin/announcements/individual":{"post":{"tags":["admin-announcement-controller"],"summary":"個別会員へお知らせ送信","description":"会員詳細画面から指定の会員にADMIN_NOTICE通知を作成する。履歴には記録しない。","operationId":"sendIndividual","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAnnouncementIndividualRequest"}}},"required":true},"responses":{"400":{"description":"入力値エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}},"403":{"description":"権限エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}},"200":{"description":"送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}}},"/api/v1/admin/announcements/broadcast":{"post":{"tags":["admin-announcement-controller"],"summary":"全体へのお知らせ送信","description":"指定サイトの会員に対して、プラン・性別フィルタに従ってADMIN_NOTICE通知を一括作成。履歴に記録される。","operationId":"sendBroadcast","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAnnouncementBroadcastRequest"}}},"required":true},"responses":{"400":{"description":"入力値エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}},"403":{"description":"権限エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}},"200":{"description":"送信成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}}},"/api/v1/admin/admins/{id}/deactivate":{"post":{"tags":["admin-management-controller"],"summary":"管理者を無効化","operationId":"deactivate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/admins/{id}/activate":{"post":{"tags":["admin-management-controller"],"summary":"管理者を有効化","operationId":"activate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/admins/invite":{"post":{"tags":["admin-management-controller"],"summary":"管理者招待送信","description":"招待メールを送信する","operationId":"invite","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminInvitationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/sites/{id}/status":{"patch":{"tags":["site-controller"],"operationId":"updateSiteStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"status","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/admin/sites/{id}/email-sending-method":{"get":{"tags":["site-controller"],"operationId":"getEmailSendingMethod","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","enum":["MSPLATFORM_MANAGED","API_INTEGRATION"]}}}}}},"patch":{"tags":["site-controller"],"operationId":"updateEmailSendingMethod","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"emailSendingMethod","in":"query","required":true,"schema":{"type":"string","enum":["MSPLATFORM_MANAGED","API_INTEGRATION"]}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/admin/cors/origins/{id}/status":{"patch":{"tags":["allowed-origin-controller"],"operationId":"updateAllowedOriginStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/admin/companies/{id}/status":{"patch":{"tags":["company-controller"],"operationId":"updateCompanyStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"status","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/admin/admins/{id}/capabilities":{"patch":{"tags":["admin-management-controller"],"summary":"STAFF権限フラグ更新","operationId":"updateCapabilities","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUpdateCapabilitiesRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/ekyc/callback":{"get":{"tags":["eKYC Callback"],"summary":"LIQUID eKYCコールバック受信","description":"LIQUID eKYCからのリダイレクトを受信し、フロントエンドに転送します。","operationId":"handleEkycCallback","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/api/v1/test/public":{"get":{"tags":["API Key Test"],"summary":"認証不要エンドポイント","description":"認証が不要なテスト用エンドポイント","operationId":"publicEndpoint","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/talkrooms":{"get":{"tags":["TalkRoom"],"summary":"トークルーム一覧取得","description":"ログインユーザーが参加しているトークルーム一覧を取得","operationId":"getTalkRooms","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListTalkRoom"}}}}}}},"/api/v1/talkrooms/{roomCode}":{"get":{"tags":["TalkRoom"],"summary":"トークルーム詳細取得","description":"指定トークルームの詳細情報を取得","operationId":"getTalkRoom","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseTalkRoom"}}}}}}},"/api/v1/talkrooms/{roomCode}/unread-count":{"get":{"tags":["TalkRoom"],"summary":"未読メッセージ数取得","description":"指定トークルームの未読メッセージ数を取得","operationId":"getUnreadCount","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseInteger"}}}}}}},"/api/v1/talkrooms/{roomCode}/partner/image":{"get":{"tags":["TalkRoom"],"summary":"トークパートナーのぼかし画像取得","description":"無料会員がトークパートナーのぼかし画像を取得します。自分が参加しているトークルームのみ取得可能です。相手のぼかし設定に関係なく、強制的にぼかし処理が適用されます。","operationId":"getPartnerBlurredImage","parameters":[{"name":"roomCode","in":"path","description":"トークルームコード","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","description":"画像サイズ","required":false,"schema":{"type":"string","default":"medium"},"example":"medium"}],"responses":{"404":{"description":"トークルームまたは画像が見つかりません","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"アクセス権限なし","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"画像取得成功","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/talkrooms/{roomCode}/participants":{"get":{"tags":["TalkRoom"],"summary":"参加者一覧取得","description":"トークルームの参加者一覧を取得","operationId":"getParticipants","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListTalkRoomParticipant"}}}}}}},"/api/v1/talkrooms/{roomCode}/messages/images/{filename}":{"get":{"tags":["TalkRoom"],"summary":"チャット画像取得","description":"トークルームに送信された画像を取得します。参加者のみアクセス可能です。","operationId":"getChatImage","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/talkrooms/unread/exists":{"get":{"tags":["TalkRoom"],"summary":"未読メッセージ存在確認","description":"いずれかのトークルームに未読メッセージが存在するか確認","operationId":"hasUnreadMessages","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}}}},"/api/v1/subscription/webhook":{"get":{"tags":["Subscription"],"summary":"ROBOT PAYMENT 決済結果通知 / 自動課金結果通知 受信","description":"ROBOT PAYMENT からのキックバック通知を受信します。<br>・初回登録・申込時（決済結果通知URL に設定）<br>・自動課金 1回目以降の課金時（自動課金結果通知URL に設定）<br>両方とも同じパラメータ形式（acid 含む）で送信される前提（acid 通知オプション ROBOT PAYMENT 側で申込済み）。<br>・JWT認証は不要です（Webhook専用エンドポイント）<br>・Content-Length > 0 の応答が必要です","operationId":"handleWebhook_1","parameters":[{"name":"gid","in":"query","required":false,"schema":{"type":"string"}},{"name":"rst","in":"query","required":false,"schema":{"type":"string"}},{"name":"cod","in":"query","required":false,"schema":{"type":"string"}},{"name":"acid","in":"query","required":false,"schema":{"type":"string"}},{"name":"am","in":"query","required":false,"schema":{"type":"string"}},{"name":"ec","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"404":{"description":"自動課金番号が見つかりません","content":{"*/*":{"schema":{"type":"string"}}}},"400":{"description":"無効な通知データ","content":{"*/*":{"schema":{"type":"string"}}}},"200":{"description":"通知処理成功","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/api/v1/subscription/status":{"get":{"tags":["Subscription"],"summary":"サブスクリプション状態確認","description":"現在のユーザーのサブスクリプション（課金）状態を取得します。","operationId":"getSubscriptionStatus","responses":{"404":{"description":"サブスクリプション状態が見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}},"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSubscriptionStatusResponse"}}}}}}},"/api/v1/subscription/plans":{"get":{"tags":["Subscription"],"summary":"プラン一覧取得","description":"現在のサイトで利用可能なサブスクリプションプラン一覧を取得します。","operationId":"getPlans","responses":{"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListSubscriptionPlanResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListSubscriptionPlanResponse"}}}}}}},"/api/v1/search":{"get":{"tags":["Search"],"summary":"ユーザー検索","description":"ログイン中のユーザーを除外し、直近ログイン順でユーザーを検索します。ページネーション対応。ご登録の業態によって、返却されるレスポンスが異なります。詳細はお問い合わせください。検索条件は会員種別により制限されます（無料会員：年齢・居住地のみ、有料会員：全項目）。","operationId":"searchProfiles","parameters":[{"name":"page","in":"query","description":"ページ番号（1から開始）","required":false,"schema":{"type":"integer","format":"int32","default":1},"example":1},{"name":"limit","in":"query","description":"1ページあたりの件数","required":false,"schema":{"type":"integer","format":"int32","default":20},"example":20},{"name":"sortOrder","in":"query","description":"ソート順","required":false,"schema":{"type":"string","default":"LATEST","enum":["LATEST","POPULAR","AGE","REGISTRATION"]},"example":"LATEST"},{"name":"criteria","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequest"}}],"responses":{"401":{"description":"JWT認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSearchResponse"}}}},"200":{"description":"検索成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSearchResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/reports/types":{"get":{"tags":["Report"],"summary":"通報タイプ一覧取得","description":"通報タイプの一覧を取得します","operationId":"getReportTypes","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListReportTypeResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/public/login-gate":{"get":{"tags":["public-status-controller"],"summary":"ログインゲートの状態を取得","description":"公開前はログイン不可。available-from 以降はログイン可能。","operationId":"getLoginGate","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseLoginGateStatus"}}}}}}},"/api/v1/profiles":{"get":{"tags":["Profile"],"summary":"プロフィール一覧取得","description":"自分以外のユーザーのプロフィール一覧を取得します","operationId":"getProfiles","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListUserInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/{profileCode}":{"get":{"tags":["Profile"],"summary":"プロフィール詳細取得","description":"指定されたプロフィール詳細情報を取得します。JWT認証とAPIキーによる認証が必要です。","operationId":"getProfileDetail","parameters":[{"name":"profileCode","in":"path","description":"プロフィールコード","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"プロフィールが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}},"401":{"description":"JWT認証またはAPIキー認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileDetailResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/{profileCode}/profile-multi-images":{"get":{"tags":["Profile Multi Image"],"summary":"他ユーザーの全画像取得","description":"指定されたプロフィールコードのユーザーの全画像（メイン+サブ）を取得します。表示順序でソートされています。","operationId":"getAllImagesByProfileCode","parameters":[{"name":"profileCode","in":"path","description":"プロフィールコード","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"プロフィールが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListProfileImageResponse"}}}},"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListProfileImageResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"画像一覧を取得しました","data":[{"id":1,"imageType":"MAIN","displayOrder":0,"filePath":"/uploads/{profileCode}/profile-images/abc123.jpg"},{"id":2,"imageType":"SUB","displayOrder":1,"filePath":"/uploads/{profileCode}/profile-images/xyz789.jpg"}]}}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/{profileCode}/profile-multi-images/{filename}":{"get":{"tags":["Profile Multi Image"],"summary":"プロフィール画像ファイル取得","description":"指定されたプロフィールコードとファイル名から画像を取得します。ローカル環境ではBlob形式、AWS環境ではCDN URLを返します。サイズパラメータでsmall(200x200), medium(400x400), large(800x800)を指定可能です。デフォルト: medium","operationId":"getProfileImageByFilename","parameters":[{"name":"profileCode","in":"path","description":"プロフィールコード","required":true,"schema":{"type":"string"}},{"name":"filename","in":"path","description":"ファイル名（例: 086a3895ac0a4cd7_5374800b300f43b1_large.jpg）","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","description":"画像サイズ（small/medium/large）","required":false,"schema":{"type":"string","default":"medium"}}],"responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"画像が見つかりません","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"画像取得成功","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/{profileCode}/profile-multi-images/sub":{"get":{"tags":["Profile Multi Image"],"summary":"他ユーザーのサブ画像一覧取得","description":"指定されたプロフィールコードのユーザーのサブ画像一覧を取得します。表示順序でソートされています。","operationId":"getSubImagesByProfileCode","parameters":[{"name":"profileCode","in":"path","description":"プロフィールコード","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListProfileImageResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"サブ画像一覧を取得しました","data":[{"id":2,"imageType":"SUB","displayOrder":1,"filePath":"/uploads/{profileCode}/profile-images/xyz789.jpg"},{"id":3,"imageType":"SUB","displayOrder":2,"filePath":"/uploads/{profileCode}/profile-images/uvw012.jpg"}]}}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/{profileCode}/profile-multi-images/main":{"get":{"tags":["Profile Multi Image"],"summary":"他ユーザーのメイン画像取得（ぼかし適用済み）","description":"指定されたプロフィールコードのユーザーのメイン画像（ぼかし適用済み）を取得します。","operationId":"getMainImageByProfileCode","parameters":[{"name":"profileCode","in":"path","description":"プロフィールコード","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","description":"画像サイズ（small/medium/large）","required":false,"schema":{"type":"string","default":"medium"}}],"responses":{"404":{"description":"メイン画像が登録されていません","content":{"*/*":{"schema":{"type":"object"}}}},"401":{"description":"認証エラー","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images":{"get":{"tags":["Profile Multi Image"],"summary":"全画像取得","description":"ユーザーの全画像（メイン+サブ）を取得します。表示順序でソートされています。","operationId":"getAllImages","responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListProfileImageResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"画像一覧を取得しました","data":[{"id":1,"imageType":"MAIN","displayOrder":0,"filePath":"/uploads/{profileCode}/profile-images/abc123.jpg"},{"id":2,"imageType":"SUB","displayOrder":1,"filePath":"/uploads/{profileCode}/profile-images/xyz789.jpg"}]}}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/sub/{filename}/original":{"get":{"tags":["Profile Multi Image"],"summary":"サブ画像オリジナル取得（編集専用）","description":"サブ画像のオリジナル（ぼかしなし）を取得します。レスポンスヘッダー X-Blur-Intensity に現在のぼかし強度が含まれます。","operationId":"getSubImageOriginal","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"string","default":"medium"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profiles/me/profile-multi-images/main/original":{"get":{"tags":["Profile Multi Image"],"summary":"メイン画像オリジナル取得（編集専用）","description":"ユーザーのメイン画像（オリジナル・ぼかしなし）を取得します。編集画面でぼかし調整するために使用されます。レスポンスヘッダー X-Blur-Intensity に現在のぼかし強度が含まれます。","operationId":"getMainImageOriginal","parameters":[{"name":"size","in":"query","description":"画像サイズ（small/medium/large）","required":false,"schema":{"type":"string","default":"medium"}}],"responses":{"404":{"description":"メイン画像が登録されていません","content":{"*/*":{"schema":{"type":"object"}}}},"401":{"description":"認証エラー","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"取得成功（X-Blur-Intensity ヘッダーにぼかし強度を含む）","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/profile-options":{"get":{"tags":["profile-options-controller"],"operationId":"getProfileOptions","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseProfileOptionsResponse"}}}}}}},"/api/v1/notifications":{"get":{"tags":["notification-controller"],"operationId":"getNotifications","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseNotificationListResponse"}}}}}}},"/api/v1/notifications/unread-count":{"get":{"tags":["notification-controller"],"operationId":"getUnreadCount_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUnreadCountResponse"}}}}}}},"/api/v1/matches":{"get":{"tags":["Match"],"summary":"マッチング履歴取得","description":"現在のユーザーのマッチング履歴を取得します","operationId":"getMatches","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListMatchInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/matches/{matchId}/image":{"get":{"tags":["Match"],"summary":"マッチ相手のぼかし画像取得","description":"無料会員がマッチ相手のぼかし画像を取得します。自分が参加しているマッチのみ取得可能です。相手のぼかし設定に関係なく、強制的にぼかし処理が適用されます。","operationId":"getMatchBlurredImage","parameters":[{"name":"matchId","in":"path","description":"マッチID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","description":"画像サイズ","required":false,"schema":{"type":"string","default":"medium"},"example":"medium"}],"responses":{"403":{"description":"アクセス権限なし","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"マッチまたは画像が見つかりません","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"画像取得成功","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/matches/unseen/count":{"get":{"tags":["Match"],"summary":"未確認マッチ数取得","description":"未確認のマッチングの数を取得します（トークメニューのバッジ表示用）","operationId":"getUnseenMatchCount","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseInteger"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/married-profile-options":{"get":{"tags":["married-profile-options-controller"],"operationId":"getMarriedProfileOptions","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMarriedProfileOptionsResponse"}}}}}}},"/api/v1/likes/stats/sent":{"get":{"tags":["Like"],"summary":"送信いいね数","description":"自分が送信したいいねの総数を取得します","operationId":"getSentLikeCount","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseInteger"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/stats/received":{"get":{"tags":["Like"],"summary":"受信いいね数","description":"自分が受信したいいねの総数を取得します","operationId":"getReceivedLikeCount","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseInteger"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/sent":{"get":{"tags":["Like"],"summary":"送信したいいね一覧","description":"自分が送信したいいねの一覧を取得します","operationId":"getSentLikes","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListLikeInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/received":{"get":{"tags":["Like"],"summary":"受信したいいね一覧","description":"自分が受信したいいねの一覧を取得します","operationId":"getReceivedLikes","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListLikeInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/received/{likeId}/image":{"get":{"tags":["Like"],"summary":"受信いいねのぼかし画像取得","description":"無料会員が受信いいねの相手のぼかし画像を取得します。自分が受信したいいねのみ取得可能です。相手のぼかし設定に関係なく、強制的にぼかし処理が適用されます。","operationId":"getReceivedLikeBlurredImage","parameters":[{"name":"likeId","in":"path","description":"いいねID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","description":"画像サイズ","required":false,"schema":{"type":"string","default":"medium"},"example":"medium"}],"responses":{"403":{"description":"アクセス権限なし","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"いいねまたは画像が見つかりません","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"画像取得成功","content":{"*/*":{"schema":{"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/received/unread/exists":{"get":{"tags":["Like"],"summary":"未読いいね存在確認","description":"未読のいいねが存在するかを確認します（バッジ表示用）","operationId":"hasUnreadLikes","responses":{"200":{"description":"確認成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/purchase/packages":{"get":{"tags":["Like Purchase"],"summary":"購入可能パッケージ一覧","description":"購入可能ないいねパッケージの一覧を取得します","operationId":"getPackages","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListSubscriptionPlan"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/purchase/history":{"get":{"tags":["Like Purchase"],"summary":"購入履歴取得","description":"いいねの購入履歴を取得します","operationId":"getPurchaseHistory","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListPurchaseHistoryItem"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/purchase/details":{"get":{"tags":["Like Purchase"],"summary":"いいね有効期限確認","description":"有効ないいねの内訳と有効期限を取得します","operationId":"getLikeDetails","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseLikeDetailsResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/purchase/balance":{"get":{"tags":["Like Purchase"],"summary":"いいね残高取得","description":"現在のいいね残高を取得します","operationId":"getBalance","responses":{"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBalanceResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/mutual/{profileId}":{"get":{"tags":["Like"],"summary":"相互いいね確認","description":"指定したプロフィールとの相互いいね状態を確認します","operationId":"checkMutualLike","parameters":[{"name":"profileId","in":"path","description":"確認対象のプロフィールID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"確認成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/likes/check/{profileId}":{"get":{"tags":["Like"],"summary":"いいね状態確認","description":"指定したプロフィールにいいねしているかを確認します","operationId":"checkLikeStatus","parameters":[{"name":"profileId","in":"path","description":"確認対象のプロフィールID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"確認成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/info":{"get":{"tags":["Health"],"summary":"アプリケーション情報","description":"アプリケーションの基本情報を取得します","operationId":"info","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}}},"/api/v1/health":{"get":{"tags":["Health"],"summary":"ヘルスチェック","description":"システムの稼働状況を確認します","operationId":"health","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}}},"/api/v1/footprints/sent":{"get":{"tags":["足あと"],"summary":"自分からの足あと一覧取得","description":"自分が閲覧したプロフィールの一覧を取得します","operationId":"getSentFootprints","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseFootprintListResponse"}}}}}}},"/api/v1/footprints/received":{"get":{"tags":["足あと"],"summary":"相手からの足あと一覧取得","description":"自分のプロフィールを閲覧した人の一覧を取得します","operationId":"getReceivedFootprints","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseFootprintListResponse"}}}}}}},"/api/v1/favorites":{"get":{"tags":["Favorite"],"summary":"お気に入り一覧取得","description":"お気に入りに追加したプロフィール一覧を取得します","operationId":"getFavorites","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListFavoriteInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/favorites/check/{profileCode}":{"get":{"tags":["Favorite"],"summary":"お気に入りチェック","description":"指定したプロフィールがお気に入りかどうかをチェックします","operationId":"checkFavorite","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/email-integration/sending-method":{"get":{"tags":["Email Integration"],"summary":"サイトのメール送信方式取得","description":"現在のサイトに設定されているメール送信方式を取得します。\n\n**用途例:**\n- 企業側システムでの処理分岐判定\n- API連携可否の事前確認\n- 管理画面での現在設定表示\n\n**返却値:**\n- MSPLATFORM_MANAGED: MSPlatform統合型\n- API_INTEGRATION: API連携型\n","operationId":"getSendingMethod","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseSendingMethodResponse"}}}}}}},"/api/v1/ekyc/status":{"get":{"tags":["eKYC"],"summary":"eKYC状態確認","description":"現在のユーザーのeKYC（本人確認）状態を取得します。","operationId":"getEkycStatus","responses":{"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}},"404":{"description":"eKYC状態が見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseEkycStatusResponse"}}}}}}},"/api/v1/diary-favorites":{"get":{"tags":["DiaryFavorite"],"summary":"お気に入り日記一覧取得","description":"お気に入りに追加した日記一覧を取得します","operationId":"getFavoriteDiaries","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListDiaryFavoriteInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diary-favorites/check/{diaryId}":{"get":{"tags":["DiaryFavorite"],"summary":"日記お気に入りチェック","description":"指定した日記がお気に入りかどうかをチェックします","operationId":"checkFavorite_1","parameters":[{"name":"diaryId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/images/{filename}":{"get":{"tags":["Diary"],"summary":"日記画像配信","description":"日記の画像を配信します（sizeパラメータでサイズ指定可能）","operationId":"getDiaryImage","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"filename","in":"path","description":"ファイル名","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","description":"画像サイズ（small/medium/large）","required":false,"schema":{"type":"string","default":"medium"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/unread-comments":{"get":{"tags":["Diary"],"summary":"未読コメントチェック","description":"自分の日記に未読コメントが存在するかチェックします","operationId":"checkUnreadComments","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/profile/{profileCode}":{"get":{"tags":["Diary"],"summary":"ユーザーの日記一覧","description":"特定ユーザーの公開日記一覧を取得します","operationId":"getUserDiaries","parameters":[{"name":"profileCode","in":"path","description":"プロフィールコード","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListDiaryFeedItem"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/me":{"get":{"tags":["Diary"],"summary":"自分の日記一覧","description":"自分の日記一覧を全状態で取得します","operationId":"getMyDiaries","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListDiaryResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/feed":{"get":{"tags":["Diary"],"summary":"日記フィード","description":"異性の公開日記一覧を取得します（ページネーション）","operationId":"getDiaryFeed","parameters":[{"name":"page","in":"query","description":"ページ番号（0始まり）","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryFeedResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/feed/{diaryId}":{"get":{"tags":["Diary"],"summary":"日記詳細","description":"公開日記の詳細情報とコメントを取得します","operationId":"getDiaryDetail","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseDiaryDetailResponse"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/bonus/check":{"get":{"tags":["Bonus"],"summary":"ボーナスチェック・付与","description":"ユーザーに付与可能なボーナスをチェックし、付与します。デイリーログインボーナス（いいね10回）などが対象です。同日中に複数回呼び出しても重複付与されません。","operationId":"checkBonuses","responses":{"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBonusResponse"}}}},"200":{"description":"チェック成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBonusResponse"}}}}}}},"/api/v1/blocks":{"get":{"tags":["Block"],"summary":"ブロック一覧取得","description":"ブロックしているプロフィール一覧を取得します","operationId":"getBlockedUsers","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListBlockInfo"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/blocks/check/{profileCode}":{"get":{"tags":["Block"],"summary":"ブロックチェック","description":"指定したプロフィールをブロックしているかどうかをチェックします","operationId":"checkBlocked","parameters":[{"name":"profileCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseBoolean"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/auth/me":{"get":{"tags":["Authentication"],"summary":"現在のユーザー情報取得","description":"JWT認証されているユーザーの詳細情報を取得します。","operationId":"getCurrentUser","responses":{"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserInfo"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserInfo"}}}}}}},"/api/v1/auth/me/premium-status":{"get":{"tags":["Authentication"],"summary":"プレミアム会員ステータス取得","description":"現在のユーザーがプレミアム会員かどうかを取得します。女性会員は無条件でプレミアム会員となります。男性会員はサブスクリプションがACTIVEの場合のみプレミアム会員となります。","operationId":"getPremiumStatus","responses":{"401":{"description":"認証が必要です","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringBoolean"}}}},"200":{"description":"取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringBoolean"}}}}}}},"/api/v1/analytics/summary":{"get":{"tags":["Analytics"],"summary":"分析サマリー","description":"ユーザーの主要な分析指標のサマリーを取得します","operationId":"getUserAnalyticsSummary","responses":{"200":{"description":"サマリー取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserAnalyticsSummary"}}}}},"security":[{"Bearer Authentication":[]}]}},"/api/v1/analytics/profile":{"get":{"tags":["Analytics"],"summary":"プロフィール分析データ取得","description":"現在のユーザーの詳細な行動分析データを取得します","operationId":"getUserProfileAnalytics","responses":{"404":{"description":"プロフィールが見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserAnalytics"}}}},"200":{"description":"分析データ取得成功","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUserAnalytics"}}}}},"security":[{"Bearer Authentication":[]}]}},"/api/v1/admin/users":{"get":{"tags":["admin-controller"],"operationId":"getUsers","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseObject"}}}}}}},"/api/v1/admin/sites/company/{companyId}":{"get":{"tags":["site-controller"],"operationId":"getSitesByCompany","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Site"}}}}}}}},"/api/v1/admin/sites/active":{"get":{"tags":["site-controller"],"operationId":"getActiveSites","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Site"}}}}}}}},"/api/v1/admin/revenue/transactions":{"get":{"tags":["admin-revenue-controller"],"summary":"課金一覧","description":"種別・プラン・年月でフィルタ可能な課金一覧。新しい順。","operationId":"getTransactions","parameters":[{"name":"siteId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"productType","in":"query","required":false,"schema":{"type":"string"}},{"name":"planId","in":"query","required":false,"schema":{"type":"string"}},{"name":"yearMonth","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseRevenueTransactionListResponse"}}}}}}},"/api/v1/admin/revenue/monthly":{"get":{"tags":["admin-revenue-controller"],"summary":"月次売上集計（棒グラフ用）","description":"サブスク／いいねパッケージを内訳とした月次売上を返す","operationId":"getMonthly","parameters":[{"name":"siteId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"from","in":"query","required":false,"schema":{"type":"string"}},{"name":"to","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMonthlyRevenueResponse"}}}}}}},"/api/v1/admin/revenue/by-plan":{"get":{"tags":["admin-revenue-controller"],"summary":"プラン別売上集計（円グラフ用）","operationId":"getByPlan","parameters":[{"name":"siteId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"from","in":"query","required":false,"schema":{"type":"string"}},{"name":"to","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponsePlanRevenueResponse"}}}}}}},"/api/v1/admin/members":{"get":{"tags":["admin-controller"],"operationId":"getMembers","parameters":[{"name":"siteId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"ekycStatus","in":"query","required":false,"schema":{"type":"string"}},{"name":"plan","in":"query","required":false,"schema":{"type":"string"}},{"name":"gender","in":"query","required":false,"schema":{"type":"string"}},{"name":"email","in":"query","required":false,"schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"applicantId","in":"query","required":false,"schema":{"type":"string"}},{"name":"sortField","in":"query","required":false,"schema":{"type":"string"}},{"name":"sortOrder","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminMemberListResponse"}}}}}}},"/api/v1/admin/members/{userId}":{"get":{"tags":["admin-controller"],"operationId":"getMemberDetail","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"siteId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminMemberDetail"}}}}}}},"/api/v1/admin/members/{userId}/talkrooms":{"get":{"tags":["admin-message-controller"],"operationId":"listTalkRooms","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminTalkRoomListResponse"}}}}}}},"/api/v1/admin/members/{userId}/talkrooms/{roomCode}/messages":{"get":{"tags":["admin-message-controller"],"operationId":"getThread","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminMessageThreadResponse"}}}}}}},"/api/v1/admin/members/{userId}/notifications":{"get":{"tags":["admin-controller"],"operationId":"getMemberNotifications","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"siteId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminMemberNotificationHistoryResponse"}}}}}}},"/api/v1/admin/members/{userId}/images":{"get":{"tags":["admin-profile-image-controller"],"operationId":"listImages","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminProfileImageListResponse"}}}}}}},"/api/v1/admin/members/{userId}/images/{imageId}":{"get":{"tags":["admin-profile-image-controller"],"operationId":"getImage","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"imageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"variant","in":"query","required":false,"schema":{"type":"string","default":"blurred"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}}}}},"/api/v1/admin/me":{"get":{"tags":["admin-controller"],"operationId":"getCurrentAdmin","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseObject"}}}}}}},"/api/v1/admin/invitations/verify":{"get":{"tags":["admin-management-controller"],"summary":"招待トークン検証","description":"受諾ページの初期表示用","operationId":"verifyInvitation","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminInvitationVerifyResponse"}}}}}}},"/api/v1/admin/dashboard":{"get":{"tags":["admin-controller"],"operationId":"getDashboard","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseObject"}}}}}}},"/api/v1/admin/cors/sites/{siteId}/origins":{"get":{"tags":["allowed-origin-controller"],"operationId":"getAllowedOriginsBySiteId","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListAllowedOrigin"}}}}}}},"/api/v1/admin/cors/current-patterns":{"get":{"tags":["allowed-origin-controller"],"operationId":"getCurrentCorsPatterns","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseListString"}}}}}}},"/api/v1/admin/cors/check-origin":{"get":{"tags":["allowed-origin-controller"],"operationId":"checkOrigin","parameters":[{"name":"origin","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseMapStringObject"}}}}}}},"/api/v1/admin/companies/active":{"get":{"tags":["company-controller"],"operationId":"getActiveCompanies","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Company"}}}}}}}},"/api/v1/admin/cache/status":{"get":{"tags":["cache-management-controller"],"operationId":"getCacheStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseString"}}}}}}},"/api/v1/admin/announcements":{"get":{"tags":["admin-announcement-controller"],"summary":"お知らせ送信履歴一覧","operationId":"getHistory","parameters":[{"name":"siteId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminAnnouncementListResponse"}}}}}}},"/api/v1/admin/admins":{"get":{"tags":["admin-management-controller"],"summary":"管理者一覧","description":"権限スコープ内の管理者を取得","operationId":"list","parameters":[{"name":"siteId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"role","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseAdminUserListResponse"}}}}}}},"/api/v1/talkrooms/{roomCode}/leave":{"delete":{"tags":["TalkRoom"],"summary":"トークルーム退出","description":"指定トークルームから退出","operationId":"leaveTalkRoom","parameters":[{"name":"roomCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/profiles/me/profile-multi-images/{filename}":{"delete":{"tags":["Profile Multi Image"],"summary":"画像削除","description":"指定されたファイル名の画像を削除します。ストレージとデータベースから完全に削除されます。","operationId":"deleteImage","parameters":[{"name":"filename","in":"path","description":"削除する画像のファイル名","required":true,"schema":{"type":"string"},"example":"086a3895ac0a4cd7_5374800b300f43b1.jpg"}],"responses":{"401":{"description":"認証エラー","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}},"200":{"description":"削除成功","content":{"*/*":{"schema":{"type":"string","example":{"success":true,"message":"画像が削除されました","data":null}}}}},"404":{"description":"画像が見つかりません","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/diaries/{diaryId}/images/{imageId}":{"delete":{"tags":["Diary"],"summary":"日記画像削除","description":"日記の画像を削除します","operationId":"deleteImage_1","parameters":[{"name":"diaryId","in":"path","description":"日記ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"imageId","in":"path","description":"画像ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}},"security":[{"bearerAuth":[]}]}}},"components":{"schemas":{"UserSettingsRequest":{"type":"object","properties":{"emailLikeNotification":{"type":"boolean"},"emailMatchNotification":{"type":"boolean"},"emailMessageNotification":{"type":"boolean"},"emailAdminNotification":{"type":"boolean"},"emailDiaryCommentNotification":{"type":"boolean"},"accountHidden":{"type":"boolean"}}},"ApiResponseUserSettingsResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserSettingsResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"UserSettingsResponse":{"type":"object","properties":{"emailLikeNotification":{"type":"boolean"},"emailMatchNotification":{"type":"boolean"},"emailMessageNotification":{"type":"boolean"},"emailAdminNotification":{"type":"boolean"},"emailDiaryCommentNotification":{"type":"boolean"},"accountHidden":{"type":"boolean"}}},"MarriedOptionsUpdateRequest":{"type":"object","properties":{"purposes":{"type":"array","items":{"type":"string"}},"maritalStatus":{"type":"string"},"bodyType":{"type":"string"},"occupation":{"type":"string"},"annualIncome":{"type":"string"},"alcoholConsumption":{"type":"string"},"childrenStatus":{"type":"string"},"livingSituation":{"type":"string"},"preferences":{"type":"string"},"familyRelationshipContinuation":{"type":"string"},"personalityTraits":{"type":"array","items":{"type":"string"}},"hobbies":{"type":"array","items":{"type":"string"}},"smokingHabit":{"type":"string"},"preferredDays":{"type":"array","items":{"type":"string"}},"preferredTimes":{"type":"array","items":{"type":"string"}},"meetingPreference":{"type":"string"},"firstDateCost":{"type":"string"},"preferredBodyTypes":{"type":"array","items":{"type":"string"}},"preferredPersonalities":{"type":"array","items":{"type":"string"}}}},"ProfileUpdateRequest":{"type":"object","properties":{"nickname":{"type":"string"},"birthDate":{"type":"string","format":"date"},"gender":{"type":"string"},"bio":{"type":"string"},"comment":{"type":"string"},"residencePrefecture":{"type":"string"},"birthplacePrefecture":{"type":"string"},"educationLevel":{"type":"string"},"heightCm":{"type":"integer","format":"int32"},"bodyType":{"type":"string"},"bloodType":{"type":"string"},"personalityType":{"type":"string"},"marriedOptions":{"$ref":"#/components/schemas/MarriedOptionsUpdateRequest"}}},"ApiResponseProfileDetailResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ProfileDetailResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"CodeDisplayInfo":{"type":"object","properties":{"code":{"type":"string","description":"コード値","example":"TOKYO"},"displayName":{"type":"string","description":"表示名","example":"東京都"}},"description":"コードと表示名の情報"},"MarriedOptions":{"type":"object","properties":{"occupation":{"$ref":"#/components/schemas/CodeDisplayInfo"},"maritalStatus":{"$ref":"#/components/schemas/CodeDisplayInfo"},"purposes":{"type":"array","description":"目的","example":"友達作り","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}},"preferences":{"type":"string","description":"好み・希望","example":"同世代の方と交流したい"},"alcoholConsumption":{"$ref":"#/components/schemas/CodeDisplayInfo"},"relationshipStatus":{"$ref":"#/components/schemas/CodeDisplayInfo"},"livingSituation":{"$ref":"#/components/schemas/CodeDisplayInfo"},"childrenStatus":{"$ref":"#/components/schemas/CodeDisplayInfo"},"bodyType":{"$ref":"#/components/schemas/CodeDisplayInfo"},"annualIncome":{"$ref":"#/components/schemas/CodeDisplayInfo"},"smokingHabit":{"$ref":"#/components/schemas/CodeDisplayInfo"},"familyRelationshipContinuation":{"$ref":"#/components/schemas/CodeDisplayInfo"},"meetingPreference":{"$ref":"#/components/schemas/CodeDisplayInfo"},"firstDateCost":{"$ref":"#/components/schemas/CodeDisplayInfo"},"personalityTraits":{"type":"array","description":"性格（複数選択）","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}},"hobbies":{"type":"array","description":"趣味（複数選択）","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}},"preferredDays":{"type":"array","description":"希望の曜日（複数選択）","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}},"preferredTimes":{"type":"array","description":"希望の時間帯（複数選択）","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}},"preferredBodyTypes":{"type":"array","description":"好みの体型（複数選択）","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}},"preferredPersonalities":{"type":"array","description":"好みの性格（複数選択）","items":{"$ref":"#/components/schemas/CodeDisplayInfo"}}},"description":"既婚者向け拡張オプション"},"ProfileDetailResponse":{"type":"object","properties":{"profileCode":{"type":"string","description":"プロフィールコード（外部ID）","example":"ABCD1234EFGH5678"},"nickname":{"type":"string","description":"ニックネーム","example":"田中太郎"},"birthDate":{"type":"string","description":"生年月日","format":"date","example":"1990-05-15"},"gender":{"type":"string","description":"性別","example":"MALE"},"bio":{"type":"string","description":"自己紹介","example":"よろしくお願いします"},"comment":{"type":"string","description":"コメント","example":"趣味は映画鑑賞です"},"residencePrefecture":{"$ref":"#/components/schemas/CodeDisplayInfo"},"birthplacePrefecture":{"$ref":"#/components/schemas/CodeDisplayInfo"},"educationLevel":{"$ref":"#/components/schemas/CodeDisplayInfo"},"heightCm":{"type":"integer","description":"身長（cm）","format":"int32","example":170},"bloodType":{"$ref":"#/components/schemas/CodeDisplayInfo"},"personalityType":{"$ref":"#/components/schemas/CodeDisplayInfo"},"isEkycVerified":{"type":"boolean","description":"本人確認済みフラグ"},"marriedOptions":{"$ref":"#/components/schemas/MarriedOptions"}},"description":"プロフィール詳細レスポンス"},"ApiResponseProfileImageResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ProfileImageResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ProfileImageResponse":{"type":"object","properties":{"imageType":{"type":"string","description":"画像タイプ","example":"MAIN","enum":["MAIN","SUB"]},"displayOrder":{"type":"integer","description":"表示順序（0:メイン, 1以降:サブ画像）","format":"int32","example":0},"imageUrl":{"type":"string","description":"画像URL","example":"https://msplatform-dev-bucket-images.s3.amazonaws.com/uploads/ABCD1234/profile-images/abc123.jpg"},"fileSize":{"type":"integer","description":"ファイルサイズ（バイト）","format":"int64","example":1024000},"blurIntensity":{"type":"integer","description":"ぼかし強度（0-100）","format":"int32","example":0},"createdAt":{"type":"string","description":"作成日時","format":"date-time"}},"description":"プロフィール画像レスポンス"},"ReorderRequest":{"type":"object","properties":{"order":{"type":"array","items":{"type":"string"}}}},"ApiResponseVoid":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"object"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryUpdateRequest":{"type":"object","properties":{"title":{"maxLength":100,"minLength":0,"type":"string"},"body":{"type":"string"},"visibility":{"type":"string","enum":["PUBLIC","SAME_GENDER","OPPOSITE_GENDER","MATCHED_ONLY","PRIVATE"]}}},"ApiResponseDiaryResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/DiaryResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryCommentInfo":{"type":"object","properties":{"commentId":{"type":"integer","format":"int64"},"nickname":{"type":"string"},"age":{"type":"integer","format":"int32"},"body":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"DiaryImageInfo":{"type":"object","properties":{"imageId":{"type":"integer","format":"int64"},"displayOrder":{"type":"integer","format":"int32"},"filePath":{"type":"string"}}},"DiaryResponse":{"type":"object","properties":{"diaryId":{"type":"integer","format":"int64"},"title":{"type":"string"},"body":{"type":"string"},"status":{"type":"string"},"visibility":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"images":{"type":"array","items":{"$ref":"#/components/schemas/DiaryImageInfo"}},"commentCount":{"type":"integer","format":"int32"},"hasUnreadComments":{"type":"boolean"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/DiaryCommentInfo"}}}},"DiaryPublishRequest":{"type":"object","properties":{"visibility":{"type":"string","enum":["PUBLIC","SAME_GENDER","OPPOSITE_GENDER","MATCHED_ONLY","PRIVATE"]}}},"DiaryImageReorderRequest":{"required":["imageIds"],"type":"object","properties":{"imageIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"DiaryCommentRequest":{"required":["body"],"type":"object","properties":{"body":{"type":"string"}}},"ApiResponseDiaryCommentResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/DiaryCommentResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryCommentResponse":{"type":"object","properties":{"commentId":{"type":"integer","format":"int64"},"commenterProfileCode":{"type":"string"},"nickname":{"type":"string"},"age":{"type":"integer","format":"int32"},"commenterGender":{"type":"string"},"ekycVerified":{"type":"boolean"},"body":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"own":{"type":"boolean"}}},"ChangePasswordRequest":{"required":["currentPassword","newPassword"],"type":"object","properties":{"currentPassword":{"type":"string"},"newPassword":{"maxLength":2147483647,"minLength":8,"type":"string"}}},"ApiResponseString":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"Company":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"companyCode":{"type":"string"},"companyName":{"type":"string"},"contactName":{"type":"string"},"contactPhone":{"type":"string"},"contactEmail":{"type":"string"},"registrationNumber":{"type":"string"},"businessType":{"type":"string"},"address":{"type":"string"},"description":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"integer","format":"int64"},"updatedAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"integer","format":"int64"}}},"Site":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"siteCode":{"type":"string"},"companyId":{"type":"integer","format":"int64"},"siteName":{"type":"string"},"siteUrl":{"type":"string"},"serviceType":{"type":"string","enum":["ENCOUNTER","EDUCATION","SENIOR","GENERAL","MARRIED","ADMIN"]},"businessModel":{"type":"string"},"description":{"type":"string"},"launchDate":{"type":"string","format":"date"},"monthlyUsers":{"type":"integer","format":"int32"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"integer","format":"int64"},"updatedAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"integer","format":"int64"},"brandName":{"type":"string"},"domain":{"type":"string"},"emailFrom":{"type":"string"},"emailSupport":{"type":"string"},"emailReplyTo":{"type":"string"},"frontendUrl":{"type":"string"},"adminUrl":{"type":"string"},"logoUrl":{"type":"string"},"primaryColor":{"type":"string"},"secondaryColor":{"type":"string"},"fontFamily":{"type":"string"},"emailSendingMethod":{"type":"string","enum":["MSPLATFORM_MANAGED","API_INTEGRATION"]},"company":{"$ref":"#/components/schemas/Company"}}},"AllowedOriginRequest":{"required":["originPattern","siteId"],"type":"object","properties":{"siteId":{"type":"integer","format":"int64"},"originPattern":{"pattern":"^(https?://[^/]+|\\*\\.[^/]+|http://localhost:\\*)$","type":"string"},"description":{"type":"string"},"environment":{"pattern":"^(DEVELOPMENT|STAGING|PRODUCTION)$","type":"string"},"status":{"pattern":"^(ACTIVE|INACTIVE)$","type":"string"}}},"AllowedOrigin":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"siteId":{"type":"integer","format":"int64"},"originPattern":{"type":"string"},"description":{"type":"string"},"environment":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"integer","format":"int64"},"updatedAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"integer","format":"int64"}}},"ApiResponseAllowedOrigin":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AllowedOrigin"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"MessageRequest":{"type":"object","properties":{"message":{"type":"string"},"messageType":{"type":"string"},"replyToMessageId":{"type":"integer","format":"int64"}}},"ApiResponseMessageResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/MessageResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"MessageResponse":{"type":"object","properties":{"senderProfileCode":{"type":"string"},"message":{"type":"string"},"messageType":{"type":"string"},"deliveredAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"isMyMessage":{"type":"boolean"},"imageUrl":{"type":"string"},"imageFilename":{"type":"string"},"isCensored":{"type":"boolean"},"censorshipReason":{"type":"string"},"contactExchangeAllowed":{"type":"boolean"},"isRead":{"type":"boolean"}}},"GroupTalkRoomRequest":{"type":"object","properties":{"roomName":{"type":"string"},"roomDescription":{"type":"string"},"participantCodes":{"type":"array","items":{"type":"string"}}}},"ApiResponseTalkRoom":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/TalkRoom"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"PartnerProfile":{"type":"object","properties":{"code":{"type":"string"},"nickname":{"type":"string"},"isActive":{"type":"boolean"},"lastLoginAt":{"type":"string","format":"date-time"},"birthDate":{"type":"string","format":"date"},"residencePrefecture":{"type":"string"}}},"TalkRoom":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"code":{"type":"string"},"roomType":{"type":"string","enum":["DIRECT","GROUP"]},"roomName":{"type":"string"},"roomDescription":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"lastMessage":{"type":"string"},"isLastMessageFromPartner":{"type":"boolean"},"isActive":{"type":"boolean"},"partnerProfile":{"$ref":"#/components/schemas/PartnerProfile"},"isSubscribed":{"type":"boolean"},"isEkycVerified":{"type":"boolean"}}},"PaymentSessionCreateRequest":{"required":["planId","returnUrl"],"type":"object","properties":{"planId":{"type":"string"},"paymentMethod":{"type":"string"},"returnUrl":{"type":"string"},"paymentMethodOrDefault":{"type":"string"}}},"ApiResponsePaymentSessionCreateResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PaymentSessionCreateResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"PaymentSessionCreateResponse":{"type":"object","properties":{"paymentPageUrl":{"type":"string"},"sessionId":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}},"SubscriptionCancelRequest":{"type":"object","properties":{"reason":{"type":"string"}}},"ApiResponseSubscriptionStatusResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SubscriptionStatusResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"PlanInfo":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"integer","format":"int32"},"currency":{"type":"string"},"interval":{"type":"string"}}},"SubscriptionStatusResponse":{"type":"object","properties":{"subscriptionStatus":{"type":"string","enum":["INACTIVE","ACTIVE","CANCELLED","EXPIRED","SUSPENDED"]},"subscriptionId":{"type":"string"},"planId":{"type":"string"},"nextBillingDate":{"type":"string","format":"date-time"},"amount":{"type":"integer","format":"int32"},"startedAt":{"type":"string","format":"date-time"},"endedAt":{"type":"string","format":"date-time"},"plan":{"$ref":"#/components/schemas/PlanInfo"}}},"ReportRequest":{"required":["profileCode","reason","reportType"],"type":"object","properties":{"profileCode":{"type":"string"},"reportType":{"type":"string"},"reason":{"maxLength":1000,"minLength":10,"type":"string"}}},"ApiResponseLikeResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/LikeResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"LikeInfo":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"message":{"type":"string"}}},"LikeResponse":{"type":"object","properties":{"like":{"$ref":"#/components/schemas/LikeInfo"},"match":{"$ref":"#/components/schemas/MatchInfo"},"message":{"type":"string"},"likeBalance":{"type":"integer","format":"int32"},"isMatch":{"type":"boolean"}}},"MatchInfo":{"type":"object","properties":{"matchedAt":{"type":"string","format":"date-time"},"isActive":{"type":"boolean"}}},"ApiResponseInteger":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"integer","format":"int32"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseMapStringObject":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"object"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"WelcomeEmailRequest":{"type":"object","properties":{"to":{"type":"string"},"nickname":{"type":"string"}},"description":"ウェルカムメール送信リクエスト"},"ApiResponseEmailDataResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/EmailDataResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"EmailDataResponse":{"type":"object","properties":{"to":{"type":"string"},"subject":{"type":"string"},"htmlContent":{"type":"string"},"from":{"type":"string"},"replyTo":{"type":"string"},"siteName":{"type":"string"},"emailType":{"type":"string"},"priority":{"type":"string"}}},"VerificationEmailRequest":{"type":"object","properties":{"to":{"type":"string"},"verificationToken":{"type":"string"}},"description":"認証メール送信リクエスト"},"MatchNotificationEmailRequest":{"type":"object","properties":{"to":{"type":"string"},"matchedUserNickname":{"type":"string"}},"description":"マッチング通知メール送信リクエスト"},"EkycWebhookRequest":{"required":["status","verificationId"],"type":"object","properties":{"verificationId":{"type":"string"},"status":{"type":"string"},"verifiedAt":{"type":"string","format":"date-time"},"signature":{"type":"string"},"userData":{"$ref":"#/components/schemas/UserData"}}},"UserData":{"type":"object","properties":{"name":{"type":"string"},"birthDate":{"type":"string"},"documentType":{"type":"string"}}},"EkycVerifyRequest":{"required":["verificationId"],"type":"object","properties":{"verificationId":{"type":"string"}}},"ApiResponseEkycStatusResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/EkycStatusResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"EkycStatusResponse":{"type":"object","properties":{"ekycStatus":{"type":"string","enum":["PENDING","VERIFIED","REJECTED"]},"verifiedAt":{"type":"string","format":"date-time"},"verificationId":{"type":"string"}}},"EkycStartRequest":{"required":["applicantId"],"type":"object","properties":{"applicantId":{"type":"string"}}},"ApiResponseEkycStartResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/EkycStartResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"EkycStartResponse":{"type":"object","properties":{"verificationUrl":{"type":"string"},"verificationId":{"type":"string"},"applicantId":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}},"DiaryCreateRequest":{"required":["body","title"],"type":"object","properties":{"title":{"maxLength":100,"minLength":0,"type":"string"},"body":{"type":"string"},"visibility":{"type":"string","enum":["PUBLIC","SAME_GENDER","OPPOSITE_GENDER","MATCHED_ONLY","PRIVATE"]}}},"ApiResponseDiaryImageInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/DiaryImageInfo"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"UserContactRequest":{"required":["category","message"],"type":"object","properties":{"category":{"type":"string"},"message":{"maxLength":5000,"minLength":0,"type":"string"}}},"ContactFormRequest":{"required":["companyName","email","message","name"],"type":"object","properties":{"companyName":{"maxLength":200,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"email":{"type":"string"},"phone":{"maxLength":20,"minLength":0,"type":"string"},"message":{"maxLength":5000,"minLength":0,"type":"string"}}},"LpContactRequest":{"required":["email","message","name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"email":{"type":"string"},"message":{"maxLength":5000,"minLength":0,"type":"string"}}},"BlockRequest":{"type":"object","properties":{"reason":{"type":"string"}}},"WithdrawRequest":{"required":["password","reasonCode"],"type":"object","properties":{"password":{"type":"string","description":"現在のパスワード（本人確認用）","example":"your-current-password"},"reasonCode":{"type":"string","description":"退会理由コード: GOOD_MATCH / NO_MATCH / EXPENSIVE / UI_ISSUE / OTHER_SERVICE / OTHER","example":"NO_MATCH"},"reasonDetail":{"maxLength":1000,"minLength":0,"type":"string","description":"退会理由の自由記入（reasonCode=OTHER の時のみ任意で送信）"}},"description":"退会リクエスト"},"UserRegistrationRequest":{"required":["birthDate","email","gender","nickname","password"],"type":"object","properties":{"email":{"type":"string"},"password":{"maxLength":100,"minLength":8,"type":"string"},"phoneNumber":{"pattern":"^([0-9]{10,11})?$","type":"string"},"nickname":{"maxLength":50,"minLength":0,"type":"string"},"birthDate":{"type":"string","format":"date"},"gender":{"type":"string","enum":["MALE","FEMALE"]},"residencePrefecture":{"type":"string","enum":["UNSET","HOKKAIDO","AOMORI","IWATE","MIYAGI","AKITA","YAMAGATA","FUKUSHIMA","IBARAKI","TOCHIGI","GUNMA","SAITAMA","CHIBA","TOKYO","KANAGAWA","NIIGATA","TOYAMA","ISHIKAWA","FUKUI","YAMANASHI","NAGANO","GIFU","SHIZUOKA","AICHI","MIE","SHIGA","KYOTO","OSAKA","HYOGO","NARA","WAKAYAMA","TOTTORI","SHIMANE","OKAYAMA","HIROSHIMA","YAMAGUCHI","TOKUSHIMA","KAGAWA","EHIME","KOCHI","FUKUOKA","SAGA","NAGASAKI","KUMAMOTO","OITA","MIYAZAKI","KAGOSHIMA","OKINAWA"]},"bio":{"maxLength":1000,"minLength":0,"type":"string"},"comment":{"maxLength":30,"minLength":0,"type":"string"},"serviceExtension":{"pattern":"^(MARRIED|DIVORCED|WIDOWED|)$","type":"string"},"blurIntensity":{"maximum":100,"minimum":0,"type":"integer","format":"int32"}}},"ApiResponseAuthResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AuthResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AuthResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"tokenType":{"type":"string"},"expiresIn":{"type":"integer","format":"int64"},"user":{"$ref":"#/components/schemas/UserInfo"}}},"UserInfo":{"type":"object","properties":{"email":{"type":"string"},"profileCode":{"type":"string"},"nickname":{"type":"string"},"emailVerified":{"type":"boolean"},"ekycVerified":{"type":"boolean"},"likeBalance":{"type":"integer","format":"int32"},"hasUnlimitedAccess":{"type":"boolean"}}},"RefreshTokenRequest":{"required":["refreshToken"],"type":"object","properties":{"refreshToken":{"type":"string","description":"リフレッシュトークン","example":"eyJhbGciOiJIUzUxMiJ9..."}},"description":"リフレッシュトークンリクエスト"},"PasswordResetConfirmRequest":{"required":["newPassword","token"],"type":"object","properties":{"token":{"type":"string"},"newPassword":{"maxLength":2147483647,"minLength":8,"type":"string"}}},"PasswordResetRequest":{"required":["email"],"type":"object","properties":{"email":{"type":"string"}}},"LoginRequest":{"required":["email","password"],"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}}},"EmailChangeRequest":{"required":["currentPassword","newEmail"],"type":"object","properties":{"newEmail":{"type":"string"},"currentPassword":{"type":"string"}}},"EmailChangeConfirmRequest":{"required":["token"],"type":"object","properties":{"token":{"type":"string"}}},"AdminPasswordResetRequest":{"required":["email"],"type":"object","properties":{"email":{"type":"string"}},"description":"管理者パスワードリセット要求"},"AdminPasswordResetConfirmRequest":{"required":["newPassword","token"],"type":"object","properties":{"token":{"type":"string"},"newPassword":{"maxLength":128,"minLength":8,"type":"string"}},"description":"管理者パスワードリセット実行"},"AdminInvitationAcceptRequest":{"required":["password","token"],"type":"object","properties":{"token":{"type":"string","description":"招待トークン"},"password":{"maxLength":128,"minLength":8,"type":"string","description":"新規設定するパスワード（8文字以上）"},"name":{"type":"string","description":"表示名（任意）"}},"description":"管理者招待受諾リクエスト"},"AdminEkycUpdateRequest":{"required":["applicantId","status"],"type":"object","properties":{"applicantId":{"type":"string"},"status":{"pattern":"^(VERIFIED|REJECTED)$","type":"string"}}},"AdminEkycUpdateResponse":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"applicantId":{"type":"string"},"previousStatus":{"type":"string"},"newStatus":{"type":"string"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}},"ApiResponseAdminEkycUpdateResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminEkycUpdateResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminAnnouncementIndividualRequest":{"required":["message","siteId","title","userId"],"type":"object","properties":{"userId":{"type":"integer","description":"送信先ユーザーID","format":"int64","example":42},"siteId":{"type":"integer","description":"対象サイトID","format":"int64","example":1},"title":{"maxLength":200,"minLength":0,"type":"string","description":"お知らせタイトル","example":"重要なお知らせ"},"message":{"type":"string","description":"お知らせ本文"},"actionUrl":{"maxLength":500,"minLength":0,"type":"string","description":"クリック時の遷移先URL（任意）","example":"/ekyc"}},"description":"個別会員お知らせ送信リクエスト"},"AdminAnnouncementBroadcastRequest":{"required":["message","siteId","targetGender","targetPlan","title"],"type":"object","properties":{"siteId":{"type":"integer","description":"配信対象サイトID","format":"int64","example":1},"title":{"maxLength":200,"minLength":0,"type":"string","description":"お知らせタイトル","example":"メンテナンスのお知らせ"},"message":{"type":"string","description":"お知らせ本文","example":"明日10:00-11:00にメンテナンスを実施します。"},"actionUrl":{"maxLength":500,"minLength":0,"type":"string","description":"クリック時の遷移先URL（任意、内部/外部どちらも可）","example":"/subscription/plans"},"targetPlan":{"pattern":"ALL|FREE|PAID","type":"string","description":"配信対象プラン。ALL=全員、FREE=無料会員のみ、PAID=有料会員のみ","example":"ALL"},"targetGender":{"pattern":"ALL|MALE|FEMALE","type":"string","description":"配信対象性別。ALL=全員、MALE=男性、FEMALE=女性","example":"ALL"}},"description":"全体お知らせ送信リクエスト"},"AdminInvitationRequest":{"required":["email","role","siteId"],"type":"object","properties":{"email":{"type":"string","description":"招待先メールアドレス","example":"new-admin@example.com"},"role":{"pattern":"ADMIN_SITE_SPECIFIC|STAFF","type":"string","description":"付与するロール（ADMIN_SITE_SPECIFIC / STAFF）","example":"STAFF"},"siteId":{"type":"integer","description":"所属させるサイトID","format":"int64","example":1},"adminCapabilities":{"type":"string","description":"STAFFの機能別権限フラグ（JSON文字列）。例: {\"member_management\":true,\"notification_send\":false}"}},"description":"管理者招待送信リクエスト"},"AdminUpdateCapabilitiesRequest":{"type":"object","properties":{"adminCapabilities":{"type":"string","description":"機能別権限フラグ（JSON文字列）"}},"description":"STAFF 権限更新リクエスト"},"ApiResponseListTalkRoom":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TalkRoom"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListTalkRoomParticipant":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TalkRoomParticipant"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"TalkRoomParticipant":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"talkRoomId":{"type":"integer","format":"int64"},"profileId":{"type":"integer","format":"int64"},"joinedAt":{"type":"string","format":"date-time"},"leftAt":{"type":"string","format":"date-time"},"isActive":{"type":"boolean"},"role":{"type":"string","enum":["MEMBER","ADMIN","OWNER"]},"lastReadMessageId":{"type":"integer","format":"int64"}}},"ApiResponseBoolean":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListSubscriptionPlanResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionPlanResponse"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"SubscriptionPlanResponse":{"type":"object","properties":{"planId":{"type":"string"},"name":{"type":"string"},"totalAmount":{"type":"integer","format":"int32"},"amount":{"type":"integer","format":"int32"},"tax":{"type":"integer","format":"int32"},"currency":{"type":"string"},"interval":{"type":"string"}}},"SearchCriteriaRequest":{"type":"object","properties":{"ageMin":{"type":"integer","format":"int32"},"ageMax":{"type":"integer","format":"int32"},"residence":{"type":"array","items":{"type":"string","enum":["UNSET","HOKKAIDO","AOMORI","IWATE","MIYAGI","AKITA","YAMAGATA","FUKUSHIMA","IBARAKI","TOCHIGI","GUNMA","SAITAMA","CHIBA","TOKYO","KANAGAWA","NIIGATA","TOYAMA","ISHIKAWA","FUKUI","YAMANASHI","NAGANO","GIFU","SHIZUOKA","AICHI","MIE","SHIGA","KYOTO","OSAKA","HYOGO","NARA","WAKAYAMA","TOTTORI","SHIMANE","OKAYAMA","HIROSHIMA","YAMAGUCHI","TOKUSHIMA","KAGAWA","EHIME","KOCHI","FUKUOKA","SAGA","NAGASAKI","KUMAMOTO","OITA","MIYAZAKI","KAGOSHIMA","OKINAWA"]}},"birthplace":{"type":"array","items":{"type":"string","enum":["UNSET","HOKKAIDO","AOMORI","IWATE","MIYAGI","AKITA","YAMAGATA","FUKUSHIMA","IBARAKI","TOCHIGI","GUNMA","SAITAMA","CHIBA","TOKYO","KANAGAWA","NIIGATA","TOYAMA","ISHIKAWA","FUKUI","YAMANASHI","NAGANO","GIFU","SHIZUOKA","AICHI","MIE","SHIGA","KYOTO","OSAKA","HYOGO","NARA","WAKAYAMA","TOTTORI","SHIMANE","OKAYAMA","HIROSHIMA","YAMAGUCHI","TOKUSHIMA","KAGAWA","EHIME","KOCHI","FUKUOKA","SAGA","NAGASAKI","KUMAMOTO","OITA","MIYAZAKI","KAGOSHIMA","OKINAWA"]}},"educationLevel":{"type":"array","items":{"type":"string","enum":["UNSET","JUNIOR_HIGH","HIGH_SCHOOL","VOCATIONAL_SCHOOL","JUNIOR_COLLEGE","UNIVERSITY","GRADUATE_SCHOOL"]}},"heightMin":{"type":"integer","format":"int32"},"heightMax":{"type":"integer","format":"int32"},"bloodType":{"type":"array","items":{"type":"string","enum":["UNSET","A","B","O","AB"]}},"personalityType":{"type":"array","items":{"type":"string","enum":["UNSET","INTJ_A","INTJ_T","INTP_A","INTP_T","ENTJ_A","ENTJ_T","ENTP_A","ENTP_T","INFJ_A","INFJ_T","INFP_A","INFP_T","ENFJ_A","ENFJ_T","ENFP_A","ENFP_T","ISTJ_A","ISTJ_T","ISFJ_A","ISFJ_T","ESTJ_A","ESTJ_T","ESFJ_A","ESFJ_T","ISTP_A","ISTP_T","ISFP_A","ISFP_T","ESTP_A","ESTP_T","ESFP_A","ESFP_T"]}},"hasBio":{"type":"boolean"},"hasComment":{"type":"boolean"},"occupation":{"type":"array","items":{"type":"string","enum":["UNSET","EXECUTIVE","SELF_EMPLOYED","LISTED_COMPANY","MAJOR_COMPANY","OFFICE_WORKER","CIVIL_SERVANT","DOCTOR","DENTIST","PHARMACIST","NURSE","WELFARE_CARE","BEAUTY","HOUSEWIFE","IT_WEB","ADVERTISING","FOREIGN_TRADING","MANUFACTURER","LAWYER","CERTIFIED_ACCOUNTANT","CONSULTANT","INVESTOR","FINANCE","INSURANCE","CONSTRUCTION","FIREFIGHTER","SELF_DEFENSE","PARAMEDIC","CHILDCARE_WORKER","TRANSPORTATION_TRAVEL","PILOT","ENTERTAINMENT","ATHLETE","REAL_ESTATE","SALES","EDUCATION","SERVICE","PART_TIME","FREETER","FREELANCE","TEMPORARY","OTHER"]}},"annualIncome":{"type":"array","items":{"type":"string","enum":["UNSET","UNDER_300","INCOME_300_TO_500","INCOME_500_TO_600","INCOME_600_TO_700","INCOME_700_TO_800","INCOME_800_TO_1000","INCOME_1000_TO_1200","INCOME_1200_TO_1500","INCOME_1500_TO_2000","INCOME_2000_TO_2500","INCOME_2500_TO_3000","INCOME_3000_TO_5000","INCOME_5000_TO_10000","OVER_10000"]}},"bodyType":{"type":"array","items":{"type":"string","enum":["UNSET","SLIM","SLIGHTLY_SLIM","AVERAGE","SLIGHTLY_PLUMP","PLUMP","LEAN_MUSCULAR","MUSCULAR","GLAMOROUS"]}},"alcoholConsumption":{"type":"array","items":{"type":"string","enum":["UNSET","NEVER","RARELY","OCCASIONALLY","REGULARLY","DAILY"]}},"smokingHabit":{"type":"array","items":{"type":"string","enum":["UNSET","NON_SMOKER","E_CIGARETTE","PAPER_CIGARETTE","CIGAR","DEPENDS_ON_PARTNER"]}},"childrenStatus":{"type":"array","items":{"type":"string","enum":["UNSET","NONE","EXPECTING","HAS_MINOR","HAS_ADULT"]}},"livingSituation":{"type":"array","items":{"type":"string","enum":["UNSET","WITH_FAMILY","WITH_SPOUSE","WITH_PARENTS","ALONE","WITH_CHILDREN","SEPARATED","OTHER"]}},"familyRelationshipContinuation":{"type":"array","items":{"type":"string","enum":["UNSET","MAINTAIN","DIVORCE_PLANNED","CONSIDERING","OTHER"]}},"purposes":{"type":"array","items":{"type":"string","enum":["COMPANIONSHIP","DINING_DRINKING","CASUAL","SECOND_PARTNER","RESPECT_FAMILY","OPEN_MARRIAGE","PERSONAL_GROWTH","SERIOUS_RELATIONSHIP","HEALING","REMARRIAGE","LONG_TERM"]}},"meetingPreference":{"type":"array","items":{"type":"string","enum":["UNSET","MEET_FIRST","AFTER_MESSAGES","IF_COMPATIBLE"]}},"firstDateCost":{"type":"array","items":{"type":"string","enum":["UNSET","I_PAY","PARTNER_PAY","SPLIT","DISCUSS"]}},"personalityTraits":{"type":"array","items":{"type":"string","enum":["KIND","GENTLE","INTELLECTUAL","FUNNY","SERIOUS","POSITIVE","COOL","PASSIONATE","CALM","CHEERFUL","SHY","SOCIABLE","QUIET","TALKATIVE","CONSIDERATE","INDEPENDENT","DEPENDENT","ROMANTIC","REALISTIC","OPTIMISTIC","CAUTIOUS","ADVENTUROUS","HOMEBODY","ACTIVE","RELAXED","AMBITIOUS","MODEST","CONFIDENT","SENSITIVE","RESILIENT","CREATIVE","LOGICAL","EMOTIONAL","PATIENT","OTHER"]}},"hobbies":{"type":"array","items":{"type":"string","enum":["MOVIE_DRAMA","ANIME","MANGA","MUSIC","LIVE_CONCERT","KARAOKE","READING","GAMING","PHOTOGRAPHY","ART","COOKING","GOURMET","CAFE","BAR","ALCOHOL","TRAVEL_DOMESTIC","TRAVEL_OVERSEAS","DRIVING","CAMPING","OUTDOOR","SPORTS","RUNNING","GYM","YOGA","GOLF","SWIMMING","SURFING","SKIING","FISHING","SHOPPING","FASHION","BEAUTY","NAIL_ART","GARDENING","PET","VOLUNTEER","STUDY","LANGUAGE","INVESTMENT","SIDE_BUSINESS","DANCE","INSTRUMENT","SINGING","DRAWING","CRAFTS","COLLECTING","CARS","OTHER"]}},"preferredDays":{"type":"array","items":{"type":"string","enum":["WEEKDAY","SATURDAY","SUNDAY","HOLIDAY","ANYTIME"]}},"preferredTimes":{"type":"array","items":{"type":"string","enum":["MORNING","AFTERNOON","EVENING","LATE_NIGHT","ANYTIME"]}},"loginStatus":{"type":"array","items":{"type":"string","enum":["ONLINE","WITHIN_24H","WITHIN_3D","WITHIN_1W"]}},"hasSubPhoto":{"type":"boolean"}}},"ApiResponseSearchResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SearchResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"PaginationInfo":{"type":"object","properties":{"currentPage":{"type":"integer","description":"現在のページ番号（1から開始）","format":"int32","example":1},"pageSize":{"type":"integer","description":"1ページあたりの件数","format":"int32","example":20},"currentPageCount":{"type":"integer","description":"現在のページの件数","format":"int32","example":15},"hasNextPage":{"type":"boolean","description":"次のページが存在するか","example":true},"hasPreviousPage":{"type":"boolean","description":"前のページが存在するか","example":false},"sortOrder":{"type":"string","description":"ソート順","example":"最新順"}},"description":"ページネーション情報"},"SearchResponse":{"type":"object","properties":{"profiles":{"type":"array","description":"検索結果のプロフィール一覧","items":{"$ref":"#/components/schemas/UserInfo"}},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"description":"検索結果レスポンス（ページネーション情報付き）"},"ApiResponseListReportTypeResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportTypeResponse"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ReportTypeResponse":{"type":"object","properties":{"code":{"type":"string"},"displayName":{"type":"string"}}},"ApiResponseLoginGateStatus":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/LoginGateStatus"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"LoginGateStatus":{"type":"object","properties":{"loginAvailable":{"type":"boolean"},"availableFrom":{"type":"string","format":"date-time"},"message":{"type":"string"}}},"ApiResponseListUserInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/UserInfo"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListProfileImageResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ProfileImageResponse"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseProfileOptionsResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ProfileOptionsResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"OptionDto":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}}},"ProfileOptionsResponse":{"type":"object","properties":{"genders":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"prefectures":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"bodyTypes":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"bloodTypes":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"familyRelationshipContinuations":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"personalityTraits":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"hobbies":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"smokingHabits":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"preferredDays":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"preferredTimes":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"meetingPreferences":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"firstDateCosts":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"educationLevels":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"personalityTypes":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}}}},"ApiResponseNotificationListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/NotificationListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"NotificationListResponse":{"type":"object","properties":{"notifications":{"type":"array","items":{"$ref":"#/components/schemas/NotificationResponse"}},"unreadCount":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"NotificationResponse":{"type":"object","properties":{"id":{"type":"integer","description":"通知ID","format":"int64","example":1},"notificationType":{"type":"string","description":"通知タイプ","example":"LIKE_RECEIVED"},"title":{"type":"string","description":"タイトル","example":"○○さんからいいねが届きました"},"message":{"type":"string","description":"メッセージ","example":"○○さんがあなたにいいねを送りました。"},"referenceType":{"type":"string","description":"参照タイプ","example":"PROFILE"},"referenceId":{"type":"string","description":"参照ID（有料会員のみ）","example":"ABC123XYZ"},"actionUrl":{"type":"string","description":"クリック時の遷移先URL（任意）。内部URL（例: /ekyc）・外部URL（https://...）いずれも可","example":"/ekyc"},"isRead":{"type":"boolean","description":"既読フラグ"},"readAt":{"type":"string","description":"既読日時","format":"date-time"},"requiresIndividualRead":{"type":"boolean","description":"個別既読必須フラグ"},"createdAt":{"type":"string","description":"作成日時","format":"date-time"},"likeId":{"type":"integer","description":"いいねID（LIKE_RECEIVED通知用）","format":"int64","example":42},"senderProfileCode":{"type":"string","description":"送信者のプロフィールコード（無料会員はnull）","example":"ABC123XYZ"},"senderNickname":{"type":"string","description":"送信者のニックネーム（無料会員は*****）","example":"田中太郎"},"senderAge":{"type":"integer","description":"送信者の年齢","format":"int32","example":35},"blurredImageUrl":{"type":"string","description":"ぼかし画像URL（無料会員用）","example":"/api/v1/likes/received/42/image"},"hasMainImage":{"type":"boolean","description":"メイン画像があるかどうか"}},"description":"通知レスポンス"},"ApiResponseUnreadCountResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UnreadCountResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"UnreadCountResponse":{"type":"object","properties":{"count":{"type":"integer","format":"int32"}}},"ApiResponseListMatchInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/MatchInfo"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseMarriedProfileOptionsResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/MarriedProfileOptionsResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"MarriedProfileOptionsResponse":{"type":"object","properties":{"maritalStatuses":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"purposes":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"childrenStatuses":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"livingSituations":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"occupations":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"alcoholConsumptions":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}},"annualIncomes":{"type":"array","items":{"$ref":"#/components/schemas/OptionDto"}}}},"ApiResponseListLikeInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/LikeInfo"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListSubscriptionPlan":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionPlan"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"SubscriptionPlan":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"siteId":{"type":"integer","format":"int64"},"planId":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer","format":"int32"},"tax":{"type":"integer","format":"int32"},"iid":{"type":"string"},"actp":{"type":"string"},"isActive":{"type":"boolean"},"isTestOnly":{"type":"boolean"},"productType":{"type":"string","enum":["SUBSCRIPTION","LIKE_PACKAGE"]},"likeCount":{"type":"integer","format":"int32"},"bonusLikeCount":{"type":"integer","format":"int32"},"displayOrder":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"totalAmount":{"type":"integer","format":"int32"}}},"ApiResponseListPurchaseHistoryItem":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseHistoryItem"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"PurchaseHistoryItem":{"type":"object","properties":{"purchasedAt":{"type":"string","format":"date-time"},"description":{"type":"string"},"likeCount":{"type":"integer","format":"int32"},"orderId":{"type":"string"}}},"ApiResponseLikeDetailsResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/LikeDetailsResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"LikeDetailItem":{"type":"object","properties":{"no":{"type":"integer","format":"int32"},"acquiredAt":{"type":"string","format":"date-time"},"count":{"type":"integer","format":"int32"},"reason":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}},"LikeDetailsResponse":{"type":"object","properties":{"totalBalance":{"type":"integer","format":"int32"},"hasUnlimitedAccess":{"type":"boolean"},"details":{"type":"array","items":{"$ref":"#/components/schemas/LikeDetailItem"}}}},"ApiResponseBalanceResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/BalanceResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"BalanceResponse":{"type":"object","properties":{"balance":{"type":"integer","format":"int32"},"hasUnlimitedAccess":{"type":"boolean"}}},"ApiResponseFootprintListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/FootprintListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"FootprintListResponse":{"type":"object","properties":{"footprints":{"type":"array","items":{"$ref":"#/components/schemas/FootprintResponse"}},"totalCount":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"hasNext":{"type":"boolean"}}},"FootprintResponse":{"type":"object","properties":{"profileCode":{"type":"string"},"nickname":{"type":"string"},"age":{"type":"integer","format":"int32"},"residencePrefecture":{"type":"string"},"viewedAt":{"type":"string","format":"date-time"}}},"ApiResponseListFavoriteInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FavoriteInfo"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"FavoriteInfo":{"type":"object","properties":{"profileCode":{"type":"string"},"nickname":{"type":"string"},"birthDate":{"type":"string","format":"date"},"gender":{"type":"string"},"residencePrefecture":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"ApiResponseSendingMethodResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SendingMethodResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"SendingMethodResponse":{"type":"object","properties":{"emailSendingMethod":{"type":"string"},"siteName":{"type":"string"},"description":{"type":"string"}}},"ApiResponseListDiaryFavoriteInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/DiaryFavoriteInfo"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryFavoriteInfo":{"type":"object","properties":{"diaryId":{"type":"integer","format":"int64"},"title":{"type":"string"},"authorProfileCode":{"type":"string"},"authorNickname":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"firstImagePath":{"type":"string"},"commentCount":{"type":"integer","format":"int32"}}},"ApiResponseMapStringBoolean":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"boolean"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListDiaryFeedItem":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/DiaryFeedItem"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryFeedItem":{"type":"object","properties":{"diaryId":{"type":"integer","format":"int64"},"authorProfileCode":{"type":"string"},"nickname":{"type":"string"},"age":{"type":"integer","format":"int32"},"residence":{"type":"string"},"ekycVerified":{"type":"boolean"},"firstImagePath":{"type":"string"},"title":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"commentCount":{"type":"integer","format":"int32"}}},"ApiResponseListDiaryResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/DiaryResponse"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseDiaryFeedResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/DiaryFeedResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryFeedResponse":{"type":"object","properties":{"diaries":{"type":"array","items":{"$ref":"#/components/schemas/DiaryFeedItem"}},"page":{"type":"integer","format":"int32"},"hasNext":{"type":"boolean"}}},"ApiResponseDiaryDetailResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/DiaryDetailResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"DiaryDetailResponse":{"type":"object","properties":{"diaryId":{"type":"integer","format":"int64"},"authorProfileCode":{"type":"string"},"nickname":{"type":"string"},"age":{"type":"integer","format":"int32"},"residence":{"type":"string"},"ekycVerified":{"type":"boolean"},"comment":{"type":"string"},"purposes":{"type":"string"},"lastLoginAt":{"type":"string","format":"date-time"},"title":{"type":"string"},"body":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"imagePaths":{"type":"array","items":{"type":"string"}},"comments":{"type":"array","items":{"$ref":"#/components/schemas/DiaryCommentResponse"}}}},"ApiResponseBonusResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/BonusResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"BonusItem":{"type":"object","properties":{"type":{"type":"string"},"granted":{"type":"boolean"},"amount":{"type":"integer","format":"int32"},"title":{"type":"string"},"message":{"type":"string"},"iconType":{"type":"string"}}},"BonusResponse":{"type":"object","properties":{"bonuses":{"type":"array","items":{"$ref":"#/components/schemas/BonusItem"}}}},"ApiResponseListBlockInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/BlockInfo"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"BlockInfo":{"type":"object","properties":{"profileCode":{"type":"string"},"nickname":{"type":"string"},"reason":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"ApiResponseUserInfo":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserInfo"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseUserAnalyticsSummary":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserAnalyticsSummary"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"UserAnalyticsSummary":{"type":"object","properties":{"totalMatches":{"type":"integer","format":"int32"},"aggressivenessLevel":{"type":"string"},"responseSpeed":{"type":"string"},"behaviorType":{"type":"string"},"matchRate":{"type":"integer","format":"int32"}}},"ApiResponseUserAnalytics":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserAnalytics"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"BehaviorPattern":{"type":"object","properties":{"totalLikesSent":{"type":"integer","format":"int32"},"totalLikesReceived":{"type":"integer","format":"int32"},"matchRate":{"type":"integer","format":"int32"},"behaviorType":{"type":"string"}}},"MatchingAggressiveness":{"type":"object","properties":{"totalMatches":{"type":"integer","format":"int32"},"firstLikeMatches":{"type":"integer","format":"int32"},"secondLikeMatches":{"type":"integer","format":"int32"},"aggressivenessRatio":{"type":"number","format":"double"},"aggressivenessLevel":{"type":"string"}}},"ResponseAnalysis":{"type":"object","properties":{"averageResponseTime":{"type":"object","properties":{"seconds":{"type":"integer","format":"int64"},"zero":{"type":"boolean"},"nano":{"type":"integer","format":"int32"},"negative":{"type":"boolean"},"positive":{"type":"boolean"},"units":{"type":"array","items":{"type":"object","properties":{"durationEstimated":{"type":"boolean"},"timeBased":{"type":"boolean"},"dateBased":{"type":"boolean"}}}}}},"fastestResponse":{"type":"object","properties":{"seconds":{"type":"integer","format":"int64"},"zero":{"type":"boolean"},"nano":{"type":"integer","format":"int32"},"negative":{"type":"boolean"},"positive":{"type":"boolean"},"units":{"type":"array","items":{"type":"object","properties":{"durationEstimated":{"type":"boolean"},"timeBased":{"type":"boolean"},"dateBased":{"type":"boolean"}}}}}},"slowestResponse":{"type":"object","properties":{"seconds":{"type":"integer","format":"int64"},"zero":{"type":"boolean"},"nano":{"type":"integer","format":"int32"},"negative":{"type":"boolean"},"positive":{"type":"boolean"},"units":{"type":"array","items":{"type":"object","properties":{"durationEstimated":{"type":"boolean"},"timeBased":{"type":"boolean"},"dateBased":{"type":"boolean"}}}}}},"totalResponses":{"type":"integer","format":"int32"},"responseSpeed":{"type":"string"}}},"UserAnalytics":{"type":"object","properties":{"profileCode":{"type":"string"},"nickname":{"type":"string"},"matchingAggressiveness":{"$ref":"#/components/schemas/MatchingAggressiveness"},"responseAnalysis":{"$ref":"#/components/schemas/ResponseAnalysis"},"behaviorPattern":{"$ref":"#/components/schemas/BehaviorPattern"}}},"ApiResponseObject":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"object"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseRevenueTransactionListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/RevenueTransactionListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"RevenueTransactionListItem":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int64"},"userEmail":{"type":"string"},"userNickname":{"type":"string"},"siteId":{"type":"integer","format":"int64"},"siteName":{"type":"string"},"productType":{"type":"string"},"planId":{"type":"string"},"planName":{"type":"string"},"amount":{"type":"integer","format":"int32"},"tax":{"type":"integer","format":"int32"},"totalAmount":{"type":"integer","format":"int32"},"transactionId":{"type":"string"},"paymentMethod":{"type":"string"},"status":{"type":"string"},"transactedAt":{"type":"string","format":"date-time"}}},"RevenueTransactionListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RevenueTransactionListItem"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"ApiResponseMonthlyRevenueResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/MonthlyRevenueResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"MonthlyRevenueResponse":{"type":"object","properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Point"}}}},"Point":{"type":"object","properties":{"month":{"type":"string"},"subscriptionAmount":{"type":"integer","format":"int64"},"likePackageAmount":{"type":"integer","format":"int64"},"totalAmount":{"type":"integer","format":"int64"},"subscriptionCount":{"type":"integer","format":"int32"},"likePackageCount":{"type":"integer","format":"int32"}}},"ApiResponsePlanRevenueResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PlanRevenueResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"Item":{"type":"object","properties":{"planId":{"type":"string"},"planName":{"type":"string"},"totalAmount":{"type":"integer","format":"int64"},"transactionCount":{"type":"integer","format":"int32"}}},"PlanRevenueResponse":{"type":"object","properties":{"subscription":{"type":"array","items":{"$ref":"#/components/schemas/Item"}},"likePackage":{"type":"array","items":{"$ref":"#/components/schemas/Item"}}}},"AdminMemberListItem":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"email":{"type":"string"},"profileCode":{"type":"string"},"nickname":{"type":"string"},"gender":{"type":"string"},"registeredAt":{"type":"string","format":"date-time"},"plan":{"type":"string"},"ekycStatus":{"type":"string"},"applicantId":{"type":"string"}}},"AdminMemberListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminMemberListItem"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"ApiResponseAdminMemberListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminMemberListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminMemberDetail":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"siteId":{"type":"integer","format":"int64"},"siteName":{"type":"string"},"email":{"type":"string"},"phoneNumber":{"type":"string"},"status":{"type":"string"},"role":{"type":"string"},"emailVerified":{"type":"boolean"},"registeredAt":{"type":"string","format":"date-time"},"lastLoginAt":{"type":"string","format":"date-time"},"profileCode":{"type":"string"},"nickname":{"type":"string"},"gender":{"type":"string"},"birthDate":{"type":"string","format":"date"},"residencePrefecture":{"type":"string"},"bio":{"type":"string"},"plan":{"type":"string"},"subscriptionStartedAt":{"type":"string","format":"date-time"},"currentPlanId":{"type":"string"},"currentPlanName":{"type":"string"},"nextBillingDate":{"type":"string","format":"date-time"},"paymentMethod":{"type":"string"},"ekycStatus":{"type":"string"},"applicantId":{"type":"string"},"ekycVerifiedAt":{"type":"string","format":"date-time"},"ekycUpdatedAt":{"type":"string","format":"date-time"},"ekycApprovedBy":{"type":"string"}}},"ApiResponseAdminMemberDetail":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminMemberDetail"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminTalkRoomListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminTalkRoomSummary"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"AdminTalkRoomSummary":{"type":"object","properties":{"roomCode":{"type":"string"},"roomType":{"type":"string"},"partnerProfileCode":{"type":"string"},"partnerUserId":{"type":"integer","format":"int64"},"partnerNickname":{"type":"string"},"partnerLeftAt":{"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"messageCount":{"type":"integer","format":"int64"},"isActive":{"type":"boolean"}}},"ApiResponseAdminTalkRoomListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminTalkRoomListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminMessageItem":{"type":"object","properties":{"messageId":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"senderProfileCode":{"type":"string"},"senderNickname":{"type":"string"},"direction":{"type":"string"},"messageType":{"type":"string"},"body":{"type":"string"},"imageUrl":{"type":"string"},"imageFilename":{"type":"string"},"censored":{"type":"boolean"},"censorshipReason":{"type":"string"},"replyToMessageId":{"type":"integer","format":"int64"}}},"AdminMessageThreadResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminMessageItem"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"ApiResponseAdminMessageThreadResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminMessageThreadResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminMemberNotificationHistoryItem":{"type":"object","properties":{"id":{"type":"integer","description":"通知ID","format":"int64","example":42},"title":{"type":"string","description":"タイトル"},"message":{"type":"string","description":"本文"},"actionUrl":{"type":"string","description":"遷移先URL（任意）"},"isRead":{"type":"boolean","description":"既読フラグ"},"readAt":{"type":"string","description":"既読日時","format":"date-time"},"createdAt":{"type":"string","description":"送信日時","format":"date-time"},"createdBy":{"type":"integer","description":"送信者の admin_users.id","format":"int64"},"createdByEmail":{"type":"string","description":"送信者のメールアドレス（admin_usersから逆引き、該当なしの場合null）"}},"description":"会員宛の運営お知らせ履歴"},"AdminMemberNotificationHistoryResponse":{"type":"object","properties":{"items":{"type":"array","description":"履歴アイテム","items":{"$ref":"#/components/schemas/AdminMemberNotificationHistoryItem"}},"total":{"type":"integer","description":"総件数","format":"int32"},"page":{"type":"integer","description":"ページ番号（0始まり）","format":"int32"},"size":{"type":"integer","description":"1ページあたり件数","format":"int32"}},"description":"会員宛の運営お知らせ履歴一覧"},"ApiResponseAdminMemberNotificationHistoryResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminMemberNotificationHistoryResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminProfileImageItem":{"type":"object","properties":{"imageId":{"type":"integer","format":"int64"},"imageType":{"type":"string"},"displayOrder":{"type":"integer","format":"int32"},"contentType":{"type":"string"},"blurIntensity":{"type":"integer","format":"int32"}}},"AdminProfileImageListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminProfileImageItem"}},"allowedVariants":{"type":"array","items":{"type":"string"}}}},"ApiResponseAdminProfileImageListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminProfileImageListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminInvitationVerifyResponse":{"type":"object","properties":{"email":{"type":"string","description":"招待先メールアドレス"},"role":{"type":"string","description":"付与予定のロール"},"siteId":{"type":"integer","description":"所属予定サイトID","format":"int64"},"siteName":{"type":"string","description":"所属予定サイト名"},"invitedByEmail":{"type":"string","description":"招待者のメアド"}},"description":"招待トークン検証レスポンス"},"ApiResponseAdminInvitationVerifyResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminInvitationVerifyResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListAllowedOrigin":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AllowedOrigin"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"ApiResponseListString":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminAnnouncementHistoryItem":{"type":"object","properties":{"id":{"type":"integer","description":"履歴ID","format":"int64","example":1},"siteId":{"type":"integer","description":"サイトID","format":"int64","example":1},"siteName":{"type":"string","description":"サイト名","example":"True Connection"},"title":{"type":"string","description":"タイトル"},"message":{"type":"string","description":"本文"},"actionUrl":{"type":"string","description":"遷移先URL"},"targetPlan":{"type":"string","description":"配信対象プラン（ALL/FREE/PAID）"},"targetGender":{"type":"string","description":"配信対象性別（ALL/MALE/FEMALE）"},"recipientCount":{"type":"integer","description":"配信人数","format":"int32"},"sentByEmail":{"type":"string","description":"送信者のメールアドレス"},"sentAt":{"type":"string","description":"送信日時","format":"date-time"}},"description":"お知らせ送信履歴"},"AdminAnnouncementListResponse":{"type":"object","properties":{"items":{"type":"array","description":"履歴リスト","items":{"$ref":"#/components/schemas/AdminAnnouncementHistoryItem"}},"total":{"type":"integer","description":"総件数","format":"int32"},"page":{"type":"integer","description":"ページ番号（0始まり）","format":"int32"},"size":{"type":"integer","description":"1ページあたり件数","format":"int32"}},"description":"お知らせ送信履歴一覧"},"ApiResponseAdminAnnouncementListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminAnnouncementListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}},"AdminUserListItem":{"type":"object","properties":{"id":{"type":"integer","description":"管理者ID","format":"int64"},"email":{"type":"string","description":"メアド"},"name":{"type":"string","description":"表示名"},"role":{"type":"string","description":"ロール"},"siteId":{"type":"integer","description":"所属サイトID","format":"int64"},"siteName":{"type":"string","description":"所属サイト名"},"adminCapabilities":{"type":"string","description":"機能別権限フラグ（JSON文字列）"},"status":{"type":"string","description":"ステータス"},"lastLoginAt":{"type":"string","description":"最終ログイン日時","format":"date-time"},"createdAt":{"type":"string","description":"作成日時","format":"date-time"}},"description":"管理者一覧アイテム"},"AdminUserListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminUserListItem"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}},"description":"管理者一覧レスポンス"},"ApiResponseAdminUserListResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminUserListResponse"},"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"metadata":{"type":"object"}}}},"securitySchemes":{"bearerAuth":{"type":"http","description":"JWT認証トークンを使用します。ヘッダーに 'Authorization: Bearer <token>' の形式で指定してください。","scheme":"bearer","bearerFormat":"JWT"}}}}