# User APIs ## Create User ``` POST /api/v1/user ``` **Request Body** ```json { "username": "john", "role": "USER", "email": "john@example.com", "nickname": "John", "password": "password123" } ``` **Response** ```json { "id": 123, "username": "john", "role": "USER", "email": "john@example.com", "nickname": "John", "avatarUrl": "", "createdTs": 1596647800, "updatedTs": 1596647800 } ``` **Status Codes** - 200: Success - 400: Validation error - 401: Unauthorized - 403: Forbidden to create host user - 500: Internal server error ## Get User List ``` GET /api/v1/user ``` **Response** ```json [ { "id": 123, "username": "john", "role": "USER" // other fields }, { "id": 456, "username": "mary", "role": "ADMIN" // other fields } ] ``` **Status Codes** - 200: Success - 500: Internal server error ## Get User By ID ``` GET /api/v1/user/:id ``` **Response** ```json { "id": 123, "username": "john", "role": "USER" // other fields } ``` **Status Codes** - 200: Success - 404: Not found - 500: Internal server error ## Update User ``` PATCH /api/v1/user/:id ``` **Request Body** ```json { "username": "johnny", "email": "johnny@example.com", "nickname": "Johnny", "avatarUrl": "https://avatars.example.com/u=123" } ``` **Response** ```json { "id": 123, "username": "johnny", "role": "USER", "email": "johnny@example.com", "nickname": "Johnny", "avatarUrl": "https://avatars.example.com/u=123", "createdTs": 1596647800, "updatedTs": 1596647900 } ``` **Status Codes** - 200: Success - 400: Validation error - 403: Forbidden - 404: Not found - 500: Internal server error ## Delete User ``` DELETE /api/v1/user/:id ``` **Status Codes** - 200: Success - 403: Forbidden - 404: Not found - 500: Internal server error ## Get Current User ``` GET /api/v1/user/me ``` **Response** Same as **Get User By ID** **Status Codes** - 200: Success - 401: Unauthorized - 500: Internal server error