← Accueil

Documentation de l'API

Intégrer l'indice Flex Signal dans vos propres outils : tableaux de bord, automatisations, produits connectés.

L'API Flex Signal est publique, en lecture seule (GET), et ne nécessite aucune clé ni authentification. Toutes les routes sont scopées par pays via {country} dans l'URL — seul fr est disponible aujourd'hui ; toute autre valeur renvoie une réponse 404.

Base publique : https://flex-signal.com/api.

Aucun en-tête CORS n'est renvoyé actuellement : un appel direct depuis du JavaScript exécuté dans un navigateur sur un autre domaine sera bloqué par le navigateur. Un appel serveur-à-serveur (backend, script, objet connecté) n'est pas concerné par cette limite.

Score courant

Le dernier score calculé pour ce pays (recalculé toutes les ~15 minutes), accompagné de la tendance récente et du temps restant estimé au-dessus de plusieurs seuils.

GET /api/v1/{country}/current Essayer →
curl https://flex-signal.com/api/v1/fr/current
{
  "country": "fr",
  "computed_at": "2026-07-24T14:00:22+00:00",
  "score": 62,
  "trend": 4,
  "threshold_durations": [
    { "threshold": 50, "status": "beyond_forecast_horizon", "minutes_remaining": 612, "until": "2026-07-25T00:27:00+00:00" },
    { "threshold": 60, "status": "above", "minutes_remaining": 372, "until": "2026-07-24T20:27:00+00:00" },
    { "threshold": 75, "status": "already_below", "minutes_remaining": null, "until": null }
  ]
}
ChampDescription
score Entier de 0 à 100. Plus il est élevé, plus le moment est favorable pour lancer des usages flexibles.
trend Différence entre le score actuel et celui d'il y a environ une heure : positif si l'indice monte, négatif s'il descend. null si l'historique ne remonte pas encore assez loin (tout début de la collecte).
threshold_durations Pour chaque seuil suivi (50, 60, 75), estime combien de temps l'indice reste encore au-dessus avant de repasser en dessous.
  • status: "above" — l'indice est actuellement au-dessus de ce seuil ; minutes_remaining/until indiquent quand il devrait repasser en dessous, d'après la prévision.
  • status: "already_below" — l'indice est déjà sous ce seuil ; minutes_remaining/until valent null.
  • status: "beyond_forecast_horizon" — l'indice devrait rester au-dessus de ce seuil au moins jusqu'à minutes_remaining/until (durée minimale garantie par la prévision disponible) ; la durée réelle peut être plus longue, la prévision ne va pas plus loin.

Score courant, en texte brut

Le score seul, sans aucune enveloppe JSON — pour des équipements connectés dépourvus de bibliothèque JSON, capables seulement de lire un corps de réponse HTTP et de le convertir en entier.

GET /api/v1/{country}/current_raw Essayer →
curl https://flex-signal.com/api/v1/fr/current_raw
62

Réponse text/plain, un entier seul, sans retour à la ligne ni ponctuation.

Historique récent

Tous les scores calculés sur les dernières 48 heures, triés par horodatage croissant. Fenêtre fixe côté serveur, non paramétrable par le client.

GET /api/v1/{country}/history Essayer →
curl https://flex-signal.com/api/v1/fr/history
[
  { "country": "fr", "computed_at": "2026-07-24T13:45:20+00:00", "score": 60 },
  { "country": "fr", "computed_at": "2026-07-24T14:00:22+00:00", "score": 62 }
]

Prévision

Les points de prévision actuellement en base, triés par instant cible (target_at) croissant. issued_at indique quand la prévision a été calculée ; elle est intégralement remplacée à chaque nouveau cycle de calcul (pas d'historique des prévisions passées).

GET /api/v1/{country}/forecast Essayer →
curl https://flex-signal.com/api/v1/fr/forecast
[
  { "country": "fr", "issued_at": "2026-07-24T14:00:22+00:00", "target_at": "2026-07-24T15:00:00+00:00", "score": 78 },
  { "country": "fr", "issued_at": "2026-07-24T14:00:22+00:00", "target_at": "2026-07-24T16:00:00+00:00", "score": 82 }
]

Vérification de disponibilité

Utile pour un simple contrôle de disponibilité (monitoring, sonde applicative).

GET /api/health Essayer →
curl https://flex-signal.com/api/health
{ "status": "ok" }

Une question, une idée, un besoin spécifique pour votre intégration ? Le board de feedback est ouvert à tous.