// api
API publique
Cette page inventorie la surface machine bilingue de l0g : Agent Surface 1.18.0, index de recherche partagé, trois claims structurants typés maximum par article, evidence graph, Risk Diff, Black Box Recorder, snapshots de risque, endpoint canoniquedebt-risk.json et historique signals/historypour replay et backtest. CORS ouvert, aucune clé, aucune authentification, aucun pistage.
// endpoints
Les points d'accès publics, sans clé ni authentification. Agent Surface 1.18.0 est le contrat de lecture pour agents ; les endpoints de risque restent des snapshots spécialisés.
/donnees/agents/HTMLDocumentation Agent Surface 1.18.0 : fraîcheur par producteur, séries nommées, règles de citation, garde-fous et endpoints M2M.GET/agents.jsonJSONManifeste de découverte pour agents : capacités, endpoints, règles d'usage et politique de preuve.GET/openapi.jsonOPENAPIContrat OpenAPI 3.1 des endpoints M2M de l0g.GET/api/v1/search-index.jsonJSONIndex bilingue canonique partagé par Agent Surface, MCP et WebMCP.GET/llms-full-en.txtTEXTCorpus anglais complet séparé du contexte français.GET/api/v1/claims.jsonJSONGraphe affirmation-source : claims typées, références cliquables, datées quand détectable.GET/api/v1/evidence-graph.jsonJSONEvidence graph : articles, claims, références, hôtes, sources primaires et datasets en nœuds/arêtes.GET/api/v1/catalog.ndjsonNDJSONCatalogue complet ligne à ligne pour ingestion streaming, RAG ou indexation incrémentale.GET/api/v1/claims.ndjsonNDJSONClaims typées en flux NDJSON, avec références embarquées.GET/api/v1/evidence-graph.ndjsonNDJSONEvidence graph ligne à ligne : nœuds puis arêtes.GET/api/v1/sources.jsonJSONSources primaires et hôtes effectivement cités par le corpus.GET/api/v1/freshness.jsonJSONFraîcheur du corpus et des signaux : dates utiles, expiration et couverture.GET/api/v1/human-traffic.jsonJSONLectures humaines : GET HTML agrégés par jour, page et domaine référent, sans identifiant persistant et avec seuil k=5.GET/api/v1/integrity.jsonJSONEmpreintes SHA-256 canoniques des surfaces Agent Surface, pour vérifier un snapshot.GET/api/v1/changes.jsonJSONChangefeed machine : versions, hashes courants, statut de diff et changements sémantiques.GET/api/v1/changes.ndjsonNDJSONChangefeed en flux ligne à ligne, avec métadonnées de version pour watchers.GET/api/v1/black-box.jsonJSONBlack Box Recorder : frames point-in-time hashées pour rejouer l’état public du risque.GET/api/v1/risk-diff.jsonJSONRisk Diff : ce qui change dans les signaux, sources, claims, modèles, articles et niveau de confiance.GET/api/v1/catalog.jsonJSONCatalogue machine complet : articles, guides, sources, atlas du glossaire et protocole.GET/api/v1/risk.jsonJSONÉtat courant des dashboards historiques et synthèse confluence.GET/api/v1/debt-risk.jsonJSONSnapshot canonique Debt Risk Radar importé depuis latest.json : score courant hors CBO, buckets, couverture des sources, provenance et top signaux.GET/api/v1/risk.xmlAtomFlux des changements de niveau, pour bots d'alerte et SIEM.GET/api/v1/history.ndjsonNDJSONJournal opérationnel brut à chaque assemblage. Continuité fine, append-only serveur, sans attestation CI individuelle.GET/api/v1/signals/current.jsonJSONDernières observations point-in-time par instrument, dérivées de l'historique public.GET/series/HTMLRegistre des noms citables, identifiants stables, versions méthodologiques et exports par série.GET/api/v1/signals/history.jsonJSONHistorique canonique fusionné : journal opérationnel quotidien, frames Black Box attestées, courant, couverture et niveaux de preuve.GET/api/v1/signals/history.ndjsonNDJSONHistorique ligne à ligne : une ligne meta, puis observations, puis événements level-change.GET/api/v1/signals/history.csvCSVObservations à plat pour pandas, R, DuckDB ou tableur.GET/api/v1/signals/schema.jsonJSONSchéma machine des lignes meta, observation et level-change.// exemple
curl -s https://l0g.fr/agents.jsoncurl -s https://l0g.fr/api/v1/risk.jsoncurl -s https://l0g.fr/api/v1/debt-risk.jsoncurl -s https://l0g.fr/api/v1/signals/history.ndjson | head{
"version": "2",
"generated": "2026-06-18T08:00:00Z",
"snapshot": "2026-06-16T08:16:13Z",
"status": "degraded",
"indices": {
"us": { "value": 58, "scale": 100, "level": "Élevé", "tone": "elevated", "label": "US Macro Dashboard", "source": "https://us.l0g.fr" },
"eu": { "value": 47, "scale": 100, "level": "Modéré", "tone": "moderate", "label": "EU Macro Dashboard", "source": "https://euro.l0g.fr" },
"yen": { "value": 41, "scale": 100, "level": "Modéré", "tone": "moderate", "label": "Yen Carry Monitor", "source": "https://yct.l0g.fr" },
"energie": { "value": 58, "scale": 100, "level": "Tendu", "tone": "elevated", "sourceStatus": "ok", "qualityStatus": "official-delayed", "fallbackUsed": true, "sourceUpdatedAt": "..." },
"debt": { "value": 54, "scale": 100, "level": "Élevé", "tone": "elevated", "sourceStatus": "ok", "qualityStatus": "nominal", "fallbackUsed": false, "sourceUpdatedAt": "..." }
},
"scaleCaveat": { "title": "Normalisation d’affichage, pas indice unique" },
"precisionGuard": { "title": "Illusion de précision" },
"confluence": { "updated": "...", "count": 15, "conviction": 1, "top": { "ticker": "TSM", "score": 90, "quadrant": "divergent" } },
"license": "CC BY 4.0", "attribution": "l0g.fr"
}// historique & backtest
L'historique signals/history fusionne sans interpolation le journal opérationnel et la Black Box. seriesDate date la publication l0g ;observedAt date l'observation économique amont quand elle existe.evidenceTier vaut operational-archive,attested-archive ou current-snapshot. Le flux brut conserve chaque assemblage ; la surface canonique retient son dernier point par jour UTC.
import pandas as pd
df = pd.read_csv("https://l0g.fr/api/v1/signals/thermometre-stress-dette/history.csv", parse_dates=["seriesDate"])
df = df.set_index("seriesDate").sort_index()Le backtest doit utiliser seriesDate pour la date de publication l0g etobservedAt seulement pour la date économique amont. Les lignesobservation sont backtestables ; les événementslevel-change servent à l'audit et aux alertes, pas au calcul de performance.
// champs
Agent Surface 1.18.0: contrat M2M bilingue, avec/agents.jsonpour la découverte,/openapi.jsonpour le schéma et/api/v1/integrity.jsonpour vérifier les snapshots.language,canonicalId,translationOf,alternateUrlettranslationStatusrelient chaque traduction à sa source française.indices.<clé>.value— valeur du signal (0 àscale, généralement 100), normalisée par instrument.indices.<clé>.rawValue— valeur native facultative avant normalisation ; son unité dépend de la méthodologie de l'instrument et ne doit pas être comparée directement aux autres signaux.sourceStatus,qualityStatus,fallbackUsed,sourceUpdatedAt,sourceCheckedAt,lastAttemptAtetlastSuccessAtdistinguent la publication des données, leur dernier contrôle réussi et la collecte par l'agrégateur./api/v1/debt-risk.json— source canonique du signal Dette US :signal.valueest l'arrondi deprovenance.scoreRaw, lui-même repris dehttps://debt.l0g.fr/latest.json. Le stress courant exclut les projections CBO et stabilise les familles manquantes par imputation neutre ; quand disponible,provenance.coverageindique la couverture observée avant imputation./api/v1/signals/history.json: surface complète pour replay, aveccoverage,policy,current,observationsetlevelChanges.signals/history.ndjson: même contrat en flux, avecrecordType=meta,recordType=observation, puisrecordType=level-change.scaleCaveatetprecisionGuard— limites de lecture : normalisation d’affichage, couverture, fraîcheur, incertitude et reproductibilité.level— libellé lisible (Détendu, Modéré, Élevé/Tendu, Crise).tone— code machine :calm,moderate,elevated,crisis.snapshot— horodatage (ISO 8601 UTC) des données ;generated— date de génération du fichier.confluence— synthèse 13FLOW : nombre de titres, quadrant conviction, meilleur score.
Pas d'« indice global » : on n'expose que les sous-signaux réellement mesurés par chaque outil. Agréger les signaux en un seul chiffre serait un nombre dérivé non mesuré — on ne le fait pas.
// notes
- CORS :
Access-Control-Allow-Origin: *— consommable depuis n'importe quel domaine. - Cadence : régénéré toutes les 15 minutes, sans promesse de temps réel.
snapshot/generateddatent l'assemblage ; la fraîcheur utile se lit dans chaque signal. - Versionnement : la forme de
/v1/reste stable ; toute rupture passera par/v2/. - Licence : CC BY 4.0. Réutilisation libre avec attribution à l0g.fr.
Best-effort. Ceci n'est pas un conseil en investissement.