Appearance
Crear modelo de scoring
POST
/organization/{entityid}/config/{configid}/scoring-model
Crea un nuevo modelo de scoring para la evaluación automática de créditos.
Uso
Los modelos de scoring permiten automatizar la evaluación de riesgo crediticio utilizando algoritmos configurables y reglas personalizadas según las necesidades de la organización.
Componentes del modelo
- Variables: Campos del perfil del deudor que se evalúan
- Pesos: Importancia relativa de cada variable
- Reglas: Lógica de decisión basada en puntajes
- Umbrales: Límites para aprobación/rechazo automático
Permisos requeridos
WriteScoringModel: Creación de modelos de scoring
Authorizations
bearerAuth
JWT token de autenticación. Utilice este esquema para autenticar solicitudes con un token JWT.
TypeHTTP (bearer)
Parameters
Header Parameters
Config-Organization-ID*
ID único de la organización para la cual se crea el modelo de scoring.
Formato: UUID v4
Validación: Debe corresponder a una organización activa con permisos de configuración
Typestring
RequiredExample
123e4567-e89b-12d3-a456-426614174000format
uuidOrganization-ID*
ID de la organización (campo legacy, usar Config-Organization-ID preferentemente).
Nota: En futuras versiones este header será deprecado.
Typestring
RequiredExample
123e4567-e89b-12d3-a456-426614174000format
uuidPath Parameters
entityid*
ID único de la organización.
Formato: UUID v4
Typestring
RequiredExample
123e4567-e89b-12d3-a456-426614174000format
uuidconfigid*
ID único de la configuración donde se creará el modelo.
Formato: UUID v4
Typestring
RequiredExample
456e7890-e89b-12d3-a456-426614174001format
uuidRequest Body
application/json
JSON
{
"name": "Scoring Personal Básico",
"description": "Modelo de evaluación para créditos personales hasta $10M",
"version": "v1.0.0",
"category": "personal",
"variables": [
{
"field": "income",
"weight": 0.3,
"type": "numeric",
"ranges": [
{
"min": 0,
"max": 1000000,
"score": 20
},
{
"min": 1000001,
"max": 3000000,
"score": 50
},
{
"min": 3000001,
"max": 5000000,
"score": 75
},
{
"min": 5000001,
"max": 999999999,
"score": 90
}
]
},
{
"field": "age",
"weight": 0.15,
"type": "numeric",
"ranges": [
{
"min": 18,
"max": 25,
"score": 60
},
{
"min": 26,
"max": 35,
"score": 85
},
{
"min": 36,
"max": 55,
"score": 90
},
{
"min": 56,
"max": 70,
"score": 75
}
]
},
{
"field": "employmentType",
"weight": 0.25,
"type": "categorical",
"categories": [
{
"value": "EmployedFullTime",
"score": 90
},
{
"value": "EmployedPartTime",
"score": 70
},
{
"value": "SelfEmployed",
"score": 60
},
{
"value": "Unemployed",
"score": 20
}
]
},
{
"field": "hasDelinquencies",
"weight": 0.3,
"type": "boolean",
"categories": [
{
"value": "false",
"score": 100
},
{
"value": "true",
"score": 0
}
]
}
],
"thresholds": {
"approve": 750,
"reject": 400,
"review": 600
},
"penalties": [
{
"condition": "creditHistory.delinquencies > 2",
"penalty": 200,
"description": "Más de 2 reportes negativos"
},
{
"condition": "age < 21",
"penalty": 50,
"description": "Menor de 21 años"
}
],
"bonuses": [
{
"condition": "education = 'University'",
"bonus": 50,
"description": "Educación universitaria"
},
{
"condition": "bankingHistory > 24",
"bonus": 75,
"description": "Más de 2 años de historia bancaria"
}
],
"isActive": true,
"isDefault": true,
"validFrom": "2024-01-01T00:00:00Z",
"metadata": {
"author": "Risk Team",
"approved_by": "CRO"
}
}
Responses
Modelo de scoring creado exitosamente
application/json
JSON
{
"message": "scoring_model",
"data": {
"ID": "123e4567-e89b-12d3-a456-426614174000",
"name": "Scoring Personal Básico",
"version": "v1.0.0",
"category": "personal",
"configId": "456e7890-e89b-12d3-a456-426614174001",
"entityId": "123e4567-e89b-12d3-a456-426614174000",
"isActive": true,
"isDefault": true,
"createdAt": "2023-12-01T16:30:00Z",
"validFrom": "2024-01-01T00:00:00Z",
"accessUrl": "https://api.kuenta.co/v1/organization/org-123e4567-e89b-12d3-a456-426614174000/config/config-456e7890-e89b-12d3-a456-426614174001/scoring-model/scoring-123e4567-e89b-12d3-a456-426614174000"
}
}