{"id":"134963df-befb-4bf1-bdc5-215542f30ff2","type":"API","name":"Etat écologique 2021","slug":"etat-ecologique-2021","description":"Geoportail OGC API.","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":null,"docs_url":null,"repo_url":"https://features.geoportail.lu/collections/2516","status":"ACTIVE","verification_state":"VERIFIED","tags":["geospatial"],"logo_url":"https://map.geoportail.lu/static-ngeo/gov-light.8b5db4.png","primary_source_url":"https://features.geoportail.lu/collections/2516","extraction_confidence":"0.43","created_at":"2026-07-30T13:33:00.138Z","updated_at":"2026-09-14T07:03:14.021Z","last_verified_at":"2026-09-14T07:03:14.021Z","deprecated_at":null,"ranking_score":59,"last_ranked_at":"2026-09-02T05:52:15.290Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":null,"search_vector":"'2021':3A,10A 'api':6B,13B 'ecologique':9A 'etat':1A,8A 'geoportail':4B,11B 'geospati':7C 'ogc':5B,12B 'écologiqu':2A","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":"2fb0693b-d7e1-48d9-8ed3-0cc1c390ef87","institution_type":"GOVERNMENT","country_code":"LU","official_confidence":null,"proof_summary":null,"source_seed_url":null,"is_public_sector":true,"published_at":"2026-07-31T18:08:00.144Z","geographic_scope":"NATIONAL","name_en":null,"description_en":null,"native_lang":null,"access_level":"direct","formats":[],"capability_tier":"live","trust_score":47.33333333333333,"merged_into_entry_id":null,"identity_key":"API|https://features.geoportail.lu/collections/2516|etat écologique 2021","upstream_ref":null,"access":{"level":"direct","primary":{"kind":"query","label":"List features","method":"GET","url":"https://features.geoportail.lu/collections/2516/items?f=json&limit=20","source":"query_example","runnable":true,"direct":true},"actions":[{"kind":"query","label":"List features","method":"GET","url":"https://features.geoportail.lu/collections/2516/items?f=json&limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Run verified request","method":"GET","url":"https://features.geoportail.lu/collections/2516?f=json","source":"probe","runnable":true},{"kind":"landing","label":"Open source record","method":"GET","url":"https://features.geoportail.lu/collections/2516","source":"primary_source","runnable":false}],"formats":[]},"maturity":{"entry_id":"134963df-befb-4bf1-bdc5-215542f30ff2","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":"executable","level_index":4,"level_label":"Executable","meaning":"Queries run through Commodity","counts_as_coverage":true,"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":true,"reached":true,"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":true,"reached":true,"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":true,"reached":true,"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":null,"proven_threshold":80,"institution_id":"2fb0693b-d7e1-48d9-8ed3-0cc1c390ef87","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":"features.geoportail.lu","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-09-14T20:03:14.496Z"},"api_details":null,"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":"142e1761-a9f2-443d-a1f2-36d55cd17561","entry_id":"134963df-befb-4bf1-bdc5-215542f30ff2","status":"VERIFIED","last_checked_at":"2026-09-14T07:03:13.687Z","p50_latency_ms":1882,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-07-30T13:37:07.820Z","updated_at":"2026-09-14T07:03:13.687Z","consecutive_successes":73,"probe_url":"https://features.geoportail.lu/collections/2516?f=json","probe_method":"GET","probe_http_status":200,"probe_content_type":"application/json","probe_succeeded_at":"2026-09-14T07:03:13.687Z"},"data_profile":{"id":"4de72280-7bdc-46dc-a9c0-09f838805064","entry_id":"134963df-befb-4bf1-bdc5-215542f30ff2","profile_source":"ogc_api_features","profile_kind":"dataset","dataset_id":null,"fields":[{"name":"geometry","type":"geometry","label":null,"description":null,"description_en":"Spatial geometry of the water body or monitoring station."},{"name":"OBJECTID","type":"integer","label":null,"description":null,"description_en":"Internal record identifier."},{"name":"OWK_2021","type":"string","label":null,"description":null,"description_en":"Surface water body code for 2021."},{"name":"Name_2021","type":"string","label":null,"description":null,"description_en":"Name of the surface water body for 2021."},{"name":"Ökologisc","type":"string","label":null,"description":null,"description_en":"Ecological status classification for 2021."},{"name":"CodeStation","type":"string","label":null,"description":null,"description_en":"Unique code identifying the monitoring station."},{"name":"NomStation","type":"string","label":null,"description":null,"description_en":"Name of the monitoring station."},{"name":"TypeStation","type":"string","label":null,"description":null,"description_en":"Type of monitoring performed at the station (e.g. biological, physico-chemical, chemical)."},{"name":"Hyperlinks","type":"string","label":null,"description":null,"description_en":"Link to related methodology or report document."},{"name":"pygeoapi_id","type":"integer","label":null,"description":null,"description_en":"Feature identifier used by the pygeoapi service."}],"field_count":10,"sample_records":[{"OBJECTID":1,"OWK_2021":"I-3.3","Name_2021":"Fluessweilerbaach","Hyperlinks":"http://geoportail.eau.etat.lu/pdf/plan de gestion/QualiteBio2021/METHODE_MONITORING_BIO.pdf","NomStation":"FLUESWEILERBACH, Wecker","Ökologisc":"4","CodeStation":"L202036A01","TypeStation":"Bio+PC+C","pygeoapi_id":1},{"OBJECTID":2,"OWK_2021":"VI-4.4","Name_2021":"Kälbaach","Hyperlinks":"http://geoportail.eau.etat.lu/pdf/plan de gestion/QualiteBio2021/METHODE_MONITORING_BIO.pdf","NomStation":"KAYLBACH, amont confluent Alzette, Noertzange","Ökologisc":"5","CodeStation":"L102030A04","TypeStation":"Bio+PC+C","pygeoapi_id":2},{"OBJECTID":3,"OWK_2021":"III-2.1.1","Name_2021":"Sauer","Hyperlinks":"http://geoportail.eau.etat.lu/pdf/plan de gestion/QualiteBio2021/METHODE_MONITORING_BIO.pdf","NomStation":"SÛRE - Goebelsmillen, SÛRE, Dirbach","Ökologisc":"3","CodeStation":"L112010A08, L112010A07","TypeStation":"Bio+PC+C","pygeoapi_id":3},{"OBJECTID":4,"OWK_2021":"III-1.4","Name_2021":"Schlënner","Hyperlinks":"http://geoportail.eau.etat.lu/pdf/plan de gestion/QualiteBio2021/METHODE_MONITORING_BIO.pdf","NomStation":"SCHLENNER - Schlinder","Ökologisc":"3","CodeStation":"L112011A01","TypeStation":"Bio+PC+C","pygeoapi_id":4},{"OBJECTID":5,"OWK_2021":"III-1.2.3","Name_2021":"Stool","Hyperlinks":"http://geoportail.eau.etat.lu/pdf/plan de gestion/QualiteBio2021/METHODE_MONITORING_BIO.pdf","NomStation":"STOOL, Landscheid","Ökologisc":"3","CodeStation":"L140032A01","TypeStation":"Bio+PC+C","pygeoapi_id":5}],"record_count":null,"data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://features.geoportail.lu/collections/2516/items?f=json&limit=20","curl":"curl -s 'https://features.geoportail.lu/collections/2516/items?f=json&limit=20' -H 'Accept: application/json'","label":"List features","method":"GET","description":"First 20 features of the collection as GeoJSON."},{"url":"https://features.geoportail.lu/collections/2516?f=json","curl":"curl -s 'https://features.geoportail.lu/collections/2516?f=json' -H 'Accept: application/json'","label":"Collection metadata","method":"GET","description":"Collection description, extent and available links."}],"status":"ok","error_message":null,"profiled_at":"2026-09-10T13:48:49.297Z","run_id":"bf5874ad-2644-4315-a8ee-c9cc19960bb3","created_at":"2026-07-30T13:37:26.716Z","updated_at":"2026-09-10T13:48:49.297Z","license_raw":null,"license_id":null,"consecutive_failure_count":0,"last_error_at":null,"last_error_message":null,"previewable":true,"personal_data":{"status":"named_subject_unknown","basis":"name_subject_not_stated","grain":"unknown","allowed":true,"columns":{"direct_identifiers":[],"family_names":[],"given_names":[],"attributes":[],"unresolved_names":["Name_2021"],"measures":[],"entity_identifiers":[]},"publication":null,"publication_evidence":null,"notice":"personal data: a NAME is cited and the schema does not say whose — Name_2021 carries the row's subject in the form that identifies it, and nothing else cited says whether that subject is a person or a thing; permitted under the owner ruling of 2026-08-25 (refusing every name column withholds trees and bus stops and protects nobody) and published as unstated rather than as “no person column”; columns — identifiers: none; names: none; names of an unstated subject: Name_2021; attributes: none; measures: none; entity keys: none"}},"datasets":[],"limits":[],"manifest":{"answer_sha256":"c38f8cf8171d135c0edc07bf5a6365bbaae8f9ac9ba50965e3ccd069be0c5c5d","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":27,"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: data_profile.fields[] (10 rows).","live":false,"live_basis":"This body was replayed from the worker edge cache (x-edge-cache: hit); the bytes, and therefore answer_sha256, are those of the execution that filled the cache.","created_at":"2026-09-14T20:04:43.701Z","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."}}