📊Scénarios d'analyse
Recettes prêtes à l'emploi pour répondre aux questions analytiques les plus fréquentes via la SDS-API et le serveur MCP Analyste. Chaque scénario indique l'endpoint à appeler, les paramètres clés et le résultat attendu. Couvre les métriques de base, la recherche de posts, les top comptes/hashtags/domaines/URLs/NER, les analyses NLP (sentiment, clusters, narratifs, claims) et la détection de comportements coordonnés.
Prompts pour le serveur MCP Analyste
Objectif
Liste des questions que vous pouvez poser directement à Claude pour interagir avec le serveur MCP Analyste et obtenir une analyse sans écrire une seule ligne de code.
Étapes
- Le serveur MCP Analyste expose tous les endpoints analytics comme des outils conversationnels. Tapez ces prompts directement dans Claude (avec le MCP connecté) pour déclencher les analyses correspondantes.
Prompts — Vue d'ensemble & métriques
« Quelles sont les métriques globales de l'importation 42 ? »
→
get_metrics« Montre-moi l'évolution du nombre de posts par semaine »
→
get_timeseries(granularity=week)« Quelle est la répartition par plateforme ? »
→
get_breakdown(by=platform)« Répartition par langue sur les posts originaux »
→
get_breakdown(by=lang, post_types=[post])
Prompts — Comptes & mentions
« Qui sont les 10 comptes les plus actifs ? »
→
get_top_accounts(sort_by=post_count)« Quels comptes ont généré le plus d'engagements ? »
→
get_top_accounts(sort_by=engagements)« Qui sont les comptes les plus mentionnés dans les posts ? »
→
get_mentions« Quels comptes ont été le plus cités (quote-tweets) ? »
→
get_top_quoted_accounts« Quels comptes ont été le plus repartagés ? »
→
get_top_shared_accounts« Montre-moi les posts de @elonmusk dans ce corpus »
→
search_posts(screen_names=[elonmusk])
Prompts — Hashtags, domaines & URLs
« Quels sont les hashtags les plus utilisés ? »
→
get_top_hashtags« Quelles sources médias sont les plus partagées ? »
→
get_top_domains« Quels articles ont été les plus relayés ? »
→
get_top_urls« Quelles entités nommées (personnes, organisations, lieux) reviennent le plus ? »
→
get_top_ner« Top 20 personnes (PER) mentionnées dans les posts »
→
get_top_ner(entity_types=[PER], limit=20)
Prompts — Analyse NLP : sentiment
« Quelle est la distribution des sentiments sur cette analyse ? »
→
get_sentiment_distribution(analyse_id=X)« Quel est le sentiment cluster par cluster ? »
→
get_clusters_sentiment(analyse_id=X)« Quel est le sentiment narratif par narratif ? »
→
get_narratives_sentiment(analyse_id=X)« Montre-moi les posts positifs sur ce sujet »
→
search_posts(sentiments=[positive], analyse_id=X)
Prompts — Analyse NLP : clusters thématiques
« Quels sont les grands sujets du corpus ? »
→
get_topic_clusters(analyse_id=X)« Comment évoluent les clusters dans le temps ? »
→
get_timeseriesavec cluster_ids« Quels comptes sont actifs dans le cluster 'GenAI' ? »
→
get_top_accounts(cluster_labels=[GenAI], analyse_id=X)« Top hashtags dans le cluster 3 »
→
get_top_hashtags(cluster_ids=[3], analyse_id=X)
Prompts — Analyse NLP : narratifs & claims
« Quels sont les narratifs détectés dans cette analyse ? »
→
get_narratives(analyse_id=X)« Quels claims (affirmations) reviennent le plus ? »
→
get_claims(analyse_id=X)« Quels sont les grands sujets de narratifs ? »
→
get_narrative_topics(analyse_id=X)« Comment évolue le narratif 'immigration' dans le temps ? »
→
get_narratives_timeseries(narrative_topics=[immigration])« Quels sont les posts associés au narratif 5 ? »
→
search_posts(narrative_ids=[5], analyse_id=X)« Quels comptes relaient le sujet 'économie' ? »
→
get_top_accounts(narrative_topics=[économie], analyse_id=X)« Quelles entités NER sont associées au narratif 5 ? »
→
get_narratives_ner(analyse_id=X)« Top organisations citées dans les claims de désinformation »
→
get_claims_ner(entity_types=[ORG], analyse_id=X)
Prompts — Coordination
« Y a-t-il des comportements coordonnés dans ce corpus ? »
→
get_coordination_clusters« Quels sont les 10 clusters de coordination les plus actifs ? »
→
get_coordination_clusters(sort_by=cluster_engagements, limit=10)« Montre-moi les posts du cluster de coordination 42 »
→
get_coordination_cluster_posts(coordination_cluster_ids=[42])« Quel est le contenu original diffusé de façon coordonnée ? »
→
get_coordination_clusters— champinit_postde chaque cluster
Prompts — Référentiel narratifs & claims (CRUD)
« Quels sujets de narratifs sont configurés dans ce projet ? »
→
list_narrative_topics« Liste tous les narratifs sur le thème 'immigration' »
→
list_narratives(topic=immigration)« Quels narratifs existent sur l'économie ? »
→
list_narratives(topic=économie)« Combien de claims contient le narratif 5 ? »
→
list_narratives— champclaims_countdu narratif retourné« Liste les claims du narratif 5 »
→
list_claims(narrative_id=5)« Quels sont les claims sur le sujet 'désinformation' ? »
→
list_claims(topic=désinformation) — recherche via les narratifs correspondants« Montre-moi les claims humains sur le thème 'santé' »
→
list_claims(topic=santé, claim_origin=human)
Comment lire ces scénarios
Objectif
Comprendre le format commun à tous les scénarios : paramètres obligatoires, filtres optionnels et deux modes d'accès (API REST ou MCP).
Étapes
- Chaque scénario se décline en deux interfaces interchangeables :
- SDS-API REST — base `/api/v1/sds/data/analytics/` — pour les intégrations frontend et les scripts.
- MCP Analyste — serveur MCP distant interrogeable par un agent IA — pour les analyses conversationnelles. Filtres communs à tous les scénarios
Champ Description Exemple importation_ids **Obligatoire.** Un ou plusieurs identifiants d'importation. Obtenir via `list_importations` (MCP) ou l'onglet Importations du dashboard. [42, 43] from_date / to_date Plage de dates des posts (ISO 8601). Permet de restreindre l'analyse à une période. 2025-01-01 / 2025-03-31 post_types Types de posts à inclure. **Défaut : `post` uniquement** (posts originaux). Valeurs possibles : `post`, `repost`, `quote`, `share`, `comment`. ["post"] langs Filtrer par langue détectée (code ISO 639-1). Laisser vide = toutes les langues. ["fr", "en"] screen_names Restreindre les résultats aux posts publiés par ces comptes. Utile pour analyser un sous-ensemble d'auteurs spécifiques. ["elonmusk", "bbcworld"]
Vue d'ensemble du corpus
Combien de posts, de comptes, d'engagements ?
Objectif
Obtenir les métriques globales agrégées d'une ou plusieurs importations : volume de posts, nombre de comptes distincts, et totaux d'engagement (réactions, partages, commentaires, vues).
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/metrics`
MCP : outil `get_metrics` Paramètres
Champ Description Exemple importation_ids Obligatoire. Identifiant(s) de l'importation à analyser. [42] from_date / to_date Optionnel. Restreindre à une période. 2025-01-01 / 2025-03-31
✓ Résultat attendu
Un objet avec : `posts` (distinct), `accounts` (distinct), `engagements`, `reactions`, `shares`, `comments`, `quotes`, `views`.
Évolution temporelle
Comment le volume de publications a-t-il évolué dans le temps ?
Objectif
Tracer une courbe d'évolution du volume de posts (et/ou d'autres métriques) par jour, semaine ou mois pour détecter des pics et tendances.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/timeseries`
MCP : outil `get_timeseries` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] granularity Résolution temporelle : `day`, `week`, `month`. Défaut : `day`. week fields Métriques à inclure dans chaque point. Défaut : toutes. Valeurs possibles : `posts`, `engagements`, `reactions`, `shares`, `comments`, `quotes`, `views`, `accounts`. ["posts", "engagements"] analyse_id Optionnel. Identifiant de l'analyse NLP. Requis si `cluster_ids` est fourni. 7 cluster_ids Optionnel. Restreindre la timeseries aux posts appartenant à un ou plusieurs clusters. Permet de comparer l'évolution de plusieurs thèmes sur la même période. [3, 7]
✓ Résultat attendu
Un tableau de points `{ date, posts, engagements, … }` ordonnés chronologiquement. Sans `cluster_ids` : tous les posts. Avec `cluster_ids` : uniquement les posts des clusters sélectionnés — appeler l'endpoint N fois en parallèle (un par cluster) pour superposer plusieurs courbes.
Répartition par plateforme, langue ou type
Quelle est la distribution des posts par canal ou par langue ?
Objectif
Obtenir la répartition en pourcentage du volume de posts selon une dimension : plateforme (X, LinkedIn…), langue ou type de post.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/breakdown`
MCP : outil `get_breakdown` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] by Dimension d'agrégation. Valeurs : `platform`, `lang`, `type`. platform
✓ Résultat attendu
Une liste de `{ label, posts, pct, engagements }` ordonnée par volume décroissant. Idéal pour un graphique en camembert ou barres groupées.
Top comptes auteurs
Qui sont les comptes les plus actifs ou influents ?
Objectif
Lister les comptes auteurs triés par nombre de publications, engagements, vues ou followers. Utile pour le sourcing d'influenceurs ou l'identification des voix dominantes.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/accounts`
MCP : outil `get_top_accounts` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by Critère de tri. Valeurs : `post_count` (défaut), `engagements`, `followers`, `views`. engagements platform Optionnel. Restreindre à une plateforme. Twitter min_followers / max_followers Optionnel. Filtrer par tranche d'audience. 10000 / 500000 narrative_ids Optionnel. Restreindre aux comptes actifs dans ces narratifs (NLP requis). [1, 2] narrative_topics Optionnel. Filtrer par sujet de narratif (chaîne libre correspondant au champ `topic`). ["immigration"] limit / offset Pagination. Défaut : 50 résultats. 20 / 0
✓ Résultat attendu
Une liste paginée de comptes avec : `name`, `screen_name`, `description`, `platform`, `followers`, `following`, `post_count`, `engagements`, `reactions`, `shares`, `comments`, `quotes`, `views`.
Comptes les plus mentionnés
Qui est cité dans les publications ?
Objectif
Identifier les comptes les plus fréquemment mentionnés dans le corpus. Permet de cartographier les cibles ou figures de référence d'une conversation.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/mentions`
MCP : outil `get_mentions` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by Critère de tri. Valeurs : `mention_count` (défaut), `engagements`, `followers`. mention_count screen_names Optionnel. Restreindre aux mentions présentes dans les posts de ces auteurs. ["journaliste1"] limit / offset Pagination. Défaut : 50 résultats. 20 / 0
✓ Résultat attendu
Une liste paginée de comptes mentionnés avec : `screen_name`, `platform`, `followers`, `mention_count`, `engagements`.
Top hashtags
Quels sont les mots-clés et thèmes les plus relayés ?
Objectif
Lister les hashtags les plus utilisés dans le corpus, triés par fréquence, engagement, vues ou nombre de comptes distincts. Utile pour identifier les thèmes dominants et les mots-clés structurants.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/top/hashtags`
MCP : outil `get_top_hashtags` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by Critère de tri. Valeurs : `posts` (défaut), `engagements`, `views`, `accounts`. engagements limit / offset Pagination. Défaut : 20 résultats. 50 / 0
✓ Résultat attendu
Une liste paginée de hashtags avec : `hashtag`, `posts`, `accounts`, `engagements`, `reactions`, `shares`, `comments`, `quotes`, `views`.
Top domaines partagés
Quelles sources médias sont les plus relayées ?
Objectif
Identifier les noms de domaine (sites web, médias) les plus partagés dans le corpus, à partir des URLs contenues dans les documents attachés aux posts. Permet de cartographier les sources d'information mobilisées.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Les posts doivent contenir des URLs référencées dans la table `documents` (type `url`).
Étapes
- SDS-API : `GET /analytics/top/domains`
MCP : outil `get_top_domains` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by Critère de tri. Valeurs : `posts` (défaut), `engagements`, `views`, `url_count`. posts screen_names Optionnel. Restreindre aux URLs partagées par ces comptes auteurs. ["compteA"] limit / offset Pagination. Défaut : 20 résultats. 20 / 0
✓ Résultat attendu
Une liste paginée de domaines avec : `domain`, `url_count` (URLs distinctes), `posts`, `accounts`, `engagements`, `reactions`, `shares`, `comments`, `quotes`, `views`.
Top URLs partagées
Quels articles ou pages web ont été le plus partagés ?
Objectif
Lister les URLs individuelles les plus partagées dans le corpus avec leurs métriques d'engagement agrégées. Granularité plus fine que les domaines : permet d'identifier les articles précis qui ont le plus circulé.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Les posts doivent contenir des URLs référencées dans la table `documents` (type `url`).
Étapes
- SDS-API : `GET /analytics/top/urls`
*(non encore disponible dans le MCP)* Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by Critère de tri. Valeurs : `posts` (défaut), `engagements`, `views`, `accounts`. engagements screen_names Optionnel. Restreindre aux URLs partagées par ces comptes auteurs. ["compteA", "compteB"] limit / offset Pagination. Défaut : 20 résultats. 20 / 0
✓ Résultat attendu
Une liste paginée d'URLs avec : `url`, `title`, `domain`, `posts`, `accounts`, `engagements`, `reactions`, `shares`, `comments`, `quotes`, `views`.
Recherche et liste de posts
Afficher les posts les plus engageants ou les plus récents
Objectif
Récupérer la liste paginée des posts avec leurs métadonnées auteur, triée par date ou engagement. Utile pour alimenter un fil d'actualité, un tableau de bord ou exporter un échantillon.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- SDS-API : `GET /analytics/posts`
MCP : outil `search_posts` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by Critère de tri : `created_at` (défaut) ou `engagements`. engagements screen_names Optionnel. Restreindre aux posts de ces auteurs. ["compteA"] langs Optionnel. Filtrer par langue. ["fr"] limit / offset Pagination. Défaut : 50 résultats, max 500. 20 / 0 - Filtres avancés (NLP requis) : `narrative_ids`, `claim_history_ids`, `narrative_topics` pour restreindre aux posts d'un narratif spécifique ; `sentiments` (ex. `["positive"]`) pour filtrer par tonalité émotionnelle détectée.
✓ Résultat attendu
Une liste paginée de posts (`total`, `data[]`) avec pour chaque post : `id`, `created_at`, `platform`, `lang`, `type`, `url`, métriques d'engagement, et objet `author` (screen_name, followers, profile_picture).
Distribution des sentiments
Le corpus est-il majoritairement positif, négatif ou neutre ?
Objectif
Obtenir la répartition des posts par sentiment (positif / négatif / neutre) issue d'une analyse NLP. Nécessite qu'une analyse de sentiment ait été lancée au préalable.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Avoir créé une analyse NLP et lancé le pipeline Sentiment sur cette analyse.
- Disposer de l'`analyse_id` correspondant (via `list_analyses` dans le MCP ou l'onglet Analyses).
Étapes
- SDS-API : `GET /analytics/sentiment`
MCP : outil `get_sentiment_distribution` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] analyse_id Obligatoire. Identifiant de l'analyse NLP avec les sentiments calculés. 7
✓ Résultat attendu
Une liste de `{ label, posts, pct, engagements }` pour chaque sentiment (`positive`, `negative`, `neutral`). Idéal pour un graphique en camembert.
Distribution par clusters thématiques
Quels sont les grands sujets abordés dans le corpus ?
Objectif
Afficher la répartition des posts par cluster NLP (topics) avec leurs labels annotés. Permet de quantifier l'importance relative de chaque thème dans la conversation.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Avoir créé une analyse NLP et lancé le pipeline Clustering + Annotation sur cette analyse.
- Disposer de l'`analyse_id` correspondant.
Étapes
- SDS-API : `GET /analytics/clusters`
MCP : outil `get_topic_clusters` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] analyse_id Obligatoire. Identifiant de l'analyse NLP avec le clustering calculé. 7 from_date / to_date Optionnel. Restreindre à une période pour analyser l'évolution thématique. 2025-01-01 / 2025-01-31
✓ Résultat attendu
Une liste de clusters `{ cluster_id, label, posts, pct, accounts, engagements, reactions, shares, comments, quotes, views }` ordonnée par volume décroissant. Le label est celui défini lors de l'étape d'annotation.
Tableau de bord complet d'une importation
Recette : assembler tous les indicateurs en une seule passe
Objectif
Construire en une série d'appels le tableau de bord analytique complet d'une importation : métriques globales, évolution temporelle, répartition plateforme/langue, top comptes, top hashtags, top domaines.
Prérequis
- Avoir au moins une importation avec des données collectées.
Étapes
- 1
Appeler `GET /analytics/metrics` pour obtenir les totaux en en-tête de dashboard.
- 2
Appeler `GET /analytics/timeseries?granularity=day&fields=posts,engagements` pour le graphique d'évolution.
- 3
Appeler `GET /analytics/breakdown?by=platform` puis `?by=lang` pour les camemberts de répartition.
- 4
Appeler `GET /analytics/accounts?sort_by=engagements&limit=10` pour le leaderboard des comptes.
- 5
Appeler `GET /analytics/top/hashtags?sort_by=posts&limit=20` pour le nuage de mots.
- 6
Appeler `GET /analytics/top/domains?sort_by=posts&limit=10` pour le top des sources.
- Tous ces appels sont indépendants et peuvent être lancés en parallèle pour minimiser le temps de chargement.
Schéma
Molette pour zoomer · Cliquer-glisser pour naviguer
✓ Résultat attendu
Ensemble de données prêt à alimenter chaque widget du tableau de bord. Aucune dépendance entre les appels — la mise en cache des `importation_ids` côté client suffit.
Top entités nommées (NER)
Quelles personnes, organisations et lieux sont les plus cités ?
Objectif
Identifier les entités nommées les plus fréquentes extraites des textes de posts (personnes, organisations, lieux…), avec leurs métriques d'engagement.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Avoir créé une analyse NLP et lancé le pipeline NER.
- Disposer de l'`analyse_id` correspondant.
Étapes
- SDS-API : `GET /analytics/top/ner`
MCP : outil `get_top_ner` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] analyse_id Obligatoire. 7 entity_types Optionnel. Filtrer par type : `PER` (personnes), `ORG` (organisations), `LOC` (lieux). ["PER", "ORG"] narrative_ids / narrative_topics Optionnel. Restreindre aux entités des posts associés à ces narratifs. [5] sort_by Critère de tri : `posts` (défaut), `engagements`, `views`, `accounts`, `occurrences`. occurrences
✓ Résultat attendu
Liste paginée `{ entity, entity_type, occurrences, posts, accounts, engagements, … }`.
Analyse par narratifs NLP
Quels grands récits structurent la conversation ?
Objectif
Obtenir les métriques agrégées par narratif NLP (posts, engagements, comptes) et analyser leur évolution temporelle et leur dimension sentimentale.
Prérequis
- Avoir lancé le pipeline Narratifs sur une analyse NLP.
- Disposer de l'`analyse_id`.
Étapes
- SDS-API : `GET /analytics/narratives`, `/narratives/timeseries`, `/narratives/sentiment`, `/narratives/ner`
MCP : outils `get_narratives`, `get_narratives_timeseries`, `get_narratives_sentiment`, `get_narratives_ner` Paramètres principaux
Champ Description Exemple analyse_id Obligatoire pour tous les endpoints narratifs. 7 sort_by `posts`, `engagements`, `views`, `accounts`. posts narrative_ids Restreindre à ces narratifs dans les filtres posts/accounts/NER. [1, 2] narrative_topics Filtrer par sujet de narratif (chaîne libre correspondant au champ `topic`). ["immigration"] claim_history_ids Filtrer par claim précis. [10] - 1
Appeler `/narratives` pour la liste des narratifs avec leurs métriques.
- 2
Appeler `/narratives/timeseries?granularity=day` pour l'évolution par narratif.
- 3
Appeler `/narratives/sentiment` pour croiser chaque narratif avec ses sentiments (positif/négatif/neutre).
- 4
Appeler `/narratives/ner` pour les entités nommées dominantes par narratif.
✓ Résultat attendu
Vue complète de chaque narratif : volume, évolution, tonalité émotionnelle et acteurs/lieux/organisations associés.
Détection de comportements coordonnés
Y a-t-il des publications diffusant le même contenu de façon coordonnée ?
Objectif
Identifier les clusters de coordination : groupes de posts partageant un document similaire à travers des comptes distincts, potentiellement signe de coordination artificielle ou d'amplification organisée.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Le pipeline de détection de coordination (join_document_document) doit avoir été exécuté.
Étapes
- SDS-API : `GET /analytics/coordination-clusters`, `GET /analytics/coordination-clusters/posts`
MCP : outils `get_coordination_clusters`, `get_coordination_cluster_posts` Paramètres
Champ Description Exemple importation_ids Obligatoire. [42] sort_by `cluster_engagements` (défaut), `posts`, `accounts`, `cluster_views`. posts post_types Types de posts à inclure dans les composantes. Défaut : tous. ["post", "repost"] coordination_cluster_ids (Pour /posts uniquement) Restreindre aux posts d'un cluster précis. [42] - 1
Appeler `GET /coordination-clusters?sort_by=posts&limit=20` pour identifier les clusters les plus actifs.
- 2
Examiner le champ `init_post` (texte du document initiateur) et `initiator_screen_name` pour comprendre l'origine de la coordination.
- 3
Appeler `GET /coordination-clusters/posts?coordination_cluster_ids=[X]` pour lister tous les posts d'un cluster spécifique et identifier les comptes participants.
✓ Résultat attendu
Pour chaque cluster : `coordination_cluster` (ID), `posts`, `accounts`, `cluster_engagements`, `first_seen`, `init_post` (contenu source), et profil de l'initiateur. L'endpoint /posts détaille tous les participants avec leur texte.
Référentiel narratifs & claims
Quels narratifs et affirmations sont configurés dans le projet ?
Objectif
Parcourir le référentiel CRUD des narratifs et des claims : lister les sujets disponibles, filtrer les narratifs par thème, et accéder aux affirmations (claims) associées — sans nécessiter d'analyse NLP active.
Prérequis
- Des narratifs ont été créés dans l'interface d'administration SDS.
- Aucun `analyse_id` requis — ces endpoints sont indépendants du pipeline NLP.
Étapes
- SDS-API : `GET /admin/narratives`, `GET /admin/claims`
MCP : outils `list_narrative_topics`, `list_narratives`, `list_claims` - 1
Appeler `list_narrative_topics` pour découvrir les grands thèmes (sujets distincts). Retourne une liste triée alphabétiquement.
Paramètres — list_narratives
Champ Description Exemple topic Filtre partiel insensible à la casse sur le champ `topic`. Ex. `immigration` retourne tous les narratifs dont le sujet contient ce mot. immigration limit / offset Pagination (défaut limit=100). 100 / 0 Paramètres — list_claims
Champ Description Exemple narrative_id Retourne directement les claims du narratif (prioritaire sur `topic`). 5 topic Recherche les claims en passant par les narratifs dont le sujet contient cette chaîne. Pratique pour « tous les claims sur la santé ». santé claim_origin Filtrer par origine : `human` (saisi manuellement) ou `llm` (généré par IA). human limit / offset Pagination (défaut limit=100). 100 / 0 - 2
Pour filtrer les claims par topic, `list_claims(topic=X)` effectue automatiquement deux appels : d'abord `list_narratives(topic=X)` pour récupérer les IDs, puis `list_claims` pour chaque narratif trouvé.
✓ Résultat attendu
`list_narrative_topics` → `{ topics: ["Économie", "Immigration", …], total: N }`. `list_narratives` → `{ data: [{ id, narrative, topic, claims_count }], total }`. `list_claims` → `{ data: [{ id, narrative_id, text, version, claim_origin, is_vectorized, … }], total }`.