{
    "openapi": "3.1.0",
    "info": {
        "title": "FastAPI",
        "version": "0.1.0"
    },
    "paths": {
        "/api/users/register": {
            "post": {
                "tags": [
                    "users"
                ],
                "summary": "Create a new user",
                "description": "Create a new user",
                "operationId": "create_user_api_users_register_post",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserCreate"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/users/login": {
            "post": {
                "tags": [
                    "users"
                ],
                "summary": "Login a user",
                "description": "Login a user",
                "operationId": "login_api_users_login_post",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserLogin"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Token"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/users/me": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Get the current user",
                "description": "Get the current user",
                "operationId": "read_users_me_api_users_me_get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "users"
                ],
                "summary": "Update the current user",
                "description": "Update the current user",
                "operationId": "update_user_me_api_users_me_put",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserUpdate"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ]
            }
        },
        "/api/posts": {
            "post": {
                "tags": [
                    "posts"
                ],
                "summary": "Create a new post",
                "description": "Create a new post",
                "operationId": "create_post_api_posts_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PostCreate"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "posts"
                ],
                "summary": "List all posts",
                "description": "List all posts",
                "operationId": "list_posts_api_posts_get",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/PostStatus"
                        }
                    },
                    {
                        "name": "author_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Author Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PostResponse"
                                    },
                                    "title": "Response List Posts Api Posts Get"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}": {
            "get": {
                "tags": [
                    "posts"
                ],
                "summary": "Get a specific post",
                "description": "Get a specific post",
                "operationId": "get_post_api_posts__post_id__get",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "posts"
                ],
                "summary": "Update a post, including title, content and tags of a post",
                "description": "Update a post",
                "operationId": "update_post_api_posts__post_id__put",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PostUpdate"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "posts"
                ],
                "summary": "Delete a post and all its comments and replies",
                "description": "Delete a post and all its comments and replies",
                "operationId": "delete_post_api_posts__post_id__delete",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Response"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}:activatePost": {
            "post": {
                "tags": [
                    "posts"
                ],
                "summary": "Activate a post",
                "description": "Activate a post",
                "operationId": "activate_post_api_posts__post_id__activatePost_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}:modifyPost": {
            "post": {
                "tags": [
                    "posts"
                ],
                "summary": "Put a post in modifying status",
                "description": "Put a post in modifying status",
                "operationId": "modify_post_api_posts__post_id__modifyPost_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}:archivePost": {
            "post": {
                "tags": [
                    "posts"
                ],
                "summary": "Archive a post",
                "description": "Archive a post",
                "operationId": "archive_post_api_posts__post_id__archivePost_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments": {
            "post": {
                "tags": [
                    "comments"
                ],
                "summary": "Create a comment on a post",
                "description": "Create a comment on a post",
                "operationId": "create_comment_api_posts__post_id__comments_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CommentCreate"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CommentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "comments"
                ],
                "summary": "List all comments on a post",
                "description": "List all comments on a post",
                "operationId": "list_comments_api_posts__post_id__comments_get",
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CommentResponse"
                                    },
                                    "title": "Response List Comments Api Posts  Post Id  Comments Get"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}": {
            "get": {
                "tags": [
                    "comments"
                ],
                "summary": "Get a specific comment on a post",
                "description": "Get a specific comment",
                "operationId": "get_comment_api_posts__post_id__comments__comment_id__get",
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CommentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "comments"
                ],
                "summary": "Update a comment on a post",
                "description": "Update a comment",
                "operationId": "update_comment_api_posts__post_id__comments__comment_id__put",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CommentUpdate"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CommentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "comments"
                ],
                "summary": "Delete a comment on a post",
                "description": "Delete a comment and all its replies.",
                "operationId": "delete_comment_api_posts__post_id__comments__comment_id__delete",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Response"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}:activateComment": {
            "post": {
                "tags": [
                    "comments"
                ],
                "summary": "Activate a comment on a post",
                "description": "Activate a comment",
                "operationId": "activate_comment_api_posts__post_id__comments__comment_id__activateComment_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CommentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}:archiveComment": {
            "post": {
                "tags": [
                    "comments"
                ],
                "summary": "Archive a comment on a post",
                "description": "Archive a comment",
                "operationId": "archive_comment_api_posts__post_id__comments__comment_id__archiveComment_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CommentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}/replies": {
            "post": {
                "tags": [
                    "replies"
                ],
                "summary": "Create a reply to a comment",
                "description": "Create a reply to a comment",
                "operationId": "create_reply_api_posts__post_id__comments__comment_id__replies_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyCreate"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReplyResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "replies"
                ],
                "summary": "List all replies to a comment",
                "description": "List all replies to a comment",
                "operationId": "list_replies_api_posts__post_id__comments__comment_id__replies_get",
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ReplyResponse"
                                    },
                                    "title": "Response List Replies Api Posts  Post Id  Comments  Comment Id  Replies Get"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}/replies/{reply_id}": {
            "get": {
                "tags": [
                    "replies"
                ],
                "summary": "Get a specific reply to a comment",
                "description": "Get a specific reply",
                "operationId": "get_reply_api_posts__post_id__comments__comment_id__replies__reply_id__get",
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    },
                    {
                        "name": "reply_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Reply Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReplyResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "replies"
                ],
                "summary": "Update a reply to a comment",
                "description": "Update a reply",
                "operationId": "update_reply_api_posts__post_id__comments__comment_id__replies__reply_id__put",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    },
                    {
                        "name": "reply_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Reply Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyUpdate"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReplyResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "replies"
                ],
                "summary": "Delete a reply",
                "description": "Delete a reply",
                "operationId": "delete_reply_api_posts__post_id__comments__comment_id__replies__reply_id__delete",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    },
                    {
                        "name": "reply_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Reply Id"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Response"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}/replies/{reply_id}:activateReply": {
            "post": {
                "tags": [
                    "replies"
                ],
                "summary": "Activate a reply",
                "description": "Activate a reply",
                "operationId": "activate_reply_api_posts__post_id__comments__comment_id__replies__reply_id__activateReply_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    },
                    {
                        "name": "reply_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Reply Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReplyResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/posts/{post_id}/comments/{comment_id}/replies/{reply_id}:archiveReply": {
            "post": {
                "tags": [
                    "replies"
                ],
                "summary": "Archive a reply",
                "description": "Archive a reply",
                "operationId": "archive_reply_api_posts__post_id__comments__comment_id__replies__reply_id__archiveReply_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "post_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Post Id"
                        }
                    },
                    {
                        "name": "comment_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Comment Id"
                        }
                    },
                    {
                        "name": "reply_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Reply Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReplyResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reactions/{target_type}/{target_id}": {
            "post": {
                "tags": [
                    "reactions"
                ],
                "summary": "Create a reaction on a target object: post, comment, or reply",
                "description": "Create a reaction",
                "operationId": "create_reaction_api_reactions__target_type___target_id__post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "target_type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "$ref": "#/components/schemas/TargetType"
                        }
                    },
                    {
                        "name": "target_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Target Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReactionCreate"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReactionResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/tags/": {
            "get": {
                "tags": [
                    "tags"
                ],
                "summary": "List all tags",
                "description": "List all tags",
                "operationId": "list_tags_api_tags__get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "items": {
                                        "$ref": "#/components/schemas/TagResponse"
                                    },
                                    "type": "array",
                                    "title": "Response List Tags Api Tags  Get"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "tags"
                ],
                "summary": "Create a new tag",
                "description": "Create a new tag",
                "operationId": "create_tag_api_tags__post",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TagCreate"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TagResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ]
            }
        },
        "/api/tags/{tag_id}": {
            "get": {
                "tags": [
                    "tags"
                ],
                "summary": "Get a specific tag",
                "description": "Get a specific tag",
                "operationId": "get_tag_api_tags__tag_id__get",
                "parameters": [
                    {
                        "name": "tag_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Tag Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TagResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "tags"
                ],
                "summary": "Update a tag",
                "description": "Update a tag",
                "operationId": "update_tag_api_tags__tag_id__put",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "tag_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Tag Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TagUpdate"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TagResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "tags"
                ],
                "summary": "Delete a tag",
                "description": "Delete a tag",
                "operationId": "delete_tag_api_tags__tag_id__delete",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "tag_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Tag Id"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Response"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/tags/{tag_id}:archiveTag": {
            "post": {
                "tags": [
                    "tags"
                ],
                "summary": "Archive a tag",
                "description": "Archive a tag",
                "operationId": "archive_tag_api_tags__tag_id__archiveTag_post",
                "security": [
                    {
                        "OAuth2PasswordBearer": []
                    }
                ],
                "parameters": [
                    {
                        "name": "tag_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Tag Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TagResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "CommentCreate": {
                "properties": {
                    "content": {
                        "type": "string",
                        "title": "Content",
                        "description": "评论内容"
                    }
                },
                "type": "object",
                "required": [
                    "content"
                ],
                "title": "CommentCreate",
                "description": "创建评论请求模型"
            },
            "CommentResponse": {
                "properties": {
                    "content": {
                        "type": "string",
                        "title": "Content",
                        "description": "评论内容"
                    },
                    "id": {
                        "type": "string",
                        "title": "Id",
                        "description": "评论ID"
                    },
                    "post_id": {
                        "type": "string",
                        "title": "Post Id",
                        "description": "文章ID"
                    },
                    "author_id": {
                        "type": "string",
                        "title": "Author Id",
                        "description": "作者ID"
                    },
                    "status": {
                        "$ref": "#/components/schemas/CommentStatus",
                        "description": "评论状态"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At",
                        "description": "创建时间"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Updated At",
                        "description": "更新时间"
                    },
                    "likes_count": {
                        "type": "integer",
                        "title": "Likes Count",
                        "description": "点赞数",
                        "default": 0
                    },
                    "dislikes_count": {
                        "type": "integer",
                        "title": "Dislikes Count",
                        "description": "点踩数",
                        "default": 0
                    }
                },
                "type": "object",
                "required": [
                    "content",
                    "id",
                    "post_id",
                    "author_id",
                    "status",
                    "created_at",
                    "updated_at"
                ],
                "title": "CommentResponse",
                "description": "评论响应模型"
            },
            "CommentStatus": {
                "type": "string",
                "enum": [
                    "DRAFT",
                    "ACTIVE",
                    "ARCHIVED"
                ],
                "title": "CommentStatus",
                "description": "Comment status"
            },
            "CommentUpdate": {
                "properties": {
                    "content": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Content",
                        "description": "评论内容"
                    }
                },
                "type": "object",
                "title": "CommentUpdate",
                "description": "更新评论请求模型"
            },
            "HTTPValidationError": {
                "properties": {
                    "detail": {
                        "items": {
                            "$ref": "#/components/schemas/ValidationError"
                        },
                        "type": "array",
                        "title": "Detail"
                    }
                },
                "type": "object",
                "title": "HTTPValidationError"
            },
            "PostCreate": {
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "title": "Title"
                    },
                    "content": {
                        "type": "string",
                        "minLength": 1,
                        "title": "Content"
                    },
                    "tag_ids": {
                        "anyOf": [
                            {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Tag Ids",
                        "description": "标签ID列表"
                    }
                },
                "type": "object",
                "required": [
                    "title",
                    "content"
                ],
                "title": "PostCreate",
                "description": "创建文章请求模型"
            },
            "PostResponse": {
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "title": "Title"
                    },
                    "content": {
                        "type": "string",
                        "minLength": 1,
                        "title": "Content"
                    },
                    "tag_ids": {
                        "anyOf": [
                            {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Tag Ids",
                        "description": "标签ID列表"
                    },
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "author_id": {
                        "type": "string",
                        "title": "Author Id"
                    },
                    "status": {
                        "$ref": "#/components/schemas/PostStatus"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Updated At"
                    },
                    "likes_count": {
                        "type": "integer",
                        "title": "Likes Count"
                    },
                    "dislikes_count": {
                        "type": "integer",
                        "title": "Dislikes Count"
                    },
                    "views_count": {
                        "type": "integer",
                        "title": "Views Count"
                    },
                    "comments_count": {
                        "type": "integer",
                        "title": "Comments Count"
                    },
                    "author": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/UserResponse"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "type": "object",
                "required": [
                    "title",
                    "content",
                    "id",
                    "author_id",
                    "status",
                    "created_at",
                    "updated_at",
                    "likes_count",
                    "dislikes_count",
                    "views_count",
                    "comments_count"
                ],
                "title": "PostResponse",
                "description": "文章响应模型"
            },
            "PostStatus": {
                "type": "string",
                "enum": [
                    "DRAFT",
                    "ACTIVE",
                    "MODIFYING",
                    "ARCHIVED"
                ],
                "title": "PostStatus",
                "description": "Post status"
            },
            "PostUpdate": {
                "properties": {
                    "title": {
                        "anyOf": [
                            {
                                "type": "string",
                                "maxLength": 100,
                                "minLength": 1
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Title"
                    },
                    "content": {
                        "anyOf": [
                            {
                                "type": "string",
                                "minLength": 1
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Content"
                    },
                    "status": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/PostStatus"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "tag_ids": {
                        "anyOf": [
                            {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Tag Ids",
                        "description": "标签ID列表"
                    }
                },
                "type": "object",
                "title": "PostUpdate",
                "description": "更新文章请求模型"
            },
            "ReactionCreate": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/ReactionType",
                        "description": "反应类型"
                    }
                },
                "type": "object",
                "required": [
                    "type"
                ],
                "title": "ReactionCreate",
                "description": "创建反应请求模型"
            },
            "ReactionResponse": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/ReactionType",
                        "description": "反应类型"
                    },
                    "id": {
                        "type": "string",
                        "title": "Id",
                        "description": "反应ID"
                    },
                    "user_id": {
                        "type": "string",
                        "title": "User Id",
                        "description": "用户ID"
                    },
                    "target_id": {
                        "type": "string",
                        "title": "Target Id",
                        "description": "目标ID"
                    },
                    "target_type": {
                        "$ref": "#/components/schemas/TargetType",
                        "description": "目标类型"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At",
                        "description": "创建时间"
                    }
                },
                "type": "object",
                "required": [
                    "type",
                    "id",
                    "user_id",
                    "target_id",
                    "target_type",
                    "created_at"
                ],
                "title": "ReactionResponse",
                "description": "反应响应模型"
            },
            "ReactionType": {
                "type": "string",
                "enum": [
                    "LIKE",
                    "DISLIKE"
                ],
                "title": "ReactionType",
                "description": "Reaction type"
            },
            "ReplyCreate": {
                "properties": {
                    "content": {
                        "type": "string",
                        "minLength": 1,
                        "title": "Content",
                        "description": "回复内容"
                    }
                },
                "type": "object",
                "required": [
                    "content"
                ],
                "title": "ReplyCreate",
                "description": "创建回复请求模型"
            },
            "ReplyResponse": {
                "properties": {
                    "content": {
                        "type": "string",
                        "minLength": 1,
                        "title": "Content",
                        "description": "回复内容"
                    },
                    "id": {
                        "type": "string",
                        "title": "Id",
                        "description": "回复ID"
                    },
                    "comment_id": {
                        "type": "string",
                        "title": "Comment Id",
                        "description": "评论ID"
                    },
                    "author_id": {
                        "type": "string",
                        "title": "Author Id",
                        "description": "作者ID"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ReplyStatus",
                        "description": "回复状态"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At",
                        "description": "创建时间"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Updated At",
                        "description": "更新时间"
                    },
                    "likes_count": {
                        "type": "integer",
                        "title": "Likes Count",
                        "description": "点赞数",
                        "default": 0
                    },
                    "dislikes_count": {
                        "type": "integer",
                        "title": "Dislikes Count",
                        "description": "点踩数",
                        "default": 0
                    }
                },
                "type": "object",
                "required": [
                    "content",
                    "id",
                    "comment_id",
                    "author_id",
                    "status",
                    "created_at",
                    "updated_at"
                ],
                "title": "ReplyResponse",
                "description": "回复响应模型"
            },
            "ReplyStatus": {
                "type": "string",
                "enum": [
                    "DRAFT",
                    "ACTIVE",
                    "ARCHIVED"
                ],
                "title": "ReplyStatus",
                "description": "Reply status"
            },
            "ReplyUpdate": {
                "properties": {
                    "content": {
                        "type": "string",
                        "minLength": 1,
                        "title": "Content",
                        "description": "回复内容"
                    }
                },
                "type": "object",
                "required": [
                    "content"
                ],
                "title": "ReplyUpdate",
                "description": "更新回复请求模型"
            },
            "TagCreate": {
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "title": "Name",
                        "description": "标签名称"
                    },
                    "description": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Description",
                        "description": "标签描述"
                    }
                },
                "type": "object",
                "required": [
                    "name"
                ],
                "title": "TagCreate",
                "description": "创建标签请求模型"
            },
            "TagResponse": {
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "title": "Name",
                        "description": "标签名称"
                    },
                    "description": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Description",
                        "description": "标签描述"
                    },
                    "id": {
                        "type": "string",
                        "title": "Id",
                        "description": "标签ID"
                    },
                    "creator_id": {
                        "type": "string",
                        "title": "Creator Id",
                        "description": "创建者ID"
                    },
                    "status": {
                        "$ref": "#/components/schemas/TagStatus",
                        "description": "标签状态"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At",
                        "description": "创建时间"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Updated At",
                        "description": "更新时间"
                    },
                    "usage_count": {
                        "type": "integer",
                        "title": "Usage Count",
                        "description": "使用次数"
                    }
                },
                "type": "object",
                "required": [
                    "name",
                    "id",
                    "creator_id",
                    "status",
                    "created_at",
                    "updated_at",
                    "usage_count"
                ],
                "title": "TagResponse",
                "description": "标签响应模型"
            },
            "TagStatus": {
                "type": "string",
                "enum": [
                    "ACTIVE",
                    "ARCHIVED"
                ],
                "title": "TagStatus",
                "description": "Tag status"
            },
            "TagUpdate": {
                "properties": {
                    "name": {
                        "anyOf": [
                            {
                                "type": "string",
                                "maxLength": 50,
                                "minLength": 1
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Name",
                        "description": "标签名称"
                    },
                    "description": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Description",
                        "description": "标签描述"
                    }
                },
                "type": "object",
                "title": "TagUpdate",
                "description": "更新标签请求模型"
            },
            "TargetType": {
                "type": "string",
                "enum": [
                    "post",
                    "comment",
                    "reply"
                ],
                "title": "TargetType",
                "description": "Target type"
            },
            "Token": {
                "properties": {
                    "access_token": {
                        "type": "string",
                        "title": "Access Token"
                    },
                    "token_type": {
                        "type": "string",
                        "title": "Token Type"
                    }
                },
                "type": "object",
                "required": [
                    "access_token",
                    "token_type"
                ],
                "title": "Token"
            },
            "UserCreate": {
                "properties": {
                    "username": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 3,
                        "title": "Username"
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "title": "Email"
                    },
                    "bio": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Bio"
                    },
                    "password": {
                        "type": "string",
                        "minLength": 8,
                        "title": "Password"
                    }
                },
                "type": "object",
                "required": [
                    "username",
                    "email",
                    "password"
                ],
                "title": "UserCreate"
            },
            "UserLogin": {
                "properties": {
                    "username": {
                        "type": "string",
                        "title": "Username"
                    },
                    "password": {
                        "type": "string",
                        "title": "Password"
                    }
                },
                "type": "object",
                "required": [
                    "username",
                    "password"
                ],
                "title": "UserLogin"
            },
            "UserResponse": {
                "properties": {
                    "username": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 3,
                        "title": "Username"
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "title": "Email"
                    },
                    "bio": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Bio"
                    },
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    },
                    "last_login": {
                        "anyOf": [
                            {
                                "type": "string",
                                "format": "date-time"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Last Login"
                    },
                    "is_active": {
                        "type": "boolean",
                        "title": "Is Active"
                    }
                },
                "type": "object",
                "required": [
                    "username",
                    "email",
                    "id",
                    "created_at",
                    "is_active"
                ],
                "title": "UserResponse"
            },
            "UserUpdate": {
                "properties": {
                    "bio": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Bio"
                    }
                },
                "type": "object",
                "title": "UserUpdate"
            },
            "ValidationError": {
                "properties": {
                    "loc": {
                        "items": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "integer"
                                }
                            ]
                        },
                        "type": "array",
                        "title": "Location"
                    },
                    "msg": {
                        "type": "string",
                        "title": "Message"
                    },
                    "type": {
                        "type": "string",
                        "title": "Error Type"
                    }
                },
                "type": "object",
                "required": [
                    "loc",
                    "msg",
                    "type"
                ],
                "title": "ValidationError"
            }
        },
        "securitySchemes": {
            "OAuth2PasswordBearer": {
                "type": "oauth2",
                "flows": {
                    "password": {
                        "scopes": {},
                        "tokenUrl": "api/users/login"
                    }
                }
            }
        }
    }
}