{"success":true,"data":{"openapi":"3.0.0","info":{"title":"DishBook API","version":"3.0.0","description":"DishBook recipe generation, translation, and admin API","contact":{"name":"DishBook","url":"https://www.dishbookapp.com","email":"support@dishbookapp.com"}},"servers":[{"url":"https://api.dishbookapp.com","description":"Production server"},{"url":"http://localhost:3535","description":"Development server"}],"paths":{"/api/system/status":{"get":{"summary":"Get system status","description":"Returns comprehensive system status including all services and projects","responses":{"200":{"description":"System status retrieved successfully"},"503":{"description":"Service degraded or unavailable"}}}},"/api/recipe":{"post":{"summary":"Create or search recipes","description":"Create a new recipe using AI or search for existing recipes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","userId","region","difficulty","people"],"properties":{"type":{"type":"string","enum":["create","search"]},"userId":{"type":"string"},"term":{"type":"string"},"region":{"type":"string"},"difficulty":{"type":"string","enum":["Easy","Medium","Hard"]},"people":{"type":"integer","minimum":1,"maximum":20},"category":{"type":"string"},"restrictions":{"type":"array","items":{"type":"string"}},"materials":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Recipe created or found successfully"},"400":{"description":"Invalid request data"},"500":{"description":"Server error"}}}},"/api/translation/translate":{"post":{"summary":"Translate text","description":"Translate text from source language to target language","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text","targetLanguage"],"properties":{"text":{"type":"string","maxLength":5000},"targetLanguage":{"type":"string","pattern":"^[a-z]{2}(-[A-Z]{2})?$"},"sourceLanguage":{"type":"string","pattern":"^[a-z]{2}(-[A-Z]{2})?$"}}}}}},"responses":{"200":{"description":"Translation completed successfully"},"400":{"description":"Invalid request data"},"500":{"description":"Translation failed"}}}}},"components":{"schemas":{"ApiResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object"},"error":{"type":"string"},"message":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}},"required":["success","timestamp"]}}}},"message":"API documentation retrieved successfully","timestamp":"2026-05-13T20:27:38.743Z"}