{ "openapi": "3.0.0", "paths": { "/api/v1/auth/login/social": { "post": { "operationId": "AuthController_loginWithSocial", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SocialLoginCommand" } } } }, "responses": { "201": { "description": "" } }, "tags": ["Auth"] } }, "/api/v1/auth/token/refresh": { "post": { "operationId": "AuthController_refreshToken", "parameters": [], "responses": { "201": { "description": "" } }, "tags": ["Auth"] } }, "/api/v1/auth/withdraw": { "post": { "operationId": "AuthController_withdraw", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WithdrawRequest" } } } }, "responses": { "201": { "description": "" } }, "tags": ["Auth"] } }, "/api/health": { "get": { "operationId": "HealthController_readiness", "parameters": [], "responses": { "200": { "description": "The Health Check is successful", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "info": { "type": "object", "example": { "database": { "status": "up" } }, "additionalProperties": { "type": "object", "required": ["status"], "properties": { "status": { "type": "string" } }, "additionalProperties": true }, "nullable": true }, "error": { "type": "object", "example": {}, "additionalProperties": { "type": "object", "required": ["status"], "properties": { "status": { "type": "string" } }, "additionalProperties": true }, "nullable": true }, "details": { "type": "object", "example": { "database": { "status": "up" } }, "additionalProperties": { "type": "object", "required": ["status"], "properties": { "status": { "type": "string" } }, "additionalProperties": true } } } } } } }, "503": { "description": "The Health Check is not successful", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "info": { "type": "object", "example": { "database": { "status": "up" } }, "additionalProperties": { "type": "object", "required": ["status"], "properties": { "status": { "type": "string" } }, "additionalProperties": true }, "nullable": true }, "error": { "type": "object", "example": { "redis": { "status": "down", "message": "Could not connect" } }, "additionalProperties": { "type": "object", "required": ["status"], "properties": { "status": { "type": "string" } }, "additionalProperties": true }, "nullable": true }, "details": { "type": "object", "example": { "database": { "status": "up" }, "redis": { "status": "down", "message": "Could not connect" } }, "additionalProperties": { "type": "object", "required": ["status"], "properties": { "status": { "type": "string" } }, "additionalProperties": true } } } } } } } }, "tags": ["Health"] } }, "/api/v1/post": { "get": { "operationId": "PostController_getPosts", "parameters": [ { "name": "cursor", "required": false, "in": "query", "schema": { "example": "string", "type": "string" } }, { "name": "limit", "required": true, "in": "query", "schema": { "example": "0", "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": ["Post"] } }, "/api/v1/product/{id}": { "get": { "operationId": "ProductController_getProduct", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": ["Product"] } }, "/api/v1/user/me": { "get": { "operationId": "UserController_getMyProfile", "parameters": [], "responses": { "200": { "description": "" } }, "tags": ["User"] } }, "/api/v1/recommend-session/{sessionId}/result": { "get": { "operationId": "RecommendSessionController_getRecommendSessionResults", "parameters": [ { "name": "sessionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": ["RecommendSession"] } }, "/api/v1/recommend-session/{sessionId}/result/{order}": { "get": { "operationId": "RecommendSessionController_getRecommendSessionResultOne", "parameters": [ { "name": "sessionId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "order", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": ["RecommendSession"] } }, "/api/v1/recommend-session": { "post": { "operationId": "RecommendSessionController_startSession", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartSessionRequest" } } } }, "responses": { "201": { "description": "" } }, "tags": ["RecommendSession"] } }, "/api/v1/recommend-session/{sessionId}/answer": { "post": { "operationId": "RecommendSessionController_submitAnswer", "parameters": [ { "name": "sessionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitAnswerRequest" } } } }, "responses": { "201": { "description": "" } }, "tags": ["RecommendSession"] } }, "/api/v1/recommend-session/{sessionId}": { "delete": { "operationId": "RecommendSessionController_endSession", "parameters": [ { "name": "sessionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": ["RecommendSession"] } }, "/api/v1/wishlist": { "post": { "operationId": "WishlistController_addWishlist", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddWishlistRequest" } } } }, "responses": { "201": { "description": "" } }, "tags": ["Wishlist"] }, "get": { "operationId": "WishlistController_getWishlistsByReceiverName", "parameters": [ { "name": "receiverName", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": ["Wishlist"] } }, "/api/v1/wishlist/{id}": { "delete": { "operationId": "WishlistController_removeWishlist", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": ["Wishlist"] } }, "/api/v1/wishlist/summary": { "get": { "operationId": "WishlistController_getWishlistGroups", "parameters": [], "responses": { "200": { "description": "" } }, "tags": ["Wishlist"] } } }, "info": { "title": "Pockey API Documentation", "description": "API documentation for the Pockey application", "version": "1.0", "contact": {} }, "tags": [], "servers": [], "components": { "securitySchemes": { "bearer": { "scheme": "bearer", "bearerFormat": "JWT", "type": "http" } }, "schemas": { "SocialLoginCommand": { "type": "object", "properties": { "snsId": { "type": "string", "example": "unknown (isNotEmpty)" }, "nickname": { "type": "string", "example": "unknown (isNotEmpty)" }, "profileImageUrl": { "type": "string", "example": "unknown (isNotEmpty)" }, "deviceId": { "type": "string", "example": "string" } }, "required": ["snsId", "nickname", "profileImageUrl"] }, "WithdrawRequest": { "type": "object", "properties": { "reason": { "type": "string", "example": "string" } }, "required": ["reason"] }, "StartSessionRequest": { "type": "object", "properties": { "deviceId": { "type": "string", "example": "string" }, "receiverName": { "type": "string", "example": "string" } }, "required": ["deviceId", "receiverName"] }, "SubmitAnswerRequest": { "type": "object", "properties": { "step": { "type": "number", "example": "0" }, "answer": { "type": "string", "example": "string" } }, "required": ["step", "answer"] }, "AddWishlistRequest": { "type": "object", "properties": { "productId": { "type": "number", "example": "0" }, "receiverName": { "type": "string", "example": "string" } }, "required": ["productId", "receiverName"] } } } }