{"openapi":"3.1.0","info":{"title":"FastAPI Wow API","description":"A polished FastAPI sample with beautiful docs, health checks, and fun endpoints.","version":"1.0.0"},"paths":{"/api/v1/posts/structure":{"get":{"tags":["Posts"],"summary":"Get Structure","operationId":"get_structure_api_v1_posts_structure_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FolderResponse"},"type":"array","title":"Response Get Structure Api V1 Posts Structure Get"}}}}}}},"/api/v1/posts/folders":{"put":{"tags":["Posts"],"summary":"Rename Folder","operationId":"rename_folder_api_v1_posts_folders_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderRenameRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Posts"],"summary":"Create Folder","operationId":"create_folder_api_v1_posts_folders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/folders/{folder_name}":{"delete":{"tags":["Posts"],"summary":"Delete Folder","operationId":"delete_folder_api_v1_posts_folders__folder_name__delete","parameters":[{"name":"folder_name","in":"path","required":true,"schema":{"type":"string","title":"Folder Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/articles":{"post":{"tags":["Posts"],"summary":"Create Article","operationId":"create_article_api_v1_posts_articles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/articles/{folder_name}/{post_id}":{"get":{"tags":["Posts"],"summary":"Get Article","operationId":"get_article_api_v1_posts_articles__folder_name___post_id__get","parameters":[{"name":"folder_name","in":"path","required":true,"schema":{"type":"string","title":"Folder Name"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Article","operationId":"update_article_api_v1_posts_articles__folder_name___post_id__put","parameters":[{"name":"folder_name","in":"path","required":true,"schema":{"type":"string","title":"Folder Name"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Posts"],"summary":"Delete Article","operationId":"delete_article_api_v1_posts_articles__folder_name___post_id__delete","parameters":[{"name":"folder_name","in":"path","required":true,"schema":{"type":"string","title":"Folder Name"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/upload-image":{"post":{"tags":["Posts"],"summary":"Upload Image","operationId":"upload_image_api_v1_posts_upload_image_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_image_api_v1_posts_upload_image_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api":{"get":{"tags":["API"],"summary":"Read Api","operationId":"read_api_api_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}}}},"/health":{"get":{"tags":["Health"],"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/v1/info":{"get":{"tags":["Info"],"summary":"App Info","operationId":"app_info_api_v1_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppInfoResponse"}}}}}}},"/api/v1/random":{"get":{"tags":["Random"],"summary":"Random Number","operationId":"random_number_api_v1_random_get","parameters":[{"name":"from_num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Lower bound of the random range.","default":1,"title":"From Num"},"description":"Lower bound of the random range."},{"name":"to_num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Upper bound of the random range.","default":100000,"title":"To Num"},"description":"Upper bound of the random range."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RandomResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/random/{from_num}/{to_num}":{"get":{"tags":["Random"],"summary":"Random Number Path","operationId":"random_number_path_api_v1_random__from_num___to_num__get","parameters":[{"name":"from_num","in":"path","required":true,"schema":{"type":"integer","title":"From Num"}},{"name":"to_num","in":"path","required":true,"schema":{"type":"integer","title":"To Num"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RandomResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/uuid":{"get":{"tags":["Utility"],"summary":"Generate Uuid","operationId":"generate_uuid_api_v1_uuid_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}}}},"/api/v1/quote":{"get":{"tags":["Fun"],"summary":"Random Quote","operationId":"random_quote_api_v1_quote_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}}}},"/api/v1/gemini/reset":{"post":{"tags":["AI"],"summary":"Gemini Reset","operationId":"gemini_reset_api_v1_gemini_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/gemini/models":{"get":{"tags":["AI"],"summary":"Gemini Models","operationId":"gemini_models_api_v1_gemini_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/gemini/chat":{"post":{"tags":["AI"],"summary":"Gemini Chat","operationId":"gemini_chat_api_v1_gemini_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gemini/embed-compare":{"post":{"tags":["AI"],"summary":"Gemini Embed Compare","operationId":"gemini_embed_compare_api_v1_gemini_embed_compare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbedCompareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gemini/image":{"post":{"tags":["AI"],"summary":"Gemini Image","operationId":"gemini_image_api_v1_gemini_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"tags":["Web"],"summary":"Read Root","operationId":"read_root__get","responses":{"200":{"description":"Successful Response"}}}}},"components":{"schemas":{"AppInfoResponse":{"properties":{"app":{"type":"string","title":"App"},"version":{"type":"string","title":"Version"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"uptime_seconds":{"type":"number","title":"Uptime Seconds"},"available_endpoints":{"items":{"type":"string"},"type":"array","title":"Available Endpoints"}},"type":"object","required":["app","version","started_at","uptime_seconds","available_endpoints"],"title":"AppInfoResponse"},"ArticleCreateRequest":{"properties":{"folder_name":{"type":"string","title":"Folder Name"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"}},"type":"object","required":["folder_name","title","content"],"title":"ArticleCreateRequest"},"ArticleUpdateRequest":{"properties":{"folder_name":{"type":"string","title":"Folder Name"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"new_folder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Folder Name"}},"type":"object","required":["folder_name","title","content"],"title":"ArticleUpdateRequest"},"Body_upload_image_api_v1_posts_upload_image_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_image_api_v1_posts_upload_image_post"},"ChatMessage":{"properties":{"role":{"type":"string","title":"Role"},"message":{"type":"string","title":"Message"}},"type":"object","required":["role","message"],"title":"ChatMessage"},"ChatRequest":{"properties":{"message":{"type":"string","title":"Message"},"grounding":{"type":"boolean","title":"Grounding","default":false},"history":{"items":{"$ref":"#/components/schemas/ChatMessage"},"type":"array","title":"History","default":[]}},"type":"object","required":["message"],"title":"ChatRequest"},"EmbedCompareRequest":{"properties":{"text1":{"type":"string","title":"Text1"},"text2":{"type":"string","title":"Text2"}},"type":"object","required":["text1","text2"],"title":"EmbedCompareRequest"},"FolderCreateRequest":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"FolderCreateRequest"},"FolderRenameRequest":{"properties":{"old_name":{"type":"string","title":"Old Name"},"new_name":{"type":"string","title":"New Name"}},"type":"object","required":["old_name","new_name"],"title":"FolderRenameRequest"},"FolderResponse":{"properties":{"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"posts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Posts"}},"type":"object","required":["name","path","posts"],"title":"FolderResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"uptime_seconds":{"type":"number","title":"Uptime Seconds"}},"type":"object","required":["status","uptime_seconds"],"title":"HealthResponse"},"ImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"}},"type":"object","required":["prompt"],"title":"ImageRequest"},"MessageResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"MessageResponse"},"RandomResponse":{"properties":{"random_number":{"type":"integer","title":"Random Number"},"lower_bound":{"type":"integer","title":"Lower Bound"},"upper_bound":{"type":"integer","title":"Upper Bound"}},"type":"object","required":["random_number","lower_bound","upper_bound"],"title":"RandomResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}