{"format":"dta_bulk:v1","generated_at":"2026-10-23T03:05:00Z","as_of":"2026-10-23T02:40:21Z","files":[{"name":"dta-series.csv.gz","url":"https://dta.mn/bulk/dta-series.csv.gz","bytes":189335,"sha256":"ccf919305a3332d22015eb365046b98db88eec87db47d461d112a21a564f7c2e","rows":3477,"columns":["code","name_mn","name_en","unit","frequency","source","source_mn","source_en","first","last","dates","signed","description","page"],"about":"Every series: its code, names, unit, frequency, source, first and last date, how many dates it has, when it was last signed, what it measures, and its page."},{"name":"dta-values.csv.gz","url":"https://dta.mn/bulk/dta-values.csv.gz","bytes":7842622,"sha256":"27619d3255612750383d3cf4b56d7179ffeba9bc9fb5d9789b47213ddd1b43e8","rows":564614,"columns":["series","date","value","quality","vintage","shortid"],"about":"The record as it stands: each series' value on each date, its newest vintage, with the shortid whose passport is https://dta.mn/d/<shortid>. A withdrawn value is empty, quality corrected."},{"name":"dta-vintages.csv.gz","url":"https://dta.mn/bulk/dta-vintages.csv.gz","bytes":4215475,"sha256":"bd158dc5b8f6b25ae27bcd0dcdafb586750e010ee74f62a617c8c16df57e6796","rows":644473,"columns":["series","date","vintage","value","quality"],"about":"Every vintage ever signed, superseded and withdrawn ones included: how each value was revised."}],"signed_by":"urga.v0.oci","signature":"1a8a1630b8e675ba24286b7d429d48a4045e5fb8ba44e20d67dff9b64bde25fff08c7c6abbf6d58e169c00abcb9731500da845cda6de9c1501b8292ea1e34d0c","signed_payload":"dta_bulk:v1|2026-10-23T03:05:00Z|2026-10-23T02:40:21Z|urga.v0.oci|dta-series.csv.gz|189335|ccf919305a3332d22015eb365046b98db88eec87db47d461d112a21a564f7c2e|3477|dta-values.csv.gz|7842622|27619d3255612750383d3cf4b56d7179ffeba9bc9fb5d9789b47213ddd1b43e8|564614|dta-vintages.csv.gz|4215475|bd158dc5b8f6b25ae27bcd0dcdafb586750e010ee74f62a617c8c16df57e6796|644473","pubkey":"https://dta.mn/.well-known/urga.pubkey","verify":"Hash each file with sha256 and compare it with signed_payload, which names every file with its bytes, sha256 and rows. Then check signature, Ed25519 over signed_payload, against the signed_by line of pubkey. Each value has its own passport too: https://dta.mn/d/<shortid>."}