Recommendations
POST /api/recommendations — ranked VM results with score and explain block.
Request
curl -X POST http://localhost:8000/api/recommendations \
-H "Content-Type: application/json" \
-d '{
"min_vcpu": 2,
"min_ram_gb": 4,
"arch": "x86_64",
"region_constraint": "EU",
"max_price_eur_per_hour": 0.2,
"limit": 5
}'
Response
{
"recommendations": [
{
"instance_type_name": "cx23",
"provider_slug": "hetzner",
"region_slug": "fsn1",
"vcpu": 2,
"ram_gb": 4.0,
"price_eur_per_hour": 0.0048,
"score": 0.9898,
"explain": {
"resource_fit": 1.0,
"normalized_price": 0.9797,
"price_weight": 0.5,
"fit_weight": 0.5,
"region_is_eu": true,
"tco_eur_per_hour": null,
"egress_cost_eur_per_hour": null
}
}
]
}
arch is required. When TCO params are provided, tco_eur_per_hour, egress_cost_eur_per_hour, and other cost components are populated in explain. How scoring works → Article 3