{"name":"NLP Aggregator API","version":"1.6.6","status":"healthy","authenticated":false,"docs":"Documentation not available in production","authentication":{"required":true,"header_name":"X-API-Key","type":"Unkey API Key"},"endpoints":{"unified_analysis":{"method":"POST","path":"/api/v1/analyze","description":"Unified analysis endpoint - execute multiple NLP services in one request","requires_auth":true},"list_analysis_services":{"method":"GET","path":"/api/v1/analyze/services","description":"List metadata for all orchestrated NLP services","requires_auth":true},"analyze":{"method":"POST","path":"/api/analyze","description":"Unified text analysis with offset-based highlights","requires_auth":true},"analyze_prepare":{"method":"POST","path":"/api/analyze/prepare","description":"Phase 1: Return corrected text and diffs (no classification)","requires_auth":true},"analyze_classify":{"method":"POST","path":"/api/analyze/classify","description":"Phase 2: Classify provided diffs in batches","requires_auth":true},"cefr_predict":{"method":"POST","path":"/api/v1/cefr/predict","description":"Classify text CEFR level (A1-C2) using DistilBERT","requires_auth":true},"cefr_predict_batch":{"method":"POST","path":"/api/v1/cefr/predict-batch","description":"Batch CEFR classification for multiple texts","requires_auth":true},"topic_alignment_evaluate":{"method":"POST","path":"/api/v1/topic-alignment/evaluate","description":"Evaluate how well an essay aligns with a given topic (returns classification and score)","requires_auth":true},"topic_alignment_score":{"method":"POST","path":"/api/v1/topic-alignment/score","description":"Get alignment score without classification (quick endpoint)","requires_auth":true},"list_services":{"method":"GET","path":"/api/v1/analyze/services","description":"List all available NLP analysis services","requires_auth":true},"health":{"method":"GET","path":"/api/health","description":"Health check endpoint","requires_auth":false},"admin":{"create_key":{"method":"POST","path":"/api/admin/keys/create","description":"Create new API key (admin only)","requires_auth":true},"list_keys":{"method":"GET","path":"/api/admin/keys/list","description":"List all API keys (admin only)","requires_auth":true},"revoke_key":{"method":"DELETE","path":"/api/admin/keys/{key_id}","description":"Revoke API key (admin only)","requires_auth":true},"permissions":{"method":"GET","path":"/api/admin/permissions","description":"Get available permissions (admin only)","requires_auth":true},"stats":{"method":"GET","path":"/api/admin/stats","description":"Get admin statistics (admin only)","requires_auth":true}}},"limits":{"rate_limit":"100 requests per minute"}}