API Reevalo v1
Intégrez les indices, vos contrats et vos révisions dans vos outils. API REST JSON, clés Bearer, webhooks signés HMAC. Disponible avec les plans Pro et supérieurs, ou l'add-on « API indices seule » (29 € HT/mois).
Base URL
https://reevalo.io/api/v1
Authentification
Créez une clé API dans Réglages → API & webhooks.
La clé complète (rvk_live_…) n'est affichée qu'une seule fois —
seul son hash est conservé. Passez-la dans l'en-tête Authorization :
curl https://reevalo.io/api/v1/indices \
-H "Authorization: Bearer rvk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Deux scopes : read (lecture) et write (workflow des révisions,
création de clients). GET /ping est le seul endpoint public.
Limites de débit
Le débit dépend de votre plan (Pro : 120 req/min). Chaque réponse inclut
X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset
(epoch). Au-delà : 429.
Format des réponses
Succès : { "data": … } avec pagination ?page=&per= (max 200) le cas échéant. Erreurs normalisées :
{ "error": { "code": "not_found", "message": "Indice BT99 introuvable." } }
| HTTP | code |
|---|---|
| 401 | unauthorized — clé absente, invalide ou révoquée |
| 403 | forbidden — scope insuffisant |
| 404 | not_found |
| 409 | conflict — transition de workflow impossible |
| 422 | validation_error |
| 429 | rate_limited |
| 500 | internal_error |
Endpoints
| Méthode | Endpoint | Rôle | Scope |
|---|---|---|---|
| GET | /ping | Santé de l'API (public) | — |
| GET | /indices | Référentiel complet (+ vos indices privés) | read |
| GET | /indices/{code} | Fiche d'un indice | read |
| GET | /indices/{code}/values?from=&to= | Historique des valeurs (sourcées) | read |
| GET | /customers | Clients finaux | read |
| POST | /customers | Créer un client final | write |
| GET | /contracts?search=&status= | Contrats (paginé) | read |
| GET | /contracts/{uuid} | Détail contrat + lignes | read |
| GET | /revisions?status=&from=&to= | Révisions (paginé) | read |
| GET | /revisions/{uuid} | Détail + snapshot de calcul complet | read |
| POST | /revisions/{uuid}/approve | Approuver (génère lettre + justificatif) | write |
| POST | /revisions/{uuid}/apply | Marquer appliquée (maj montant courant) | write |
| POST | /revisions/{uuid}/skip | Ignorer (body : {"reason": "…"}) | write |
| POST | /simulate | Calcul à la volée, sans persistance | read |
| GET | /exports/revisions.csv?status=&from=&to= | Export CSV direct | read |
Exemples
Dernières valeurs du SYNTEC révisé
curl "https://reevalo.io/api/v1/indices/syn_rev/values?from=2024-01-01" \
-H "Authorization: Bearer rvk_live_…"
{
"data": [
{ "period": "2026-04-01", "value": 324.1, "status": "final",
"published_at": "2026-06-20", "source_ref": "https://syntec.fr/…" }
],
"total": 28,
"index": "SYN_REV"
}
Révisions prêtes à traiter
curl "https://reevalo.io/api/v1/revisions?status=READY&from=2026-07-01&per=50" \
-H "Authorization: Bearer rvk_live_…"
Simulation d'une formule composite (0,15 fixe + 0,50 BT40 + 0,35 ICHT_TS)
curl -X POST "https://reevalo.io/api/v1/simulate" \
-H "Authorization: Bearer rvk_live_…" \
-H "Content-Type: application/json" \
-d '{
"amount": 24000,
"formula": {
"fixedPart": 0.15,
"components": [
{ "indexCode": "BT40", "weight": 0.50 },
{ "indexCode": "ICHT_TS", "weight": 0.35 }
]
}
}'
{
"data": {
"old_amount": 24000, "coefficient": 1.03182,
"coefficient_applied": 1.0318, "new_amount": 24763.20,
"delta_amount": 763.20, "cap_hit": false, "floor_hit": false,
"has_provisional": false, "warnings": [], "parts": [ … ]
}
}
L'hydratation par défaut prend I1 = dernière valeur publiée et I0 = même période 12 mois avant. La contrainte F + Σwk = 1 (±0,0001) est validée.
Approuver une révision
curl -X POST "https://reevalo.io/api/v1/revisions/6f9619ff-8b86-d011-b42d-00c04fc964ff/approve" \
-H "Authorization: Bearer rvk_live_…"
Webhooks
Configurez vos webhooks dans Réglages → API & webhooks.
Événements : revision.ready, revision.approved,
revision.applied, index.published, series.discontinued.
POST https://votre-serveur.fr/hooks/reevalo
X-Reevalo-Signature: sha256=3f1d…
Content-Type: application/json
{ "event": "revision.applied",
"uuid": "6f9619ff-8b86-d011-b42d-00c04fc964ff",
"occurred_at": "2026-07-12T06:02:11Z" }
Vérifiez la signature : HMAC-SHA256 du corps brut avec le secret du webhook,
comparé à l'en-tête X-Reevalo-Signature (préfixe
sha256=). Rejouez idempotent : un même événement peut être
livré plusieurs fois en cas d'échec de votre endpoint (retries avec backoff).
Bonnes pratiques
- Stockez la clé en variable d'environnement, jamais dans votre code.
- Utilisez les UUID publics retournés par l'API — jamais d'ID numériques.
- Préférez les webhooks au polling pour suivre les publications d'indices.
- Le
calc_snapshotd'une révision est auto-suffisant : conservez-le comme preuve.
Besoin de l'API sans la gestion de contrats ?
L'add-on « API indices seule » donne accès au référentiel complet pour 29 € HT/mois.
Demander un accès