{"id":"fdc1d24e-06c8-4934-8ed9-56b507bae381","type":"DATASET","name":"Jalankulkijoiden liukastumisvaroitukset Helsingissä","slug":"jalankulkijoiden-liukastumisvaroitukset-helsingissa","description":"Avoimen rajapinnan kautta saa JSON-muodossa tiedon jalankulkijoille annetuista liukkausvaroituksista Helsingissä. Tiedot päivittyvät rajapintaan reaaliaikaisesti - kun varoitus liukkaudesta tulee, näkyy se rajapintaan kohdistuvissa uusissa tietopyynnöissä heti ilman viiveitä. Rajapinnan dokumentaatio on osoitteessa https://liukasbotti.fi/fi/developers. Palvelun tuottaa Bravo Digital Oy.","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":null,"docs_url":null,"repo_url":"https://avoindata.suomi.fi/data/dataset/8000f66a-082a-4611-9b76-e9a5908273b8/resource/7c7f036c-da76-4476-a6ad-8f254c185dc9","status":"ACTIVE","verification_state":"VERIFIED","tags":["weather","transport","environment"],"logo_url":"https://avoindata.suomi.fi/themes/avoindata/images/logo/apple-touch-icon.png","primary_source_url":"https://avoindata.suomi.fi/data/dataset/8000f66a-082a-4611-9b76-e9a5908273b8/resource/7c7f036c-da76-4476-a6ad-8f254c185dc9","extraction_confidence":"0.30","created_at":"2026-06-24T18:58:25.762Z","updated_at":"2026-10-12T20:48:57.455Z","last_verified_at":"2026-10-12T18:30:45.450Z","deprecated_at":null,"ranking_score":34,"last_ranked_at":"2026-10-10T19:49:32.357Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-10-11T00:00:19.755Z","search_vector":"'/fi/developers.':44B,102B,180B,238B 'a':208B 'about':194B,260B 'an':186B 'and':253B 'annetuista':18B,154B 'api':52B,188B 'appear':78B 'appears':214B 'at':235B 'avail':98B 'available':234B 'avoimen':9B,145B 'be':255B 'bravo':47B,93B,183B,229B 'by':228B,265B 'can':254B 'caus':128B 'caused':264B 'citi':110B 'city':246B 'condit':60B,127B 'conditions':196B,263B 'connect':107B 'connection':243B 'data':66B,202B 'delay':87B,223B 'digit':48B,94B 'digital':184B,230B 'divis':116B 'division':252B 'document':97B 'documentation':233B 'dokumentaatio':39B,175B 'environ':115B,136C 'environment':251B 'for':198B 'format':56B,192B 'hazard':125B 'hazardous':261B 'helsingissa':139A,156B 'helsingissä':3A,20B 'helsinki':8A,65B,112B,144A,201B,248B 'heti':35B,171B 'ice':130B,266B 'ilman':36B,172B 'immedi':79B 'immediately':215B 'in':143A,190B,200B,204B,216B,242B 'inform':122B,258B 'interfac':85B 'interface':221B 'is':211B,226B,240B 'issu':61B,76B 'issued':197B,212B 'it':213B,239B 'jalankulkijoiden':1A,137A 'jalankulkijoill':17B 'jalankulkijoille':153B 'json':14B,55B,150B,191B 'json-muodossa':13B,149B 'kautta':11B,147B 'kohdistuvissa':32B,168B 'kun':25B,161B 'liukasbotti.fi':43B,101B,179B,237B 'liukasbotti.fi/fi/developers.':42B,100B,178B,236B 'liukastumisvaroitukset':2A,138A 'liukkaudesta':27B,163B 'liukkausvaroituksista':19B,155B 'muodossa':15B,151B 'nakyy':165B 'new':81B,217B 'näkyy':29B 'of':247B 'on':176B 'open':51B,187B 'or':267B 'osoitteessa':41B,177B 'oy':49B,95B,185B,231B 'paivittyvat':158B 'palvelun':45B,181B 'pedestrian':4A,63B,123B,140A 'pedestrians':199B,259B 'produc':91B 'produced':227B 'provid':53B 'providing':189B 'publish':105B 'published':241B 'päivittyvät':22B 'rajapinnan':10B,38B,146B,174B 'rajapintaan':23B,31B,159B,167B 'reaaliaikaisesti':24B,160B 'real':69B,205B 'request':82B 'requests':218B 's':249B 'saa':12B,148B 'se':30B,166B 'servic':89B 'service':225B 'slipperi':5A,59B,73B,132B 'slipperiness':141A,209B 'slippery':195B,268B 'surfac':133B 'surfaces':269B 'the':220B,224B,245B 'tiedon':16B,152B 'tiedot':21B,157B 'tietopyynnoissa':170B 'tietopyynnöissä':34B 'time':70B,206B 'to':219B,257B 'transport':135C 'tule':28B 'tulee':164B 'tuottaa':46B,182B 'updat':67B 'updates':203B 'urban':114B,250B 'use':120B 'used':256B 'uusissa':33B,169B 'varoitus':26B,162B 'viiveita':173B 'viiveitä':37B 'walk':126B 'walking':262B 'warn':6A,57B,74B 'warning':210B 'warnings':142A,193B 'weather':134C 'when':207B 'with':232B,244B 'without':86B,222B","popularity_score":"0.0000","maintenance_score":"0.5000","institution_id":null,"institution_type":null,"country_code":"FI","official_confidence":null,"proof_summary":null,"source_seed_url":null,"is_public_sector":true,"published_at":"2026-06-24T18:58:25.762Z","geographic_scope":"NATIONAL","name_en":"Pedestrian Slipperiness Warnings in Helsinki","description_en":"An open API providing, in JSON format, warnings about slippery conditions issued for pedestrians in Helsinki. Data updates in real time: when a slipperiness warning is issued, it appears immediately in new requests to the interface without delay. The service is produced by Bravo Digital Oy, with documentation available at liukasbotti.fi/fi/developers. It is published in connection with the City of Helsinki's urban environment division and can be used to inform pedestrians about hazardous walking conditions caused by ice or slippery surfaces.","native_lang":"fi","access_level":"direct","formats":["JSON"],"capability_tier":"download","trust_score":35.69230769230769,"merged_into_entry_id":null,"identity_key":"DATASET|https://avoindata.suomi.fi/data/dataset/8000f66a-082a-4611-9b76-e9a5908273b8/resource/7c7f036c-da76-4476-a6ad-8f254c185dc9|jalankulkijoiden liukastumisvaroitukset helsingissä","upstream_ref":null,"content_changed_at":null,"title_qualifier":null,"access":{"level":"direct","primary":{"kind":"download","label":"Download JSON","method":"GET","url":"https://liukasbotti.fi/fi/developers","format":"JSON","source":"distribution","runnable":true},"actions":[{"kind":"download","label":"Download JSON","method":"GET","url":"https://liukasbotti.fi/fi/developers","format":"JSON","source":"distribution","runnable":true},{"kind":"landing","label":"Open source page","method":"GET","url":"https://avoindata.suomi.fi/data/dataset/8000f66a-082a-4611-9b76-e9a5908273b8","source":"landing_page","runnable":false},{"kind":"landing","label":"Open source record","method":"GET","url":"https://avoindata.suomi.fi/data/dataset/8000f66a-082a-4611-9b76-e9a5908273b8/resource/7c7f036c-da76-4476-a6ad-8f254c185dc9","source":"primary_source","runnable":false}],"formats":["JSON"]},"maturity":{"entry_id":"fdc1d24e-06c8-4934-8ed9-56b507bae381","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":"verified","level_index":2,"level_label":"Verified","meaning":"Access tested successfully","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":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":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":null,"proven_threshold":80,"institution_id":null,"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":"avoindata.suomi.fi","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-12T22:46:15.805Z"},"api_details":null,"dataset_details":{"id":"2291441f-c422-4946-87db-5a5052e7347e","entry_id":"fdc1d24e-06c8-4934-8ed9-56b507bae381","upstream_issued":null,"upstream_modified":"2026-01-06T04:54:39.968Z","themes":[],"update_frequency":null,"temporal_start":null,"temporal_end":null,"spatial_coverage":null,"landing_page":"https://avoindata.suomi.fi/data/dataset/8000f66a-082a-4611-9b76-e9a5908273b8","license_id":null,"license_raw":null,"has_documentation":false,"has_data_dictionary":false,"has_versioning":false,"source_portal":"ckan","source_portal_url":"https://avoindata.suomi.fi/data","created_at":"2026-07-04T17:49:20.666Z","updated_at":"2026-07-24T10:04:26.671Z","publisher":"Helsingin kaupunkiympäristön toimiala","publisher_url":null,"distributions":[{"id":"1dd32f7e-c6a6-46cf-ab2d-2b73c2bfa750","dataset_details_id":"2291441f-c422-4946-87db-5a5052e7347e","title":"REST-rajapinta","description":null,"access_url":"https://liukasbotti.fi/fi/developers","download_url":"https://liukasbotti.fi/fi/developers","media_type":null,"format":"json","byte_size":null,"license_id":null,"license_raw":null,"last_checked_at":"2026-10-12T18:30:43.984Z","is_available":true,"last_http_status":200,"created_at":"2026-07-24T10:04:26.358Z","updated_at":"2026-10-12T18:30:43.984Z"}],"license":null},"license":{"id":"cc-by-4.0","spdx_id":"CC-BY-4.0","name":"Creative Commons Attribution 4.0","url":"https://creativecommons.org/licenses/by/4.0/","is_open":true,"is_redistributable":true,"requires_attribution":true,"category":"cc","notes":null,"created_at":"2026-06-12T16:29:19.729Z"},"reuse":{"license_id":"cc-by-4.0","license_name":"Creative Commons Attribution 4.0","license_url":"https://creativecommons.org/licenses/by/4.0/","commercial_use":{"status":"yes","value":true},"redistribution":{"status":"yes","value":true},"attribution_required":{"status":"yes","value":true},"share_alike":{"status":"no","value":false},"personal_data_warning":{"status":"yes","value":true},"cache_and_mirror":{"status":"yes","value":true},"undetermined":[],"basis":"licence_text","confidence":0.95,"confidence_tier":"high","source_text":"Deed: \"Share - copy and redistribute the material in any medium or format for any purpose, even commercially\" and \"Adapt - remix, transform, and build upon the material for any purpose, even commercially\". Under the following terms: \"Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made.\" Notices: \"other rights such as publicity, privacy, or moral rights may limit how you use the material.\" Attribution is the only term listed; no ShareAlike term appears.","source_url":"https://creativecommons.org/licenses/by/4.0/","reviewed_at":null},"license_raw":"http://creativecommons.org/licenses/by/4.0/","latest_check":{"id":"12d98efb-75d6-4be7-a480-8a8644f03a1d","entry_id":"fdc1d24e-06c8-4934-8ed9-56b507bae381","status":"VERIFIED","last_checked_at":"2026-10-12T18:30:45.203Z","p50_latency_ms":2792,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-06-24T18:58:40.761Z","updated_at":"2026-10-12T18:30:45.203Z","consecutive_successes":233,"probe_url":"https://liukasbotti.fi/fi/developers","probe_method":"GET","probe_http_status":200,"probe_content_type":"text/html; charset=utf-8","probe_succeeded_at":"2026-10-12T18:30:45.203Z"},"data_profile":{"id":"e3deb11e-7622-4136-b0a5-ee1bf4659bc5","entry_id":"fdc1d24e-06c8-4934-8ed9-56b507bae381","profile_source":"ckan","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":"CKAN DCAT dataset failed: 403","profiled_at":"2026-10-06T03:36:56.543Z","run_id":"5c3c1001-4ec5-4479-a048-15761bafe718","created_at":"2026-07-17T09:24:43.384Z","updated_at":"2026-10-06T03:36:56.543Z","license_raw":"http://creativecommons.org/licenses/by/4.0/","license_id":"cc-by-4.0","consecutive_failure_count":7,"last_error_at":"2026-10-06T03:36:56.543Z","last_error_message":"CKAN DCAT dataset failed: 403","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":"80d5795f82acb026c58900dfe27e7b2b08fa0c17aaa205679f0dae5cd7fc5d31","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-12T22:46:15.849Z","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."}}