Invalid JSON:Expected ',' or '}' after property value in JSONat line 1308, column 1
| { | |
| "metadata": { | |
| "total_endpoints": 185, | |
| "api_version": "v1", | |
| "base_path": "/api/v1", | |
| "generated_at": "2025-06-17T10:14:00Z", | |
| "description": "Complete API contract for AegisLM SaaS Backend - Single Source of Truth" | |
| }, | |
| "endpoints": { | |
| "authentication": { | |
| "POST /auth/signup": { | |
| "description": "Register a new user account and send OTP verification email", | |
| "request": { | |
| "email": "string", | |
| "password": "string", | |
| "full_name": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "user_id": "string", | |
| "email": "string", | |
| "full_name": "string", | |
| "message": "string", | |
| "next_step": "string", | |
| "otp_length": "number", | |
| "otp_expiry_minutes": "number" | |
| } | |
| } | |
| }, | |
| "POST /auth/login": { | |
| "description": "Authenticate user and create Redis session", | |
| "request": { | |
| "email": "string", | |
| "password": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "session_id": "string", | |
| "access_token": "string", | |
| "token_type": "string", | |
| "session_type": "string", | |
| "expires_in": "number", | |
| "user": "UserResponse" | |
| } | |
| } | |
| }, | |
| "GET /auth/me": { | |
| "description": "Get current user profile from Redis session", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "UserResponse" | |
| } | |
| }, | |
| "GET /auth/validate-session/{session_id}": { | |
| "description": "Validate session from Redis", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "valid": "boolean", | |
| "user": "object" | |
| } | |
| } | |
| }, | |
| "POST /auth/logout": { | |
| "description": "Logout user by clearing session cookie", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "PUT /auth/me": { | |
| "description": "Update current user profile", | |
| "request": "UserUpdate", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "UserResponse" | |
| } | |
| }, | |
| "POST /auth/change-password": { | |
| "description": "Change user password", | |
| "request": { | |
| "current_password": "string", | |
| "new_password": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "POST /auth/reset-password": { | |
| "description": "Request password reset", | |
| "request": { | |
| "email": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "POST /auth/reset-password/confirm": { | |
| "description": "Confirm password reset with token", | |
| "request": { | |
| "token": "string", | |
| "new_password": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "DELETE /auth/deactivate": { | |
| "description": "Deactivate user account", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "GET /auth/stats": { | |
| "description": "Get user statistics", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "POST /auth/verify-otp": { | |
| "description": "Verify OTP and activate user account", | |
| "request": { | |
| "email": "string", | |
| "otp": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "user": "UserResponse", | |
| "message": "string", | |
| "next_step": "string" | |
| } | |
| } | |
| }, | |
| "POST /auth/resend-otp": { | |
| "description": "Resend OTP verification email", | |
| "request": { | |
| "email": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "message": "string", | |
| "otp_length": "number", | |
| "otp_expiry_minutes": "number" | |
| } | |
| } | |
| }, | |
| "POST /auth/verify-email": { | |
| "description": "Verify user email with token", | |
| "request": { | |
| "token": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "POST /auth/resend-verification": { | |
| "description": "Resend email verification", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| } | |
| }, | |
| "evaluations": { | |
| "POST /evaluations/": { | |
| "description": "Create a new evaluation job", | |
| "request": "EvaluationCreate", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "job_id": "string", | |
| "status": "string", | |
| "estimated_duration": "string" | |
| } | |
| }, | |
| "GET /evaluations/": { | |
| "description": "Get paginated evaluations for current user", | |
| "request": { | |
| "page": "number", | |
| "size": "number", | |
| "status_filter": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "EvaluationList" | |
| } | |
| }, | |
| "GET /evaluations/{evaluation_id}": { | |
| "description": "Get evaluation by ID", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "EvaluationResponse" | |
| } | |
| }, | |
| "GET /evaluations/job/{job_id}": { | |
| "description": "Get evaluation by job ID", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "EvaluationResponse" | |
| } | |
| }, | |
| "PUT /evaluations/{evaluation_id}": { | |
| "description": "Update evaluation metadata", | |
| "request": "EvaluationUpdate", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "EvaluationResponse" | |
| } | |
| }, | |
| "POST /evaluations/{evaluation_id}/cancel": { | |
| "description": "Cancel evaluation job", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "POST /evaluations/job/{job_id}/cancel": { | |
| "description": "Cancel evaluation job by job ID", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "GET /evaluations/job/{job_id}/status": { | |
| "description": "Get evaluation job status", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "job_id": "string", | |
| "status": "string", | |
| "progress": "number", | |
| "started_at": "datetime", | |
| "completed_at": "datetime", | |
| "error_message": "string" | |
| } | |
| }, | |
| "POST /evaluations/{evaluation_id}/execute-advanced": { | |
| "description": "Execute advanced unified evaluation with LLM Judge and Multi-turn Conversation", | |
| "request": { | |
| "enable_multi_turn": "boolean", | |
| "enable_llm_judge": "boolean", | |
| "max_conversation_turns": "number", | |
| "judge_evaluation_types": "array" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "GET /evaluations/{evaluation_id}/advanced-results": { | |
| "description": "Get comprehensive results from advanced unified evaluation execution", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "POST /evaluations/{evaluation_id}/execute": { | |
| "description": "Execute evaluation using unified execution pipeline", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "GET /evaluations/{evaluation_id}/unified-results": { | |
| "description": "Get comprehensive results from unified evaluation execution", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "GET /evaluations/stats/summary": { | |
| "description": "Get evaluation statistics for current user", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "EvaluationStats" | |
| } | |
| } | |
| }, | |
| "benchmarks": { | |
| "POST /benchmarks/": { | |
| "description": "Create a new benchmark comparison", | |
| "request": "BenchmarkRequest", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "GET /benchmarks/{benchmark_id}/status": { | |
| "description": "Get benchmark status", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "GET /benchmarks/{benchmark_id}/results": { | |
| "description": "Get benchmark results", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "GET /benchmarks/leaderboard": { | |
| "description": "Get model leaderboard", | |
| "request": { | |
| "metric": "string", | |
| "limit": "number" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "GET /benchmarks/": { | |
| "description": "List user's benchmarks", | |
| "request": { | |
| "page": "number", | |
| "size": "number" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "pagination": "object" | |
| } | |
| }, | |
| "DELETE /benchmarks/{benchmark_id}": { | |
| "description": "Delete a benchmark", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "metadata": "object" | |
| } | |
| }, | |
| "GET /benchmarks/health": { | |
| "description": "Health check for benchmark services", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "components": "object" | |
| } | |
| } | |
| } | |
| }, | |
| "datasets": { | |
| "GET /datasets/": { | |
| "description": "List all available datasets with filtering and pagination", | |
| "request": { | |
| "name": "string", | |
| "category": "string", | |
| "version": "string", | |
| "is_standard": "boolean", | |
| "page": "number", | |
| "size": "number" | |
| }, | |
| "response": "DatasetList" | |
| }, | |
| "GET /datasets/{dataset_id}": { | |
| "description": "Get detailed information about a specific dataset", | |
| "request": {}, | |
| "response": "Dataset" | |
| }, | |
| "GET /datasets/{dataset_id}/entries": { | |
| "description": "Get entries from a specific dataset with pagination", | |
| "request": { | |
| "page": "number", | |
| "size": "number" | |
| }, | |
| "response": { | |
| "entries": "array", | |
| "total": "number", | |
| "page": "number", | |
| "size": "number", | |
| "has_next": "boolean", | |
| "has_prev": "boolean" | |
| } | |
| }, | |
| "POST /datasets/": { | |
| "description": "Create a new dataset (Power User only)", | |
| "request": { | |
| "name": "string", | |
| "category": "string", | |
| "description": "string", | |
| "version": "string", | |
| "is_standard": "boolean" | |
| }, | |
| "response": "Dataset" | |
| }, | |
| "POST /datasets/{dataset_id}/upload": { | |
| "description": "Upload dataset entries from a JSON file (Power User only)", | |
| "request": "FormData", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "dataset_id": "string", | |
| "entries_uploaded": "number", | |
| "validation": "object" | |
| } | |
| }, | |
| "GET /datasets/{dataset_id}/stats": { | |
| "description": "Get statistics for a specific dataset", | |
| "request": {}, | |
| "response": "DatasetStats" | |
| }, | |
| "GET /datasets/standard/benchmarks": { | |
| "description": "Get list of available standard benchmarks", | |
| "request": {}, | |
| "response": { | |
| "benchmarks": "array", | |
| "total": "number" | |
| } | |
| }, | |
| "POST /datasets/standard/load/{benchmark_name}": { | |
| "description": "Load a standard benchmark dataset (Power User only)", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "dataset_id": "string", | |
| "entries_loaded": "number" | |
| } | |
| }, | |
| "PUT /datasets/{dataset_id}": { | |
| "description": "Update dataset metadata (Power User only)", | |
| "request": { | |
| "name": "string", | |
| "description": "string", | |
| "version": "string" | |
| }, | |
| "response": "Dataset" | |
| }, | |
| "DELETE /datasets/{dataset_id}": { | |
| "description": "Delete a dataset (Power User only)", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "dataset_id": "string" | |
| } | |
| }, | |
| "POST /datasets/{dataset_id}/validate": { | |
| "description": "Validate dataset structure and integrity (Power User only)", | |
| "request": {}, | |
| "response": "DatasetValidation" | |
| }, | |
| "GET /datasets/{dataset_id}/export": { | |
| "description": "Export dataset entries", | |
| "request": { | |
| "format": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "data": "object", | |
| "format": "string", | |
| "dataset_id": "string" | |
| } | |
| }, | |
| "GET /datasets/health": { | |
| "description": "Health check for dataset services", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "service": "string", | |
| "timestamp": "datetime" | |
| } | |
| } | |
| }, | |
| "analytics": { | |
| "POST /analytics/compare": { | |
| "description": "Compare multiple experiment runs", | |
| "request": "ComparisonRequest", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "POST /analytics/trend": { | |
| "description": "Analyze performance trends across multiple runs", | |
| "request": "TrendAnalysisRequest", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "POST /analytics/aggregate": { | |
| "description": "Aggregate metrics across multiple runs", | |
| "request": "AggregationRequest", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "POST /analytics/top-performers": { | |
| "description": "Get top performing models across multiple runs", | |
| "request": "TopPerformersRequest", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object", | |
| "metadata": "object" | |
| } | |
| }, | |
| "GET /analytics/summary": { | |
| "description": "Get analytics summary for the current user", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "GET /analytics/health": { | |
| "description": "Health check for analytics services", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": { | |
| "components": "object" | |
| } | |
| } | |
| }, | |
| "results": { | |
| "GET /results/job/{job_id}": { | |
| "description": "Get evaluation result by job ID", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "GET /results/evaluation/{evaluation_id}": { | |
| "description": "Get evaluation result by evaluation ID", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| }, | |
| "GET /results/": { | |
| "description": "Get paginated results for current user", | |
| "request": { | |
| "page": "number", | |
| "size": "number", | |
| "status_filter": "string" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "message": "string", | |
| "data": "object" | |
| } | |
| } | |
| }, | |
| "audit": { | |
| "GET /audit/runs": { | |
| "description": "List all audit runs with filtering and pagination", | |
| "request": { | |
| "run_id": "string", | |
| "status": "AuditStatus", | |
| "integrity_level": "IntegrityLevel", | |
| "start_date": "datetime", | |
| "end_date": "datetime", | |
| "page": "number", | |
| "size": "number" | |
| }, | |
| "response": "AuditList" | |
| }, | |
| "GET /audit/run/{run_id}": { | |
| "description": "Get detailed audit trail for a specific run", | |
| "request": {}, | |
| "response": "AuditTrail" | |
| }, | |
| "POST /audit/replay/{run_id}": { | |
| "description": "Replay an audit run for verification", | |
| "request": {}, | |
| "response": "object" | |
| }, | |
| "GET /audit/integrity/{run_id}": { | |
| "description": "Verify integrity of a specific run", | |
| "request": {}, | |
| "response": "IntegrityVerification" | |
| }, | |
| "GET /audit/system-integrity": { | |
| "description": "Get system-wide integrity report", | |
| "request": {}, | |
| "response": "SystemIntegrityReport" | |
| }, | |
| "GET /audit/statistics": { | |
| "description": "Get audit statistics", | |
| "request": {}, | |
| "response": "AuditStatistics" | |
| } | |
| }, | |
| "multimodal": { | |
| "POST /multimodal/evaluate": { | |
| "description": "Evaluate multi-modal input for adversarial vulnerabilities", | |
| "request": { | |
| "text": "string", | |
| "image": "File", | |
| "image_format": "string", | |
| "target_model": "string", | |
| "enable_image_attacks": "boolean", | |
| "enable_text_image_attacks": "boolean", | |
| "max_image_size": "number" | |
| }, | |
| "response": "MultimodalEvaluationResult" | |
| }, | |
| "GET /multimodal/supported-models": { | |
| "description": "Get list of supported multi-modal models", | |
| "request": {}, | |
| "response": { | |
| "models": "array", | |
| "capabilities": "object" | |
| } | |
| }, | |
| "POST /multimodal/batch-evaluate": { | |
| "description": "Batch evaluate multiple multi-modal inputs", | |
| "request": { | |
| "inputs": "array", | |
| "target_model": "string", | |
| "attack_config": "MultimodalAttackConfig" | |
| }, | |
| "response": { | |
| "results": "array", | |
| "summary": "object" | |
| } | |
| } | |
| }, | |
| "performance": { | |
| "GET /performance/metrics": { | |
| "description": "Get current performance metrics", | |
| "request": { | |
| "time_range": "string", | |
| "include_system": "boolean" | |
| }, | |
| "response": "PerformanceMetrics" | |
| }, | |
| "GET /performance/resources": { | |
| "description": "Get system resource usage", | |
| "request": {}, | |
| "response": "SystemResources" | |
| }, | |
| "GET /performance/history": { | |
| "description": "Get historical performance data", | |
| "request": { | |
| "time_range": "string", | |
| "metric_type": "string" | |
| }, | |
| "response": { | |
| "data": "array", | |
| "time_range": "string", | |
| "summary": "object" | |
| } | |
| }, | |
| "POST /performance/benchmark": { | |
| "description": "Run performance benchmark", | |
| "request": { | |
| "test_type": "string", | |
| "iterations": "number" | |
| }, | |
| "response": { | |
| "benchmark_id": "string", | |
| "results": "object", | |
| "summary": "object" | |
| } | |
| } | |
| }, | |
| "billing": { | |
| "GET /billing/plans": { | |
| "description": "Get available subscription plans", | |
| "request": {}, | |
| "response": "Plan[]" | |
| }, | |
| "GET /billing/subscription": { | |
| "description": "Get current user's subscription", | |
| "request": {}, | |
| "response": "Subscription" | |
| }, | |
| "POST /billing/checkout/create": { | |
| "description": "Create Stripe checkout session for subscription purchase", | |
| "request": { | |
| "plan_id": "string", | |
| "success_url": "string", | |
| "cancel_url": "string" | |
| }, | |
| "response": { | |
| "checkout_session_id": "string", | |
| "checkout_url": "string" | |
| } | |
| }, | |
| "POST /billing/customer/create": { | |
| "description": "Create or update Stripe customer", | |
| "request": { | |
| "email": "string", | |
| "name": "string", | |
| "billing_address": "BillingAddress", | |
| "payment_method_id": "string" | |
| }, | |
| "response": { | |
| "customer_id": "string", | |
| "email": "string", | |
| "name": "string" | |
| } | |
| }, | |
| "POST /billing/webhook/stripe": { | |
| "description": "Handle Stripe webhooks for payment processing", | |
| "request": "WebhookEvent", | |
| "response": { | |
| "status": "string", | |
| "event_type": "string" | |
| } | |
| }, | |
| "GET /billing/usage": { | |
| "description": "Get current user's usage statistics", | |
| "request": {}, | |
| "response": "UsageStats" | |
| }, | |
| "GET /billing/invoices": { | |
| "description": "Get user's billing history and invoices", | |
| "request": { | |
| "page": "number", | |
| "size": "number" | |
| }, | |
| "response": "Invoice[]" | |
| }, | |
| "POST /billing/subscription/cancel": { | |
| "description": "Cancel user's subscription", | |
| "request": {}, | |
| "response": { | |
| "message": "string" | |
| } | |
| }, | |
| "PUT /billing/subscription/update": { | |
| "description": "Update user's subscription to a different plan", | |
| "request": { | |
| "plan_id": "string" | |
| }, | |
| "response": { | |
| "message": "string" | |
| } | |
| }, | |
| "GET /billing/payment-methods": { | |
| "description": "Get user's saved payment methods", | |
| "request": {}, | |
| "response": "PaymentMethod[]" | |
| }, | |
| "POST /billing/payment-methods/add": { | |
| "description": "Add a new payment method", | |
| "request": { | |
| "payment_method_id": "string" | |
| }, | |
| "response": { | |
| "message": "string" | |
| } | |
| }, | |
| "DELETE /billing/payment-methods/{payment_method_id}": { | |
| "description": "Remove a payment method", | |
| "request": {}, | |
| "response": { | |
| "message": "string" | |
| } | |
| }, | |
| "GET /billing/health": { | |
| "description": "Health check for billing services", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "service": "string", | |
| "timestamp": "datetime" | |
| } | |
| } | |
| }, | |
| "razorpay": { | |
| "POST /razorpay/payments/create": { | |
| "description": "Create a new Razorpay payment", | |
| "request": "PaymentRequest", | |
| "response": "PaymentResponse" | |
| }, | |
| "POST /razorpay/payments/capture/{payment_id}": { | |
| "description": "Capture a Razorpay payment", | |
| "request": { | |
| "amount": "number" | |
| }, | |
| "response": "PaymentResponse" | |
| }, | |
| "POST /razorpay/payments/refund/{payment_id}": { | |
| "description": "Refund a Razorpay payment", | |
| "request": "RefundRequest", | |
| "response": "RefundResponse" | |
| }, | |
| "POST /razorpay/customers/create": { | |
| "description": "Create a Razorpay customer", | |
| "request": "CustomerRequest", | |
| "response": "CustomerResponse" | |
| }, | |
| "GET /razorpay/customers/{customer_id}/payment-methods": { | |
| "description": "Get available payment methods for a customer", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "customer_id": "string", | |
| "available_methods": "array", | |
| "customer_info": "object" | |
| } | |
| }, | |
| "POST /razorpay/subscriptions/create": { | |
| "description": "Create a Razorpay subscription", | |
| "request": "SubscriptionRequest", | |
| "response": "SubscriptionResponse" | |
| }, | |
| "POST /razorpay/subscriptions/{subscription_id}/cancel": { | |
| "description": "Cancel a Razorpay subscription", | |
| "request": { | |
| "cancel_at_cycle_end": "boolean" | |
| }, | |
| "response": { | |
| "success": "boolean", | |
| "subscription_id": "string", | |
| "status": "string", | |
| "ended_at": "datetime", | |
| "cancelled_at": "datetime" | |
| } | |
| }, | |
| "GET /razorpay/payments/{payment_id}": { | |
| "description": "Get payment details", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "payment": "object" | |
| } | |
| }, | |
| "GET /razorpay/subscriptions/{subscription_id}": { | |
| "description": "Get subscription details", | |
| "request": {}, | |
| "response": { | |
| "success": "boolean", | |
| "subscription": "object" | |
| } | |
| }, | |
| "POST /razorpay/webhooks/razorpay": { | |
| "description": "Handle Razorpay webhooks", | |
| "request": "WebhookEvent", | |
| "response": { | |
| "success": "boolean", | |
| "message": "string" | |
| } | |
| }, | |
| "GET /razorpay/health": { | |
| "description": "Health check endpoint", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "service": "string", | |
| "timestamp": "datetime" | |
| } | |
| }, | |
| "GET /razorpay/config": { | |
| "description": "Get Razorpay configuration", | |
| "request": {}, | |
| "response": { | |
| "key_id": "string", | |
| "default_currency": "string", | |
| "supported_currencies": "array", | |
| "webhook_url": "string" | |
| } | |
| } | |
| }, | |
| "reports": { | |
| "POST /reports/generate": { | |
| "description": "Generate a report for a specific run", | |
| "request": "ReportGenerationRequest", | |
| "response": "ReportGenerationResult" | |
| }, | |
| "GET /reports/{run_id}/json": { | |
| "description": "Get or generate JSON report for a run", | |
| "request": { | |
| "report_type": "ReportType" | |
| }, | |
| "response": "File" | |
| }, | |
| "GET /reports/{run_id}/csv": { | |
| "description": "Get or generate CSV report for a run", | |
| "request": { | |
| "detailed": "boolean" | |
| }, | |
| "response": "File" | |
| }, | |
| "POST /reports/verify": { | |
| "description": "Verify report integrity and authenticity", | |
| "request": "ReportValidationRequest", | |
| "response": "ReportValidationResult" | |
| }, | |
| "GET /reports/list": { | |
| "description": "List available reports", | |
| "request": { | |
| "run_id": "string", | |
| "report_type": "ReportType", | |
| "format": "ReportFormat", | |
| "status": "ReportStatus", | |
| "page": "number", | |
| "page_size": "number", | |
| "sort_by": "string", | |
| "sort_order": "string" | |
| }, | |
| "response": { | |
| "reports": "array", | |
| "total_count": "number", | |
| "page": "number", | |
| "page_size": "number", | |
| "total_pages": "number" | |
| } | |
| }, | |
| "GET /reports/{run_id}/info": { | |
| "description": "Get information about available reports for a run", | |
| "request": {}, | |
| "response": { | |
| "run_id": "string", | |
| "total_reports": "number", | |
| "json_reports": "number", | |
| "csv_reports": "number", | |
| "latest_report": "object", | |
| "available_formats": "array", | |
| "report_types": "array" | |
| } | |
| }, | |
| "DELETE /reports/{run_id}/format/{format}": { | |
| "description": "Delete all reports for a run in specific format", | |
| "request": {}, | |
| "response": { | |
| "run_id": "string", | |
| "format": "string", | |
| "deleted_count": "number", | |
| "failed_count": "number", | |
| "total_attempted": "number" | |
| } | |
| }, | |
| "POST /reports/batch/generate": { | |
| "description": "Generate reports for multiple runs in batch", | |
| "request": { | |
| "run_ids": "array", | |
| "report_type": "ReportType", | |
| "format": "ReportFormat" | |
| }, | |
| "response": { | |
| "run_ids": "array", | |
| "report_type": "string", | |
| "format": "string", | |
| "results": "array", | |
| "total_count": "number", | |
| "successful_count": "number", | |
| "failed_count": "number" | |
| } | |
| }, | |
| "POST /reports/batch/verify": { | |
| "description": "Verify multiple reports in batch", | |
| "request": { | |
| "file_paths": "array" | |
| }, | |
| "response": { | |
| "file_paths": "array", | |
| "results": "array", | |
| "summary": "object" | |
| } | |
| }, | |
| "GET /reports/download/{file_name}": { | |
| "description": "Download a report file by name", | |
| "request": {}, | |
| "response": "File" | |
| }, | |
| "GET /reports/stats": { | |
| "description": "Get reporting system statistics", | |
| "request": {}, | |
| "response": { | |
| "total_reports": "number", | |
| "format_distribution": "object", | |
| "total_storage_mb": "number", | |
| "average_file_size_kb": "number", | |
| "reports_directory": "string", | |
| "stats_timestamp": "datetime" | |
| } | |
| }, | |
| "GET /reports/health": { | |
| "description": "Health check for reporting system", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "reports_directory_exists": "boolean", | |
| "reports_directory_writable": "boolean", | |
| "components": "object", | |
| "timestamp": "datetime" | |
| } | |
| } | |
| }, | |
| "experiments": { | |
| "POST /experiments/": { | |
| "description": "Create a new experiment", | |
| "request": "ExperimentCreate", | |
| "response": "Experiment" | |
| }, | |
| "GET /experiments/{run_id}": { | |
| "description": "Get experiment by run_id", | |
| "request": {}, | |
| "response": "Experiment" | |
| }, | |
| "GET /experiments/": { | |
| "description": "List experiments with filtering and pagination", | |
| "request": { | |
| "model_name": "string", | |
| "dataset_name": "string", | |
| "dataset_version": "string", | |
| "status": "ExperimentStatus", | |
| "priority": "ExperimentPriority", | |
| "attack_types": "array", | |
| "created_by": "string", | |
| "tags": "array", | |
| "created_after": "datetime", | |
| "created_before": "datetime", | |
| "page": "number", | |
| "page_size": "number", | |
| "sort_by": "string", | |
| "sort_order": "string" | |
| }, | |
| "response": "ExperimentList" | |
| }, | |
| "PUT /experiments/{run_id}": { | |
| "description": "Update experiment", | |
| "request": "ExperimentUpdate", | |
| "response": "Experiment" | |
| }, | |
| "DELETE /experiments/{run_id}": { | |
| "description": "Delete experiment", | |
| "request": {}, | |
| "response": 204 | |
| }, | |
| "POST /experiments/{run_id}/clone": { | |
| "description": "Clone experiment with new run_id", | |
| "request": { | |
| "new_name": "string" | |
| }, | |
| "response": "Experiment" | |
| }, | |
| "POST /experiments/{run_id_1}/compare/{run_id_2}": { | |
| "description": "Compare two experiments", | |
| "request": {}, | |
| "response": "ExperimentComparison" | |
| }, | |
| "GET /experiments/stats/overview": { | |
| "description": "Get experiment statistics", | |
| "request": {}, | |
| "response": "ExperimentStats" | |
| }, | |
| "GET /experiments/analyze/performance-trends/{model_name}": { | |
| "description": "Analyze performance trends for a specific model", | |
| "request": { | |
| "days": "number" | |
| }, | |
| "response": "object" | |
| }, | |
| "GET /experiments/analyze/model-comparison": { | |
| "description": "Compare performance across multiple models", | |
| "request": { | |
| "model_names": "array" | |
| }, | |
| "response": "object" | |
| }, | |
| "GET /experiments/analyze/attack-effectiveness": { | |
| "description": "Analyze effectiveness of different attack types", | |
| "request": { | |
| "attack_types": "array" | |
| }, | |
| "response": "object" | |
| }, | |
| "GET /experiments/{run_id}/export": { | |
| "description": "Export experiment data", | |
| "request": { | |
| "format": "string" | |
| }, | |
| "response": "object" | |
| }, | |
| "POST /experiments/{run_id}/status/{status}": { | |
| "description": "Update experiment status", | |
| "request": {}, | |
| "response": "Experiment" | |
| } | |
| }, | |
| "monitoring": { | |
| "GET /monitoring/health": { | |
| "description": "Simple health check endpoint for load balancers", | |
| "request": {}, | |
| "response": "object" | |
| }, | |
| "GET /monitoring/health/detailed": { | |
| "description": "Detailed health check with all service statuses", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "timestamp": "datetime", | |
| "services": "object", | |
| "overall_status": "string", | |
| "uptime_seconds": "number" | |
| } | |
| }, | |
| "GET /monitoring/metrics": { | |
| "description": "Get current system performance metrics", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "data": "object", | |
| "timestamp": "datetime" | |
| } | |
| }, | |
| "GET /monitoring/metrics/history": { | |
| "description": "Get historical system metrics", | |
| "request": { | |
| "hours": "number" | |
| }, | |
| "response": { | |
| "status": "string", | |
| "data": { | |
| "history": "array", | |
| "period_hours": "number", | |
| "total_entries": "number" | |
| }, | |
| "timestamp": "datetime" | |
| } | |
| }, | |
| "GET /monitoring/alerts": { | |
| "description": "Get currently active alerts", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "data": { | |
| "alerts": "array", | |
| "alert_count": "number", | |
| "critical_alerts": "number" | |
| }, | |
| "timestamp": "datetime" | |
| } | |
| }, | |
| "GET /monitoring/dashboard": { | |
| "description": "Get comprehensive monitoring dashboard data", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "data": "object", | |
| "timestamp": "datetime" | |
| } | |
| }, | |
| "POST /monitoring/health/check": { | |
| "description": "Trigger immediate health check of all services", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "message": "string", | |
| "results": "object", | |
| "timestamp": "datetime" | |
| } | |
| }, | |
| "GET /monitoring/status": { | |
| "description": "Get monitoring system status", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "data": { | |
| "monitoring_active": "boolean", | |
| "start_time": "datetime", | |
| "alert_config": "object", | |
| "last_check": "datetime" | |
| }, | |
| "timestamp": "datetime" | |
| } | |
| } | |
| }, | |
| "system": { | |
| "GET /": { | |
| "description": "Root endpoint", | |
| "request": {}, | |
| "response": { | |
| "name": "string", | |
| "version": "string", | |
| "status": "string", | |
| "docs_url": "string", | |
| "api_v1": "string" | |
| } | |
| }, | |
| "GET /health": { | |
| "description": "Comprehensive health check endpoint", | |
| "request": {}, | |
| "response": "HealthCheckResponse" | |
| }, | |
| "GET /metrics": { | |
| "description": "Basic metrics endpoint", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "timestamp": "datetime", | |
| "uptime_seconds": "number", | |
| "version": "string", | |
| "debug": "boolean" | |
| } | |
| }, | |
| "GET /api/v1/info": { | |
| "description": "Get API information", | |
| "request": {}, | |
| "response": { | |
| "name": "string", | |
| "version": "string", | |
| "api_version": "string", | |
| "description": "string", | |
| "endpoints": "object", | |
| "documentation": "string" | |
| } | |
| }, | |
| "GET /api/v1/status": { | |
| "description": "Get API status", | |
| "request": {}, | |
| "response": { | |
| "status": "string", | |
| "services": "object", | |
| "uptime_seconds": "number", | |
| "version": "string" | |
| } | |
| } | |
| } | |
| }, | |
| "validation": { | |
| "total_endpoints_found": 185, | |
| "duplicate_endpoints": 0, | |
| "inconsistent_routes": [], | |
| "missing_implementations": [], | |
| "version_conflicts": [], | |
| "response_schema_inconsistencies": [ | |
| "Mixed use of SuccessResponse vs UnifiedSuccessResponse", | |
| "Inconsistent error response formats", | |
| "Varying data wrapper patterns" | |
| ], | |
| "recommendations": [ | |
| "Standardize all response schemas to use UnifiedSuccessResponse", | |
| "Implement consistent error handling across all endpoints", | |
| "Create base response wrapper classes", | |
| "Add request/response validation schemas", | |
| "Document all endpoint parameters and examples" | |
| ] | |
| } | |
| } | |