API Configuration
🏥 System Health Check
GET
/v1/health
Check system status and component health
Expected Response:
{
"status": "healthy",
"version": "1.0.0",
"timestamp": "2025-11-07T03:37:47.142209",
"service": "credit-ai-api",
"environment": "development",
"checks": {
"database": {
"status": "healthy",
"response_time_ms": 5.2,
"connection_pool": "available"
},
"ml_model": {
"status": "healthy",
"model_version": "v1.0",
"inference_ready": true
},
"llm_service": {
"status": "healthy",
"enabled": true,
"available_providers": ["openai"]
}
}
}
🔍 Feature Extraction API
GET
/v1/features/{customer_id}
Extract ML features for credit analysis
Test Scenarios:
Customer ID & Feature Set:
Expected Response:
{
"status": "success",
"data": {
"customer_id": 11,
"features": {
"age": 46,
"NumberOfDependents": 1,
"MonthlyIncome": 9945,
"DebtRatio": 0.1397,
"NumberOfOpenCreditLinesAndLoans": 4,
"RevolvingUtilizationOfUnsecuredLines": 0.2517,
"NumberOfTime30-59DaysPastDueNotWorse": 0,
"NumberOfTime60-89DaysPastDueNotWorse": 0,
"NumberOfTimes90DaysLate": 0,
"NumberRealEstateLoansOrLines": 0
},
"confidence": "MEDIUM",
"execution_time_ms": 889,
"schema_version": "v2_credit"
}
}
💳 Credit Decision API
POST
/v1/credit-decisions
Make intelligent credit decisions with ML and rules
Test Scenarios:
🟢 Standard Working Capital
Typical salaried customer applying for small business loan
Expected: APPROVE with detailed ML scoring
Request Body (Editable):
Expected Response:
{
"status": "success",
"data": {
"decision_id": "dec_8e467566bf78",
"customer_id": 11,
"decision": "APPROVE",
"risk_score": 0.088,
"confidence": 0.85,
"reasons": [
{
"type": "positive",
"code": "MIN_INCOME",
"message": "Average monthly income $5,295.00 meets minimum requirement",
"weight": 0.8,
"source": "rule_engine"
}
],
"key_metrics": {
"income_trend": "stable"
},
"processing_time_ms": 2171,
"metadata": {
"customer_type": "salaried",
"feature_confidence": "HIGH",
"rules_evaluated": 7,
"schema_version": "v2_credit"
}
}
}
📊 Analytics Query API
POST
/v1/analytics/query
Natural language queries with template matching
Query Examples:
📋 Template-Based Queries
Pre-built templates for common business intelligence queries
Expected: Fast SQL generation without LLM costs
Request Body (Editable):
Expected Response:
{
"status": "success",
"data": {
"query": "Show me customers with high debt ratios",
"generated_sql": "SELECT customer_id, debt_ratio, monthly_income...",
"results": [
{
"customer_id": 967,
"debt_ratio": 0.8234,
"monthly_income": 3313,
"risk_segment": "high"
}
],
"row_count": 10,
"execution_time_ms": 816,
"llm_used": false,
"llm_provider": null,
"conversion_strategy": "template_match",
"schema_version": "v2_credit"
}
}
📋 Decision Retrieval API
GET
/v1/credit-decisions/{decision_id}
Retrieve specific credit decisions
Decision ID:
Expected Response:
{
"status": "success",
"data": {
"decision_id": "dec_35",
"customer_id": 201,
"decision": "APPROVE",
"risk_score": 0.18,
"loan_amount": 5000.00,
"created_at": "2025-11-07T20:47:54.618958",
"reasons": [...],
"metadata": {...}
}
}
📝 Decision Listing API
GET
/v1/credit-decisions
List and filter credit decisions
Filter Examples:
Query Parameters: