{"id":"c4a5a00c-9383-490d-9355-3df432ac8bbb","type":"API","name":"API Bulletin Vigilance","slug":"api-bulletin-vigilance","description":"Flux de la Vigilance de Météo-France qui indique le niveau de danger d'une situation météorologique pour chaque département. Formats téléchargeables : un produit \"\"bulletin\"\" de Vigilance, au format JSON : ce produit contient le texte des bulletins de suivi diffusés, qu’ils soient nationaux, zonaux…","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://www.data.gouv.fr/dataservices/api-bulletin-vigilance","docs_url":"https://portail-api.meteofrance.fr/web/fr/api/test/ed0ad072-a309-4d13-b518-df4e9f8dbbea/3a6f8ff3-b40c-4f1c-a7fa-310d3d964de8","repo_url":null,"status":"ACTIVE","verification_state":"UNVERIFIED","tags":["water","boundaries","weather"],"logo_url":"https://udata-avatars.s3.rbx.io.cloud.ovh.net/81/6374003e904fad9ddac7436315fd15-100.png","primary_source_url":"https://www.data.gouv.fr/dataservices/api-bulletin-vigilance","extraction_confidence":"0.40","created_at":"2026-06-07T22:08:25.378Z","updated_at":"2026-09-26T11:52:04.397Z","last_verified_at":"2026-09-07T03:55:11.615Z","deprecated_at":null,"ranking_score":37,"last_ranked_at":"2026-09-24T18:52:38.394Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-09-26T11:52:04.397Z","search_vector":"'access':121B,255B 'agenc':111B 'agency':245B 'alert':125B,259B 'and':246B,250B 'api':1A,7A,55B,135A,141A,189B 'at':229B 'au':36B,170B 'boundari':133C 'bulletin':2A,6A,33B,45B,83B,136A,140A,167B 'bulletins':179B,217B 'by':238B 'ce':39B,173B 'chaqu':27B 'chaque':161B 'contain':84B 'containing':218B 'contient':41B,175B 'cover':113B 'covers':247B 'd':22B,156B 'danger':21B,70B,155B,204B 'de':9B,12B,20B,34B,46B,143B,146B,154B,168B,180B 'depart':74B,118B 'departement':162B 'department':208B 'departments':252B 'des':44B,178B 'diffuses':182B 'diffusé':48B 'download':77B 'downloadable':211B 'département':28B 'each':206B 'feed':62B,196B 'flux':8B,142B 'follow':90B,224B 'follow-up':89B,223B 'for':205B,261B 'format':29B,37B,81B,171B,215B 'formats':163B 'franc':15B,59B,107B,115B 'france':149B,193B,241B,249B 'french':73B,207B 'hazard':129B 'hazardous':263B 'il':50B 'ils':184B 'in':213B 'includ':82B 'including':216B 'indic':63B 'indicating':197B 'indiqu':17B 'indique':151B 'inform':126B 'information':260B 'is':236B 'issu':94B 'issued':228B 'it':209B 'its':251B 'json':38B,80B,172B,214B 'la':10B,144B 'le':18B,42B,152B,176B 'level':65B,99B,199B,233B 'maintain':103B 'maintained':237B 'meteo':148B,192B,240B 'meteo-france':147B,191B,239B 'meteorolog':110B,130B 'meteorological':244B,264B 'meteorologique':159B 'metropolitan':114B,248B 'monitor':128B 'monitoring':262B 'météo':14B,58B,106B 'météo-franc':13B,57B,105B 'météorologiqu':25B 'nation':96B,109B 'national':230B,243B 'nationaux':52B,186B 'niveau':19B,153B 'of':200B,221B 'offer':76B 'offers':210B 'offici':123B 'official':257B 'or':231B 'pour':26B,160B 'product':78B 'products':212B 'produit':32B,40B,166B,174B 'provid':56B,119B 'provides':190B 'providing':253B 'publish':88B 'published':222B 'qu':49B,183B 'qui':16B,150B 'relat':69B 'related':203B 's':194B 'servic':101B 'service':235B 'situat':24B,131B 'situation':158B 'situations':265B 'soient':51B,185B 'structur':120B 'structured':254B 'suivi':47B,181B 'telechargeables':164B 'text':43B,86B,220B 'texte':177B 'the':198B,219B,234B,242B 'this':188B 'to':256B 'téléchargeabl':30B 'un':31B,165B 'une':23B,157B 'up':225B 'vigil':3A,11B,35B,61B 'vigilance':137A,145B,169B,195B 'warn':5A,92B 'warning':139A 'warnings':226B 'water':132C 'weather':4A,68B,124B,134C,138A,202B,258B 'weather-rel':67B 'weather-related':201B 'whether':93B,227B 'zonal':98B,232B 'zonaux':53B,187B","popularity_score":"0.0000","maintenance_score":"0.6000","institution_id":"3a31ac58-2cc7-4387-a7f3-b1b6128abd7b","institution_type":"AGENCY","country_code":"FR","official_confidence":40,"proof_summary":"official domain (data.gouv.fr) (catalog: api_gouv_fr)","source_seed_url":null,"is_public_sector":true,"published_at":"2026-06-07T22:08:25.378Z","geographic_scope":"NATIONAL","name_en":"Weather Warning Bulletin API","description_en":"This API provides Météo-France's Vigilance feed, indicating the level of weather-related danger for each French department. It offers downloadable products in JSON format, including bulletins containing the text of published follow-up warnings, whether issued at national or zonal level. The service is maintained by Météo-France, the national meteorological agency, and covers metropolitan France and its departments, providing structured access to official weather alert information for monitoring hazardous meteorological situations.","native_lang":"fr","access_level":"documented","formats":[],"capability_tier":"reference","trust_score":44.75,"merged_into_entry_id":null,"identity_key":"API|https://www.data.gouv.fr/dataservices/api-bulletin-vigilance|api bulletin vigilance","upstream_ref":null,"access":{"level":"documented","primary":{"kind":"query","label":"Run verified request","method":"GET","url":"https://portail-api.meteofrance.fr/web/fr/api/DonneesPubliquesVigilance","source":"probe","runnable":true},"actions":[{"kind":"query","label":"Run verified request","method":"GET","url":"https://portail-api.meteofrance.fr/web/fr/api/DonneesPubliquesVigilance","source":"probe","runnable":true},{"kind":"spec","label":"OpenAPI spec","method":"GET","url":"https://files.data.gouv.fr/meteofrance/data/STATIC/SWAGGER_API/Bulletin_Vigilance_swagger.json","source":"openapi","runnable":false},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://portail-api.meteofrance.fr/web/fr/api/test/ed0ad072-a309-4d13-b518-df4e9f8dbbea/3a6f8ff3-b40c-4f1c-a7fa-310d3d964de8","source":"docs","runnable":false},{"kind":"landing","label":"Visit homepage","method":"GET","url":"https://www.data.gouv.fr/dataservices/api-bulletin-vigilance","source":"homepage","runnable":false}],"formats":[]},"maturity":{"entry_id":"c4a5a00c-9383-490d-9355-3df432ac8bbb","granularity":"entry","granularity_label":"One unit = one catalog entry. A PROXY for the SCOPE.md §4 ladder, which governs source families, not entries: a family with 400 entries moves this reading 400 times as much as a family with one. Never compare or combine with the source_family reading.","level":"discovered","level_index":1,"level_label":"Discovered","meaning":"Source and metadata recorded","counts_as_coverage":false,"blocked_by":null,"rungs":[{"level":"discovered","level_index":1,"label":"Discovered","meaning":"Source and metadata recorded","evidence":"membership of the named population the ladder is taken over","counts_as_coverage":false,"met":true,"reached":true,"criterion":"TRUE"},{"level":"verified","level_index":2,"label":"Verified","meaning":"Access tested successfully","evidence":"entries.verification_state = 'VERIFIED'","counts_as_coverage":false,"met":false,"reached":false,"criterion":"entries.verification_state = 'VERIFIED'"},{"level":"profiled","level_index":3,"label":"Profiled","meaning":"Schema, dimensions and licence understood","evidence":"a data profile with at least one field (entry_data_profiles.field_count > 0)","counts_as_coverage":false,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_data_profiles p WHERE p.entry_id = entries.id AND COALESCE(p.field_count, 0) > 0)"},{"level":"executable","level_index":4,"label":"Executable","meaning":"Queries run through Commodity","evidence":"entries.capability_tier = 'live' — today's proxy for \"queryable through us\"","counts_as_coverage":true,"met":false,"reached":false,"criterion":"entries.capability_tier = 'live'"},{"level":"joinable","level_index":5,"label":"Joinable","meaning":"Canonical identifiers and concepts mapped","evidence":"a field link to a canonical identifier whose sampled VALUES match its format","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_field_links efl WHERE efl.entry_id = entries.id AND efl.identifier_id IS NOT NULL AND efl.value_status = 'match')"},{"level":"reproducible","level_index":6,"label":"Reproducible","meaning":"Snapshots and transformation evidence retained","evidence":"at least one retained evidence manifest (migration 078)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM evidence_manifests em WHERE em.entry_id = entries.id)"},{"level":"guaranteed","level_index":7,"label":"Guaranteed","meaning":"Monitored against an operational reliability target","evidence":"an active reliability target with a named monitor (migration 096)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_reliability_targets rt WHERE rt.entry_id = entries.id AND rt.is_active = true)"}],"officialness":{"basis":"catalog_inherited","label":"Inherited from the upstream catalog: this item came from a trusted official government catalog, and that provenance — not per-item proof — is the warrant. Its own proof score is below 80 or it matched no registered institution (apps/worker/src/connectors/catalog/qualify-store.ts).","proof_confidence":40,"proven_threshold":80,"institution_id":"3a31ac58-2cc7-4387-a7f3-b1b6128abd7b","definition":"CASE WHEN COALESCE(entries.is_public_sector, false) IS NOT TRUE THEN 'not_official' WHEN COALESCE(entries.official_confidence, 0) >= 80 AND entries.institution_id IS NOT NULL THEN 'per_item_proven' ELSE 'catalog_inherited' END"},"source_family":{"key":"www.data.gouv.fr","label":"One unit = one source family, approximated by the serving host of the entry's primary source URL (e.g. bdl.stat.gov.pl). A COMPUTED stand-in for the curated families of SCOPE.md §5, which no table holds yet. A family sits at the highest level any of its entries has reached, because a family is integrated to the depth of its deepest working integration. Never compare or combine with the entry reading."},"generated_at":"2026-10-01T15:30:50.851Z"},"api_details":{"id":"369cfbf8-460f-434e-82bb-036a3809b582","entry_id":"c4a5a00c-9383-490d-9355-3df432ac8bbb","base_url":"https://portail-api.meteofrance.fr/web/fr/api/DonneesPubliquesVigilance","openapi_url":"https://files.data.gouv.fr/meteofrance/data/STATIC/SWAGGER_API/Bulletin_Vigilance_swagger.json","graphql_url":null,"api_version":null,"spec_format":null,"endpoints_count":null,"endpoints":[],"rate_limit_info":null,"free_tier_limits":null,"ping_url":"https://portail-api.meteofrance.fr/web/fr/api/DonneesPubliquesVigilance","created_at":"2026-06-07T22:08:25.396Z","updated_at":"2026-07-20T11:11:16.956Z"},"dataset_details":null,"license":null,"reuse":{"license_id":null,"license_name":null,"license_url":null,"commercial_use":{"status":"unknown","value":null},"redistribution":{"status":"unknown","value":null},"attribution_required":{"status":"unknown","value":null},"share_alike":{"status":"unknown","value":null},"personal_data_warning":{"status":"unknown","value":null},"cache_and_mirror":{"status":"unknown","value":null},"undetermined":["commercial_use","redistribution","attribution_required","share_alike","personal_data_warning","cache_and_mirror"],"basis":"unverified","confidence":0.1,"confidence_tier":"low","source_text":null,"source_url":null,"reviewed_at":null},"license_raw":null,"latest_check":{"id":"a5a544ec-de60-49af-837a-4be3c14d33a0","entry_id":"c4a5a00c-9383-490d-9355-3df432ac8bbb","status":"UNVERIFIED","last_checked_at":"2026-09-30T07:08:01.086Z","p50_latency_ms":822,"p95_latency_ms":null,"last_error":"Source URL is HTML, not a machine-readable API — possible mis-classification","consecutive_failures":0,"created_at":"2026-06-08T12:43:16.320Z","updated_at":"2026-09-30T07:08:01.086Z","consecutive_successes":54,"probe_url":"https://portail-api.meteofrance.fr/web/fr/api/DonneesPubliquesVigilance","probe_method":"GET","probe_http_status":200,"probe_content_type":"text/html","probe_succeeded_at":"2026-09-07T03:55:11.282Z"},"data_profile":{"id":"d6fc5c34-3cd4-487a-bdbe-220cd5948f31","entry_id":"c4a5a00c-9383-490d-9355-3df432ac8bbb","profile_source":"openapi","profile_kind":"dataset","dataset_id":null,"fields":null,"field_count":null,"sample_records":null,"record_count":null,"data_size_bytes":null,"dataset_count":null,"query_examples":null,"status":"error","error_message":"OpenAPI spec fetch failed: 404","profiled_at":"2026-09-27T05:59:01.152Z","run_id":"262ae4f8-b34b-456a-9e4e-8b2b118a99e0","created_at":"2026-07-20T11:13:45.829Z","updated_at":"2026-09-27T05:59:01.152Z","license_raw":null,"license_id":null,"consecutive_failure_count":7,"last_error_at":"2026-09-27T05:59:01.152Z","last_error_message":"OpenAPI spec fetch failed: 404","previewable":false,"personal_data":{"status":"none","basis":"no_person_column_cited","grain":"none","allowed":true,"columns":{"direct_identifiers":[],"family_names":[],"given_names":[],"attributes":[],"unresolved_names":[],"measures":[],"entity_identifiers":[]},"publication":null,"publication_evidence":null,"notice":"personal data: no cited column names a natural person (the cited columns are all this reads)"}},"datasets":[],"limits":[],"manifest":{"answer_sha256":"7d26ce927f37f6f7d72d6fc4e0e6d0ba4a9cff78c70cd57c6d493a51af30e72e","answer_sha256_rule":"sha256 (hex, UTF-8) of JSON.stringify(this body) after deleting the keys listed in manifest.stamped_keys from manifest, and deleting manifest itself if it is then empty. The hash was computed before the stamp existed, so no field of the stamp is inside it.","stamped_keys":["answer_sha256","answer_sha256_rule","stamped_keys","row_count","row_count_basis","live","live_basis","created_at","created_at_basis","durable_citation"],"row_count":11,"row_count_basis":"Objects that are elements of a JSON array anywhere in this body, excluding manifest. Not a claim about which collection is the answer. Largest single collection: maturity.rungs[] (7 rows).","live":true,"live_basis":"This body was produced by executing the request.","created_at":"2026-10-01T15:30:50.860Z","created_at_basis":"When this response body was assembled, deliberately OUTSIDE the hashed bytes so the same answer hashes identically on every request. Not the upstream read time — that is provenance[].retrieved_at. A zone-cached replay carries the assembly time, not your receipt time.","durable_citation":"This manifest is produced at response time and is NOT stored. A durable, replayable citation is persisted only on an explicit cite: GET /api/v1/entries/{id-or-slug}/evidence, or the MCP cite_query tool. Both are entry-scoped, because evidence_manifests is entry-shaped; a domain answer spanning several sources has no single entry and cannot be persisted through that path."}}