{
 "about": "Where IPMA's full responses are kept: a data vault (SG/Send, made with sgit), never git. latest/ is overwritten by each read; a dated folder per hour (UTC) keeps every file that changed in that hour, a <file>.diff.json beside it saying what changed, and a manifest.json with the sha256 of every file as read in that hour. Anyone with the read key can read the vault; nobody can write to it with that key.",
 "by": "incident.ipma@web-summit.dinis",
 "updated": "2026-11-11T11:50:38Z",
 "source": "https://api.ipma.pt/open-data/",
 "shape": {
  "latest": "ipma/latest/<path under open-data/>",
  "dated": "ipma/<yyyy>/<mm>/<dd>/<hh>/<path>",
  "diff": "ipma/<yyyy>/<mm>/<dd>/<hh>/<path>.diff.json",
  "manifest": "ipma/<yyyy>/<mm>/<dd>/<hh>/manifest.json and ipma/latest/manifest.json"
 },
 "vault": {
  "kind": "data vault (normal, not packed)",
  "id": "x75qcmux",
  "server": "https://dev.send.sgraph.ai",
  "read_key": "sgit_public_read_8872060d921c489642755e3d625ec731c9f876f9adbf3d71efa6b248963f8147",
  "clone": "sgit clone sgit_public_read_8872060d921c489642755e3d625ec731c9f876f9adbf3d71efa6b248963f8147:x75qcmux",
  "note": "a read key is derived one-way and cannot write",
  "pushed_utc": "2026-11-11T11:50:53Z",
  "head": "obj-cas-imm-64ce9afeb002"
 },
 "hours": [
  "2026/11/11/02",
  "2026/11/11/03",
  "2026/11/11/04",
  "2026/11/11/05",
  "2026/11/11/06",
  "2026/11/11/07",
  "2026/11/11/08",
  "2026/11/11/09",
  "2026/11/11/10",
  "2026/11/11/11"
 ],
 "latest": {
  "read_utc": "2026-11-11T11:47:29Z",
  "files": {
   "distrits-islands.json": {
    "sha256": "fe67afbdef8527b704b5d15044441787a8fb281a2b80111472004cf05f5d3cd9",
    "bytes": 10071
   },
   "sea-locations.json": {
    "sha256": "fe0ffd2801bb86206c8ae1ab676d019d998965aaffe81fcd880fc0855c1bf4f3",
    "bytes": 2268
   },
   "observation/meteorology/stations/stations.json": {
    "sha256": "cd795de81f53b2c6f2935be522314f582610412217d548769747ecef2307dd90",
    "bytes": 49864
   },
   "weather-type-classe.json": {
    "sha256": "8727e4e98344696bbb086680cebd165b3d5d52ec19f96ec781bde5c69efe1a16",
    "bytes": 4954
   },
   "wind-speed-daily-classe.json": {
    "sha256": "c747a9932e4c866165568585ffc6b1754b94ab5858e0ddd8e1085fbaba17867c",
    "bytes": 644
   },
   "precipitation-classe.json": {
    "sha256": "208d4a1c7c9f2e4336af82040375ab463e0f7074fe641912b2a20821b49b482c",
    "bytes": 578
   },
   "forecast/warnings/warnings_www.json": {
    "sha256": "55a16610bb5737e1b2cfabb31c4fa0a9a332f8f35da40af4a457610f1cae38e5",
    "bytes": 46303
   },
   "forecast/meteorology/cities/daily/1010500.json": {
    "sha256": "70013dff20d1f3cafd97b136b9c47ffe88dc23675fdce834f35d775750543d4a",
    "bytes": 1195
   },
   "forecast/meteorology/cities/daily/1020500.json": {
    "sha256": "d488d7d8065d2f51ecc25b317470e97bb4b6cf7a9a8a3f42e5bd757973007d18",
    "bytes": 1192
   },
   "forecast/meteorology/cities/daily/1030300.json": {
    "sha256": "971520ceb94c19b4a399f10d16a02a524907ce0427e8d059ebdc2cac9899ba8f",
    "bytes": 1195
   },
   "forecast/meteorology/cities/daily/1030800.json": {
    "sha256": "04ab55e29232e2bda7eb050764eae2f688ce2c6d0dfdd124a83dda7b60de90a6",
    "bytes": 1196
   },
   "forecast/meteorology/cities/daily/1040200.json": {
    "sha256": "cce2dedacc77cf535ac2292dd558d13a86be669a89484cd6304da4e206e49472",
    "bytes": 1191
   },
   "forecast/meteorology/cities/daily/1050200.json": {
    "sha256": "3e5a8193a4d0be649efa14c51e81e35f7655233d2eefb35a3408a4ba70a30f3b",
    "bytes": 1197
   },
   "forecast/meteorology/cities/daily/1060300.json": {
    "sha256": "9a7d1ae06f8331d7fc050065a2b1b344274e1b900835a37c31f36469e2c0b9e4",
    "bytes": 1193
   },
   "forecast/meteorology/cities/daily/1070500.json": {
    "sha256": "1bbb8706372000838715092c3ab636fdafd892814533fb7d2b5ddfc3449debaa",
    "bytes": 1194
   },
   "forecast/meteorology/cities/daily/1080500.json": {
    "sha256": "352a9e02669b6c83b0f7c9981e23b1068eb6874745d61eb6b165c30cdd7ce7c2",
    "bytes": 1189
   },
   "forecast/meteorology/cities/daily/1081505.json": {
    "sha256": "c71db41e9ce2bc6767573f7711ad0b194de6b161aaa4ab5b7740ee99185d9133",
    "bytes": 1191
   },
   "forecast/meteorology/cities/daily/1081100.json": {
    "sha256": "89306d0806358d3a5c264dd1573d811d6d6284dd437510af3b40e39e882d4374",
    "bytes": 1190
   },
   "forecast/meteorology/cities/daily/1080800.json": {
    "sha256": "4191b8d19f9c06c2948a9cd62d1cdfd1b0806ea4097ded33f1ebc9c3ae7b654b",
    "bytes": 1190
   },
   "forecast/meteorology/cities/daily/1090700.json": {
    "sha256": "59e0de7b194b751c9c4ae46aad46b15066b9c98b6b0ba76e873f622189c5d497",
    "bytes": 1187
   },
   "forecast/meteorology/cities/daily/1090821.json": {
    "sha256": "134a2ac37a3efcffb7dc66bcf78cb53eab8f4b43ee144c17a3690f208afd4b8a",
    "bytes": 1187
   },
   "forecast/meteorology/cities/daily/1100900.json": {
    "sha256": "0f0fdac2debcd5721debd3cfd7f2335258e3e5bea5dec9e7c1342c2b68c6a388",
    "bytes": 1196
   },
   "forecast/meteorology/cities/daily/1110600.json": {
    "sha256": "999cb5caec072ecdf18dc5d4e855c95cc0143fa7ff48e2267a5191c02f0e26c5",
    "bytes": 1192
   },
   "forecast/meteorology/cities/daily/1121400.json": {
    "sha256": "bc7d1800ec0585556dfd19f15480071b3be852df510466e6e56b89027d09adb7",
    "bytes": 1197
   },
   "forecast/meteorology/cities/daily/1131200.json": {
    "sha256": "a6db6762816742bdcc36e073d532199f0eafdeb0e0afae2aa94de9c47ccf25d3",
    "bytes": 1196
   },
   "forecast/meteorology/cities/daily/1141600.json": {
    "sha256": "65a9aef9252d1ffde136b33461a97004108eb897384f36bedc5e90637514b639",
    "bytes": 1192
   },
   "forecast/meteorology/cities/daily/1151200.json": {
    "sha256": "046d8a163e6e579bd5891e8a7b2d2b813bd25bbd3549c44e359ce848220ec8c9",
    "bytes": 1191
   },
   "forecast/meteorology/cities/daily/1151300.json": {
    "sha256": "2df2759521e0411f029691d45803d0e5fd69cd799754958fd23d4843b187c641",
    "bytes": 1192
   },
   "forecast/meteorology/cities/daily/1160900.json": {
    "sha256": "d371c927e64f5c9b3e7aac1a533ec4740adba60a7e35db88e45cf19ef7636b04",
    "bytes": 1195
   },
   "forecast/meteorology/cities/daily/1171400.json": {
    "sha256": "0b33810c8bfb4291e5223db251861393de7c02cc09eea718599873106383143d",
    "bytes": 1193
   },
   "forecast/meteorology/cities/daily/1182300.json": {
    "sha256": "56f43825d5f47f4493f345fe87746dbeb76ee56ad1198f62cf364921abd3f6c6",
    "bytes": 1193
   },
   "forecast/meteorology/cities/daily/2310300.json": {
    "sha256": "4a74960b04b13b962c5486964d2f8c793ce49269d39c36b66a046e9d6c6f286b",
    "bytes": 1136
   },
   "forecast/meteorology/cities/daily/2320100.json": {
    "sha256": "d7c0d3a873db57ce9a2f56beba2ea7bfed01b9fc5ba1aee449f3d4faf648394b",
    "bytes": 1116
   },
   "forecast/meteorology/cities/daily/3410100.json": {
    "sha256": "6d3e771daec89ed54f5ff39ea1dc685cb2cad01a6f15edb66a25049a047d88aa",
    "bytes": 1137
   },
   "forecast/meteorology/cities/daily/3420300.json": {
    "sha256": "dad441f777677faaaac264a1f59d3364f32d71dd52177a508c0fa9027a2b16cf",
    "bytes": 1179
   },
   "forecast/meteorology/cities/daily/3430100.json": {
    "sha256": "cfbaa0bad8729345c8f77655e10145dea8f781d24f4b36942ef788c56d6bee17",
    "bytes": 1197
   },
   "forecast/meteorology/cities/daily/3440100.json": {
    "sha256": "2c564bf03422c76b16db9795837d195caf5e23e7e6fd22a6f8b88e76781c099a",
    "bytes": 1181
   },
   "forecast/meteorology/cities/daily/3450200.json": {
    "sha256": "ef17a39d52ea05b1a07e01458b62438c34313a4dc01cd1006a6c19e2610076de",
    "bytes": 1199
   },
   "forecast/meteorology/cities/daily/3460200.json": {
    "sha256": "8d6ffb5bb8ff66d05b0f7e5e41ce21414b997ea61e8681b26f9776c81920c674",
    "bytes": 1201
   },
   "forecast/meteorology/cities/daily/3470100.json": {
    "sha256": "7bf4504310e47ac5d09a6505fe61d07a9548f16cf7858f40de300b6662cfea04",
    "bytes": 1180
   },
   "forecast/meteorology/cities/daily/3480200.json": {
    "sha256": "65299e59afe722aa35a0f7499d3d3aabedacf7eef3bf05a8339b08fe4588979f",
    "bytes": 1181
   },
   "forecast/meteorology/cities/daily/3490100.json": {
    "sha256": "624d70299e6dc183cb6c4b9fd12a575988ed8ac9325fa8de36d06478812a66ae",
    "bytes": 1162
   },
   "forecast/meteorology/cities/daily/hp-daily-forecast-day0.json": {
    "sha256": "3c7ffc3a43588b9ff48215ad59010f6fa53f967b44fc16f04332bd235c182e28",
    "bytes": 6919
   },
   "forecast/meteorology/cities/daily/hp-daily-forecast-day1.json": {
    "sha256": "eee25bfb6ccdda72ea3cdeeab2ec9dbcbdc0cb84ac547c6c0d324c02d4838727",
    "bytes": 6870
   },
   "forecast/meteorology/cities/daily/hp-daily-forecast-day2.json": {
    "sha256": "46dc609a73d20e0ecc9e6d835c60df9bde85211a163b748ed2b4fca85a18ec2d",
    "bytes": 6796
   },
   "forecast/oceanography/daily/hp-daily-sea-forecast-day0.json": {
    "sha256": "5ab2e07e8a6324ec54fef42017c41cd82a85b02f6c77f9eca7c63e40d3990978",
    "bytes": 3277
   },
   "forecast/oceanography/daily/hp-daily-sea-forecast-day1.json": {
    "sha256": "28e7ac461c1d4098d2d96acf11b50d849f19f27c4f3c6ba268b0c9363673606d",
    "bytes": 3274
   },
   "forecast/oceanography/daily/hp-daily-sea-forecast-day2.json": {
    "sha256": "65f3f0cfdde61778ed0280d20529ba3c8aad3ef048b0f584c38da5f767263246",
    "bytes": 3273
   },
   "forecast/meteorology/uv/uv.json": {
    "sha256": "41613bd890e6e05f68405eb2918073cfa6c1595aaafb3201eded548a4c8794f4",
    "bytes": 16080
   },
   "forecast/meteorology/rcm/rcm-d0.json": {
    "sha256": "dc11d3e2a07a18c1b54048e4386b97730e3dcf9de45ecfeb59efc53e54a45314",
    "bytes": 24302
   },
   "forecast/meteorology/rcm/rcm-d1.json": {
    "sha256": "9704f664f01cc3d7b5d8aa4716362d6a584c09d553ad944afa98cedf2a074d22",
    "bytes": 24302
   },
   "forecast/meteorology/rcm/rcm-d2.json": {
    "sha256": "bd2c7ca4a4b72ccf8004cd14544709a3471a0c0211fcdf218d1acbaabbe29fd1",
    "bytes": 24302
   },
   "observation/meteorology/stations/observations.json": {
    "sha256": "2c1bbcb0074102ba20764033a14cb7697a36a43f9fca69a42f3fba5c9ef88bb1",
    "bytes": 1063281
   },
   "observation/meteorology/stations/obs-surface.geojson": {
    "sha256": "a86e338745dc24494ba293a32492189d29c59e57d4177d55fa9145d504179544",
    "bytes": 435978
   },
   "observation/seismic/3.json": {
    "sha256": "1f4ac280e5575a6db5428135701925d4c7b19d838b835855f1f1f31cfffb38ed",
    "bytes": 36651
   },
   "observation/seismic/7.json": {
    "sha256": "bc4d90b0e4899814c5e3d31c649ecdf1855c3d5ca5c67e7adaa2dee9f6cba882",
    "bytes": 109382
   },
   "observation/climate/precipitation/prec-p1d-continental-obssup-idw-concelhos-20d.csv": {
    "sha256": "d74de55d629a750a7a4a178376df2962a3b46af2cd90aa532417b153581df3cb",
    "bytes": 635427
   },
   "observation/climate/temperature/t2m-p1d-continental-obssup-idw-concelhos-20d.csv": {
    "sha256": "c5c2b95c8184dff28e838c898370126628c25278bade12b5fbe69804d91b7391",
    "bytes": 896257
   },
   "observation/biology/bivalves/CI_SNMB.geojson": {
    "sha256": "1f5ee7e1f1445d9be42cee1a81d081d5d1d6602f55424ef6526b5990be66b6bf",
    "bytes": 3411715
   },
   "06.json": {
    "sha256": "d3541da8f4ae41bf5b46244ea418c6a6fdf9dd08876643a2a901709a4631146b",
    "bytes": 277
   }
  }
 }
}
