Chargement...
Chargement...
Spécification OpenAPI 3.1 publique — endpoints, schémas, exemples.
Chaque requête doit inclure votre clé API. Deux en-têtes acceptés :
# Option 1 — X-API-Key header
curl https://www.tevaxia.lu/api/v1/estimation \
-H "X-API-Key: tvx_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"commune":"Luxembourg","surface":90}'
# Option 2 — Authorization Bearer
curl https://www.tevaxia.lu/api/v1/estimation \
-H "Authorization: Bearer tvx_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"commune":"Luxembourg","surface":90}'Vos clés API se gèrent depuis /profil/api (création, révocation, suivi d'usage 30 jours).
Utilisez la clé publique de sandbox ci-dessous pour tester l'API sans créer de compte. Rate-limitée à 60 requêtes par minute, réponses identiques à la production mais non facturées.
tvx_sandbox_public_demo_key_read_onlySandbox⚠ La sandbox est en lecture seule et peut être désactivée sans préavis. Pour un usage durable, créez votre propre clé via /profil/api (plan Free : 10 000 requêtes/mois).
Deux endpoints IA accessibles avec votre clé API tevaxia (rate-limit tier standard) :
# POST /api/v1/ai/analyze
curl https://www.tevaxia.lu/api/v1/ai/analyze \
-H "X-API-Key: tvx_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"context": "Commune: Luxembourg\nSurface: 90m²\nEstimation: 950000 EUR",
"prompt": "Comment this estimate vs market."
}'
# → { "text": "...", "model": "llama3.1-8b", "provider": "cerebras", "remaining": -1 }
# POST /api/v1/ai/chat
curl https://www.tevaxia.lu/api/v1/ai/chat \
-H "X-API-Key: tvx_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{ "role": "user", "content": "How is LU 3% VAT computed?" }
]
}'
# → { "text": "...", "model": "...", "provider": "...", "remaining": -1 }Le serveur utilise par défaut Cerebras (Llama 3.1 8B, fallback Groq Llama 3.3). Si vous avez configuré une clé BYOK OpenAI/Anthropic dans votre profil, elle sera utilisée automatiquement. Limite : rate-limit tier de votre clé API (Free : 10/min, 200/jour).
const response = await fetch(
"https://www.tevaxia.lu/api/v1/estimation/batch",
{
method: "POST",
headers: {
"X-API-Key": process.env.TEVAXIA_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
items: myPortfolio.map((asset) => ({
commune: asset.commune,
surface: asset.surface,
classeEnergie: asset.epc,
etat: asset.condition,
})),
}),
}
);
const { results, succeeded, failed } = await response.json();
console.log(`${succeeded}/${results.length} assets estimated`);