{
    "openapi": "3.0.0",
    "info": {
        "title": "SAM API Documentation",
        "description": "SAM(Semi-Automatics Management) API 입니다.",
        "contact": {
            "email": "shine1324@gmail.com"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://api.5130.co.kr",
            "description": "SAM API 서버"
        }
    ],
    "paths": {
        "/api/debug-apikey": {
            "get": {
                "tags": [
                    "API Key 인증"
                ],
                "summary": "API Key 인증 확인",
                "operationId": "339b727010e448749df58cd6b6ff7c28",
                "responses": {
                    "200": {
                        "description": "API Key 인증 성공"
                    },
                    "401": {
                        "description": "인증 실패"
                    }
                },
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ]
            }
        },
        "/api/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "회원 토큰 정보확인",
                "operationId": "f6d04be1de7bb4a85327471c8d3d1e42",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "user_id",
                                    "user_pwd"
                                ],
                                "properties": {
                                    "user_id": {
                                        "type": "string",
                                        "example": "test"
                                    },
                                    "user_pwd": {
                                        "type": "string",
                                        "example": "testpass"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "로그인 성공",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "user_token": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "로그인 실패"
                    }
                }
            }
        },
        "/api/logout": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "로그아웃 (Access 및 Token 무효화)",
                "operationId": "ff979e4e699115485dc29fb752d8e3a5",
                "responses": {
                    "200": {
                        "description": "로그아웃 성공"
                    },
                    "401": {
                        "description": "인증 실패"
                    }
                },
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ]
            }
        },
        "/api/member/index": {
            "get": {
                "tags": [
                    "Member"
                ],
                "summary": "회원 목록 조회",
                "description": "회원 목록을 조회합니다.",
                "operationId": "ced049450f232af2399028145777ed3c",
                "parameters": [
                    {
                        "name": "user_token",
                        "in": "query",
                        "description": "회원 인증용 토큰",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "abc123token"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "조회 타입: 기본(default), 상세(info)",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "default",
                                "info"
                            ],
                            "example": "default"
                        }
                    },
                    {
                        "name": "debug",
                        "in": "query",
                        "description": "디버그 모드 여부 (쿼리 로그 포함 여부)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "example": true
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "상태 필터링 (01,02,03 사용자만 조회)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "example": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "회원 목록 조회 성공",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "회원목록 조회 성공"
                                        },
                                        "data": {
                                            "properties": {
                                                "1": {
                                                    "properties": {
                                                        "mb_num": {
                                                            "type": "integer",
                                                            "example": 1
                                                        },
                                                        "tn_num": {
                                                            "type": "string",
                                                            "example": null
                                                        },
                                                        "mb_id": {
                                                            "type": "string",
                                                            "example": "admin"
                                                        },
                                                        "mb_name": {
                                                            "type": "string",
                                                            "example": "권혁성"
                                                        },
                                                        "mb_phone": {
                                                            "type": "string",
                                                            "example": "010-4820-9104"
                                                        },
                                                        "mb_mail": {
                                                            "type": "string",
                                                            "example": "shine1324@gmail.com"
                                                        },
                                                        "email_verified_at": {
                                                            "type": "string",
                                                            "format": "date-time",
                                                            "example": null
                                                        },
                                                        "mb_type": {
                                                            "type": "string",
                                                            "example": null
                                                        },
                                                        "mb_level": {
                                                            "type": "integer",
                                                            "example": 1
                                                        },
                                                        "last_login": {
                                                            "type": "string",
                                                            "format": "date-time",
                                                            "example": null
                                                        },
                                                        "reg_date": {
                                                            "type": "string",
                                                            "format": "date-time",
                                                            "example": "2025-07-16T09:28:41.000000Z"
                                                        },
                                                        "created_at": {
                                                            "type": "string",
                                                            "format": "date-time",
                                                            "example": null
                                                        },
                                                        "updated_at": {
                                                            "type": "string",
                                                            "format": "date-time",
                                                            "example": "2025-07-16T09:30:56.000000Z"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "query": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "example": "select * from `members`"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "인증 실패"
                    },
                    "403": {
                        "description": "권한 없음"
                    }
                },
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ]
            }
        },
        "/api/member/show/{user_no}": {
            "get": {
                "tags": [
                    "Member"
                ],
                "summary": "회원 상세조회",
                "description": "user_no 기준으로 회원 상세 정보를 조회합니다.",
                "operationId": "ed81df83f2079b81d2ba41c97e79633f",
                "parameters": [
                    {
                        "name": "user_no",
                        "in": "path",
                        "description": "회원 번호 (USER_NO)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    },
                    {
                        "name": "debug",
                        "in": "query",
                        "description": "디버그 모드 여부 (쿼리 확인용)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "example": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "조회 성공",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "회원 상세조회 성공"
                                        },
                                        "data": {
                                            "properties": {
                                                "mb_num": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "tn_num": {
                                                    "type": "string",
                                                    "example": null
                                                },
                                                "mb_id": {
                                                    "type": "string",
                                                    "example": "admin"
                                                },
                                                "mb_name": {
                                                    "type": "string",
                                                    "example": "권혁성"
                                                },
                                                "mb_phone": {
                                                    "type": "string",
                                                    "example": "010-4820-9104"
                                                },
                                                "mb_mail": {
                                                    "type": "string",
                                                    "example": "shine1324@gmail.com"
                                                },
                                                "email_verified_at": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "example": null
                                                },
                                                "mb_type": {
                                                    "type": "string",
                                                    "example": null
                                                },
                                                "mb_level": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "last_login": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "example": null
                                                },
                                                "reg_date": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "example": "2025-07-16T09:28:41.000000Z"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "example": null
                                                },
                                                "updated_at": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "example": "2025-07-16T09:30:56.000000Z"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "query": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "example": "select * from `members` where `mb_num` = 1 limit 1"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "회원 정보 없음"
                    },
                    "401": {
                        "description": "인증 실패"
                    }
                },
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ]
            }
        }
    },
    "tags": [
        {
            "name": "API Key 인증",
            "description": "API Key 인증"
        },
        {
            "name": "Auth",
            "description": "Auth"
        },
        {
            "name": "Member",
            "description": "Member"
        }
    ],
    "components": {
        "securitySchemes": {
            "ApiKeyAuth": {
                "type": "apiKey",
                "in": "header",
                "name": "X-API-KEY",
                "description": "API Key 인증: X-API-KEY: {API_KEY}}"
            }
        }
    }
}