{"message":"Matchify Competitor Analysis API","version":"1.0.0","description":"API for category mapping, competitor finding, similarity analysis, Twitter scraping, LLM agent flow analysis, and image generation","endpoints":{"General":{"GET /openapi.json":"","GET /api/health":"Health check endpoint","GET /":"API root endpoint with dynamically generated documentation"},"product-analysis":{"POST /api/compare":"Compare customer's product with competitor products and return similarity scores.","POST /api/map-category":"Map a product description to the most relevant categories.","POST /api/find-competitors":"Find direct competitors by first mapping to category, then finding similar products.","GET /api/categories":"Get all available categories","GET /api/categories/{category_name}/products":"Get all products in a specific category","POST /api/analyze-product-competitors":"Optimized workflow: Map product to top 2 categories, scrape products, find top 10 competitors."},"llm":{"POST /api/llm-agent-flow/analyze":"Synchronously inserts report and returns report ID, then processes analysis in background","POST /api/llm-agent-flow/restart/{report_id}":"Restart the LLM analysis for an existing report using the same input data"},"supabase":{"GET /api/supabase/health":"Check Supabase connection health","POST /api/supabase/reports":"Create a new report with authentication","GET /api/supabase/reports/user/{user_id}":"Get all reports for a specific user with authentication","GET /api/supabase/reports/user/{user_id}/executive":"Get all reports for a specific user (executive view) with authentication","GET /api/supabase/reports/{report_id}":"Get a specific report by ID with authentication","PUT /api/supabase/reports/{report_id}":"Update an existing report with authentication","DELETE /api/supabase/reports/{report_id}":"Delete a report with authentication","POST /api/supabase/reports/upload-json":"Upload and insert report data from a JSON file","GET /api/supabase/reports/{report_id}/social-strategy":"Get the social strategy for a specific report by ID with authentication","GET /api/supabase/user-credits":"Get the current user's credit information including credits and plan","POST /api/supabase/user-credits":"Create user credits tracking for the new user, automatically assign Trial Plan"},"content-creation":{"POST /content-creation/generate":"Generate content based on the provided parameters","GET /content-creation/health":"Health check endpoint for content creation service"},"image-generation":{"POST /api/image-generation/generate":"Generate an image using Google's Gemini API","POST /api/image-generation/generate-and-save":"Generate an image and save it to the server","GET /api/image-generation/health":"Health check endpoint for image generation service","POST /api/image-generation/generate-meme-cartoon":"Generate a cartoon-style meme image using LLM-generated prompts","POST /api/image-generation/generate-meme-realistic":"Generate a realistic-style meme image using LLM-generated prompts","POST /api/image-generation/generate-fiction":"Generate a fictional, artistic illustration using LLM-generated prompts","POST /api/image-generation/generate-custom":"Generate a custom marketing image","POST /api/image-generation/generate-custom-multi-image":"Generate a custom image using multiple input images and text prompt","POST /api/image-generation/revise-image":"Revise an existing image using Google's Gemini API with image input and text prompt","GET /api/image-generation/models":"Get available image generation models"},"stripe":{"POST /api/stripe/webhooks":""}},"total_endpoints":35,"documentation":{"interactive_docs":"/docs","redoc":"/redoc","openapi_schema":"/openapi.json"}}