Nordic Cryptosince 2026
SubscribeJoin on TelegramFollow on XFollow on FacebookWatch on YouTubeSource code
Choose language: English

Database

The public data files this site and the API use. Field names stay in English.

Schema version 2026-10-17 · 8959dbf Last changed /api/v1/schema/index.json

Private stores

Reader tips are kept in a private Cloudflare D1 database. The text of a tip is not in the public files and is not served at /api/v1/.

Newsletter subscriber addresses are kept in a private Cloudflare D1 database. They are not in the public files and are not served at /api/v1/.

How the collections relate

Relations between the public collectionsNEWSNews storiesEVENTSEventsSOURCESSourcesNEWSLETTERSNewslettersSPONSORSSponsorsACADEMIAAcademiaBOOKSBooksMARKETSMarketsPROFILESProfilesORGCHARTWho's whoTALKSTalksDEVELOPERSDevelopersILLUSTRATIONSIllustrationsIMAGESPortraitsLOGOSOutlet logosCHANGELOGChangelogRULESRules mapSTATSVisitor statsCROWDFUNDINGCrowdfundingBUDGETBudgetARTICLESArticle archiveTITLE_I18NHeadline translationsBLURBSFront-page blurbsEVENT_DESCRIPTIONSEvent descriptionsEVENT_REDIRECTSEvent redirectsREGULATION_VIDEOSRegulation videos
Mermaid source
erDiagram
  NEWS }|--|| SOURCES : source
  NEWS }|--|| SOURCES : also_covered_by_.outlet
  NEWS ||--|| TITLE_I18N : id
  NEWS ||--|| BLURBS : id
  EVENTS }|--|| SPONSORS : sponsored
  EVENTS ||--o{ TALKS : id
  EVENTS ||--|| EVENT_DESCRIPTIONS : id
  EVENTS ||--|| EVENT_REDIRECTS : id
  SOURCES ||--o{ NEWS : id
  SPONSORS ||--o{ EVENTS : sponsored
  PROFILES }|--|| ORGCHART : entity_id_object_key
  ORGCHART }|--|| ORGCHART : relations_.from
  ORGCHART }|--|| ORGCHART : relations_.to
  ORGCHART }o--o{ TALKS : entities_.talk_ids
  ORGCHART ||--o{ PROFILES : id
  ORGCHART ||--o{ DEVELOPERS : id
  TALKS }|--|| EVENTS : event_id
  TALKS }o--o{ ORGCHART : speaker_ids
  DEVELOPERS }|--|| ORGCHART : org_id
  DEVELOPERS }|--|| ORGCHART : whoswho_id
  ILLUSTRATIONS }o--o{ NEWS : assign_.id
  IMAGES }|--|| ORGCHART : entity_id_object_key
  LOGOS ||--|| SOURCES : id_object_key
  ARTICLES }|--|| NEWS : articles_.id
  TITLE_I18N }|--|| NEWS : items_key
  BLURBS }|--|| NEWS : items_key
  EVENT_DESCRIPTIONS }|--|| EVENTS : items_key
  EVENT_REDIRECTS }|--|| EVENTS : removed_id_object_key
  EVENT_REDIRECTS }|--|| EVENTS : value

Collections

News stories

Stories in data/news.json. status is the editorial state: pending, published, rejected or merged. The public API lists published stories that have a summary. Editor fields stay in the file and are left out of /api/v1/.

File data/news.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
updatedstringRequired—"2026-10-14T01:43:32+00:00"

Story

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"d58de33a2af7"Stable id, 12 hex characters.
urlstringRequired—"https://respawn.fi/gta-6-vuotajan-kryptovaluutta-romahti-yli-50-prosenttia"The story the reader follows. Absolute.
titlestringRequired—"Bitcoin presses av rekordstore uttak"Source headline.
title_enstring or nullRequired—"K33: Bitcoin outflows are heavy, but low leverage limits the downside"Our English headline, when the source headline is not English. Null when we did not write one.
sourcestringRequired—"investornytt"Source id from sources.json.
source_namestringRequired—"Investornytt"Outlet name as shown.
countrystringRequired"NO" "SE" "DK" "FI" "IS" "NORDIC" "EU" "FO" "GL" "AX""NO"NO, SE, DK, FI, IS, NORDIC or EU.
languagestring or nullRequired—"Norwegian"Language name of the source headline.
viastringRequired · Left out of /api/v1/——
seen_viaarray of stringRequired · Left out of /api/v1/——
publishedstringRequired—"2026-10-13T15:04:51+00:00"When the outlet published it, ISO 8601.
fetchedstringRequired · Left out of /api/v1/——
topicsarray of stringRequired—["bitcoin", "business"]Topic ids, such as bitcoin or regulation.
matchedarray of stringRequired · Left out of /api/v1/——
paywallbooleanRequired—falseTrue when the outlet may require a subscription. Article text is never fetched.
statusstringRequired"pending" "published" "rejected" "merged""published"Editorial state. The public build uses published.
summarystring or nullRequired——Our English summary. Null until one is written.
approved_bystringOptional · Left out of /api/v1/——
approved_atstringOptional · Left out of /api/v1/——
summary_i18nobjectOptional——Our summary in nn, nb, sv, da, fi and is, when that translation is published.
summary_i18n.nnstringRequired——
summary_i18n.nbstringRequired——
summary_i18n.svstringRequired——
summary_i18n.dastringRequired——
summary_i18n.fistringRequired——
summary_i18n.isstringRequired——
summary_i18n_reviewstringOptional · Left out of /api/v1/—"approved"
reject_reasonstringOptional · Left out of /api/v1/——
published_unverifiedbooleanOptional—true
suggested_bystringOptional · Left out of /api/v1/——
originstringOptional · Left out of /api/v1/—"suggested by Kryptonytt"
suggested_statusstringOptional · Left out of /api/v1/——
suggested_atstringOptional · Left out of /api/v1/——
primary_sourceobjectOptional——Editor-recorded original document (name and url), such as a regulator press release. Not the lead outlet.
primary_source.namestringRequired—"fi.se"
primary_source.urlstringRequired—"https://mfn.se/all/a/ace-digital/aced-ace-digital-q3-2026-update"
also_covered_byarray of object of string or boolean or nullOptional——Other outlets on the same event.
merged_intostringOptional—"5285674a58d8"Id of the story this item was merged into (status merged).

Events

Calendar events. data/events.json is the working list, archive/events.json is what the public calendar keeps, and data/events_backfill.json is the previous-events backfill. sponsored is null, false, true, or the sponsor's name, and is never Kaupr. The calendar status upcoming, ongoing or past is computed from start and end and is not stored.

File data/events.json, archive/events.json, data/events_backfill.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
updatedstringOptional—"2026-10-13T02:13:07+00:00"
_how_tostringOptional——
_notestringOptional——
calendar_statusstringComputed when the site is built, not stored in the file.upcoming ongoing past—Not stored. upcoming: start is in the future. ongoing: start is in the past and end is still ahead (an event with no end is never ongoing). past: the event has ended. The same split is published as /api/v1/events/upcoming.json, the ongoing array, and /api/v1/events/past.json.

Event

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"ccc2eea6b213"Stable id.
titlestringRequired—"Göteborg Bitcoin Meetup #49"Event title.
startstringRequired—"2026-10-08T18:00:00+02:00"Start, ISO 8601 with offset.
endstring or nullRequired—"2026-10-08T21:00:00+02:00"End, ISO 8601 with offset. Null when the source gave no end.
placestring or nullRequired—"Ölrepubliken, Kronhusgatan 2B, Göteborg"Venue. Null when the event is online or the venue was not stated.
citystringRequired—"Göteborg"City name.
countrystringRequired"NO" "SE" "DK" "FI" "IS" "NORDIC" "EU" "FO" "GL" "AX""SE"Country code.
onlinebooleanRequired—falseTrue when the event is online.
organiserstringRequired—"Swedish Bitcoin Meetups"Who runs it.
urlstringRequired—"https://www.meetup.com/swedish-bitcoin-meetups/events/316047111/"The organiser's page.
sourcestringRequired—"Swedish Bitcoin Meetups (Meetup.com)"Where we read the listing. backfill on rows from the previous-events file.
source_urlstringOptional—"https://www.meetup.com/swedish-bitcoin-meetups/"
paidboolean or nullOptional——True, false, or null when the source did not say.
sponsoredboolean or string or nullOptional—"Reese Legal"Null or false when there is no sponsor, true when it is sponsored without a named sponsor, or the sponsor's name. Never Kaupr.
trusted_sourcebooleanOptional—true
foundstringOptional—"2026-10-03T15:23:20+00:00"
statusstringRequired"pending" "published" "rejected""pending"Editorial state. The public calendar uses published.
notestring or nullOptional——Our short note, in English.
descriptionobjectOptional——The organiser's description. text is the original wording.
description.textstringRequired——
description.langstringRequired—"en"
description.source_urlstringRequired—"https://www.meetup.com/swedish-bitcoin-meetups/events/316047111/"
description.source_namestringRequired—"Swedish Bitcoin Meetups (Meetup.com)"
description.retrievedstringRequired—"2026-10-07T23:50:00+00:00"
place_sourceobject or nullOptional——
place_source.namestringRequired—"Polyteknisk Forening (program)"
place_source.urlstringRequired—"https://www.polyteknisk.no/program/crypto-killer-apps"
place_source.retrievedstringRequired—"2026-10-12T03:50:28+00:00"
title_origstring or nullOptional—"Krypto-skatt v/ Reese Legal"
note_i18nobject or nullOptional——That note in nn, nb, sv, da, fi and is.
note_i18n.nnstringRequired—"Fell på første nyttårsdag: sjekk sida til arrangøren før du dreg."
note_i18n.nbstringRequired—"Faller på første nyttårsdag: sjekk arrangørens side før du drar."
note_i18n.svstringRequired—"Upplysning: talaren, Jørgen S. Notland, är utgivare av Nordic Crypto."
note_i18n.dastringRequired—"Oplysning: foredragsholderen, Jørgen S. Notland, er udgiver af Nordic Crypto."
note_i18n.fistringRequired—"Tiedoksi: puhuja Jørgen S. Notland on Nordic Crypton julkaisija."
note_i18n.isstringRequired—"Til upplýsingar: fyrirlesarinn, Jørgen S. Notland, er útgefandi Nordic Crypto."
attendeesnullOptional——
event_typestringOptional"conference" "meetup" "hackathon" "seminar""conference"
languagestring or nullOptional—"is"
backfillbooleanOptional—trueTrue on rows from data/events_backfill.json. Those rows are only in previous.json.
speakers_countnullOptional——
videos_urlnullOptional——
creditsobjectOptional——
credits.titleobjectRequired——
credits.title.source_namestringRequired—"BTCX"
credits.title.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.title.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.startobjectRequired——
credits.start.source_namestringRequired—"BTCX"
credits.start.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.start.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.endobjectOptional——
credits.end.source_namestringRequired—"BTCX"
credits.end.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.end.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.placeobjectOptional——
credits.place.source_namestringRequired—"BTCX"
credits.place.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.place.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.cityobjectOptional——
credits.city.source_namestringRequired—"BTCX"
credits.city.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.city.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.countryobjectRequired——
credits.country.source_namestringRequired—"BTCX"
credits.country.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.country.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.organiserobjectRequired——
credits.organiser.source_namestringRequired—"BTCX"
credits.organiser.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.organiser.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.urlobjectRequired——
credits.url.source_namestringRequired—"BTCX"
credits.url.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.url.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.event_typeobjectRequired——
credits.event_type.source_namestringRequired—"BTCX"
credits.event_type.source_urlstringRequired—"https://archive.cs.helsinki.fi/www.cs.helsinki.fi/en/events/79303.html"
credits.event_type.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
credits.languageobjectOptional——
credits.language.source_namestringRequired—"Rafmyntaráð Íslands"
credits.language.source_urlstringRequired—"https://info.btchel.com/index.html"
credits.language.retrieved_atstringRequired—"2026-10-07T21:00:00+00:00"
talk_idsarray of stringOptional—["yt-zi2JsPOm5HE"]

Sources

News outlets and event sources in sources.json. type is how the fetcher reads the outlet. coverage is national, regional, local or justice. Kaupr is a news source and is never a sponsor.

File sources.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——
user_agentstringRequired—"NordicCryptoBot/0.1 (+__SITE__about/; news headline bot)"Fetcher user agent. __SITE__ is replaced with the public site origin at fetch time.
min_delay_secondsintegerRequired—2Minimum wait between requests to the same host.
fetch_workersintegerRequired—6

Outlet

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"e24"Stable source id.
namestringRequired—"E24"Outlet name.
countrystringRequired"NO" "SE" "DK" "FI" "IS" "NORDIC" "EU" "FO" "GL" "AX""NO"
kindstringRequired—"Newspaper"
urlstringRequired—"https://e24.no"
feedstring or nullRequired—"https://e24.no/rss2/"RSS, sitemap or index URL. Null when none was verified.
typestringRequired"rss" "rss-all" "html" "sitemap" "bing" "search" "dok8""rss"How the fetcher reads it: rss, rss-all, html, sitemap, bing, search or dok8.
paywallbooleanRequired—trueTrue when a story may sit behind a subscription.
enabledbooleanRequired—trueFalse when the feed is blocked, duplicated or not worth reading.
statusstringRequired—"ok"
verifiedstringRequired—"2026-10-06"
coveragestringRequired"national" "regional" "local" "justice""local"national, regional, local or justice.
languagestringRequired—"Norwegian"
logo_sourcestringOptional—"https://e24.no/vgc/gfx/icon-180x180-1.0.png"
methodstringRequired"rss" "html" "sitemap" "search" "manual""rss"What the sources table shows: rss, html, sitemap, search or manual.
search_fallbackbooleanOptional—true
max_new_per_runintegerOptional—8
outletstringOptional—"nrk"
match_extraarray of stringOptional—["kryptotillgång", "Mica", "kryptotjänst"]
regionstringOptional—"Stockholm"
link_patternstringOptional—"^/nyheter/"
merged_fromstringOptional—"kryptonytt 2026-10-04"
allowed_tldstringOptional—"reuters.com"
queriesarray of stringOptional——
site_termsarray of stringOptional——
sitesarray of stringOptional——
directorystringOptional—"Amedia portfolio"
logostringOptional—"https://r.acdn.no/local/v3/publications/www.avisenagder.no/gfx/square_logo.jpg"
logo_notestringOptional—"robots.txt disallows the homepage, so no logo was fetched. Text only."

Event source

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"oslo-blockchain-meetup"
namestringRequired—"Oslo Blockchain Meetup (Meetup.com)"
urlstringRequired—"https://www.meetup.com/oslo-blockchain-meetup/"
typestringRequired—"jsonld"
trustedbooleanRequired—true
organiserstringOptional—"Oslo Blockchain Meetup"
citystringOptional—"Oslo"
enabledbooleanRequired—true
statusstringRequired—"ok (JSON-LD on the group page)"
countrystringRequired—"NO"
link_patternstringOptional—"^(https://www\\.polyteknisk\\.no)?/program/[a-z0-9-]+$"
icsstringOptional—"https://api.lu.ma/ics/get?entity=calendar&id=cal-8VLp9TOOwhxwPog"
methodstringOptional—"Luma public iCal subscribe feed (calendar Subscribe .ics)"
merged_fromstringOptional—"kryptonytt 2026-10-04"
organizer_idstringOptional—"46541998283"
event_pagesarray of stringOptional——
venuestringOptional—"Litteraturhuset"House or room name when the source is one venue.
addressstringOptional—"Wergelandsveien 29"Street address of the venue.
sitestringOptional—"https://www.litteraturhuset.no"Origin of the venue site.
apistringOptional—"https://litthusfred.no/wp-json/wp/v2/event"Public programme API the fetcher reads.
lang_pathstringOptional—"nb"Language segment on the venue site.
keyword_profilestringOptional"crypto-money""crypto-money"Which keyword list keeps an event from this source.
max_pagesintegerOptional—4How many programme pages to read.
max_linksintegerOptional—8How many event pages to open.
max_cardsintegerOptional—40How many event cards to read from the listing.

Newsletters

Published issues in newsletter/published/issues.json. Drafts under newsletter/issues/ are not part of this schema. Subscriber addresses are a private store and are not in this file.

File newsletter/published/issues.json · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_how_tostringRequired——

Issue

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"002"Issue id, such as 001.
numberintegerRequired—2Issue number.
datestringRequired—"2026-10-12"Publication date, YYYY-MM-DD.
periodarray of stringRequired—["2026-10-05", "2026-10-12"]Start and end dates the issue covers, YYYY-MM-DD.
langstringRequired—"en"
titlestringRequired—"Nordic Crypto #1: Binance under scrutiny and Sweden's crypto sanctions warning"English title.
subtitlestringRequired—"The Nordic crypto news our editor approved from 5 to 12 October 2026."English subtitle.
storiesintegerRequired—7
eventsintegerRequired—0
videoobjectRequired——Shared English video. video.mp4 is not committed; the build copies or downloads it.
video.filestringRequired—"video.mp4"
video.posterstringRequired—"thumbnail.png"
video.subsstringRequired—"subs.vtt"
video.durationintegerRequired—131
video.widthintegerRequired—1920
video.heightintegerRequired—1080
video.bytesintegerRequired—1048576
video.sha256stringRequired—"0f8966a443883e2ecb1e51a64b0fa8f35039bd2ddb76997c1143b93a9a4061f8"
video.urlstringRequired——
video.youtubestringOptional—"https://www.youtube.com/watch?v=yqN3QaMdHhM"
title_i18nobjectOptional——Title in the Nordic site languages.
title_i18n.nnstringRequired——
title_i18n.nbstringRequired——
title_i18n.svstringRequired—"Nordic Crypto #1: Binance granskas och Sveriges varning om krypto och sanktioner"
title_i18n.dastringRequired—"Nordic Crypto #1: Binance under lup og Sveriges advarsel om krypto og sanktioner"
title_i18n.fistringRequired——
title_i18n.isstringRequired——
subtitle_i18nobjectOptional——
subtitle_i18n.nnstringRequired——
subtitle_i18n.nbstringRequired——
subtitle_i18n.svstringRequired——
subtitle_i18n.dastringRequired——
subtitle_i18n.fistringRequired——
subtitle_i18n.isstringRequired——

Sponsors

There is no sponsors file. A sponsor is the sponsored field on an event: null or false when there is no sponsor, true when it is sponsored without a named sponsor, or the sponsor's name. Kaupr is never a sponsor.

File — · JSON Schema

Page

API

Relations

Sponsor

FieldTypeStatusAllowed valuesExampleNotes
sponsorsboolean or string or nullRequired—"Reese Legal"Null or false when there is no sponsor, true when it is sponsored without a named sponsor, or the sponsor's name. Never Kaupr.

Academia

Courses, student groups, publications and research groups in data/academia.json. The public page shows rows whose status is approved.

File data/academia.json · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
updatedstringRequired—"2026-10-14"
source_liststringRequired——
works_cataloguestringRequired—"research/academia/works.json"
rulesarray of stringRequired——Editorial rules for what may be listed. Prose, not a record.

Course

FieldTypeStatusAllowed valuesExampleNotes
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""NO"
institutionstringRequired—"NTNU"
codestringRequired—"TTM4195"Course code at the institution.
namestringRequired—"Blockchain Technologies and Cryptographic Tools"
levelstringRequired—"Master, 7.5 ECTS"
termstringRequired—"Autumn 2026"
aboutstringRequired——
urlstringRequired—"https://www.ntnu.edu/studies/courses/TTM4195"
sourcestringRequired—"https://www.ntnu.edu/studies/courses/TTM4195"
checkedstringRequired—"2026-10-03"
statusstringRequired"pending" "approved" "out" "unverified""approved"approved is shown on the public page.
editor_notestringRequired——

Student group

FieldTypeStatusAllowed valuesExampleNotes
countrystringRequired—"SE"
namestringRequired—"KTH Blockchain Initiative"
institutionstringRequired—"KTH"
aboutstringRequired——
activitystringRequired—"none dated (only a \"© 2026\" footer)"
activebooleanRequired—false
urlstringRequired—"https://kthbci.org"
sourcestringRequired—"https://kthbci.org"
checkedstringRequired—"2026-10-05"
statusstringRequired"pending" "approved" "out""pending"
editor_notestringRequired——

Publication

FieldTypeStatusAllowed valuesExampleNotes
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""FI"
titlestringRequired—"Crypto disruption: blockchain and digital currencies from a CFO’s perspective"
authorsarray of stringRequired—["Severi Seppä"]
institutionarray of string or stringRequired—"JAMK University of Applied Sciences"
yearinteger or nullRequired—2026
typestringRequired"master" "phd" "paper" "conference" "project""phd"master, project, phd, paper or conference.
venuestringRequired—"PhD dissertation"
doistring or nullRequired—"10.1016/j.ribaf.2024.102333"DOI when the catalogue gave one, otherwise null.
urlstringRequired—"http://www.theseus.fi/bitstream/10024/922533/2/Seppa_Severi.pdf"
dbstringRequired—"http://www.theseus.fi/bitstream/10024/922533/2/Seppa_Severi.pdf"
db_namestringRequired—"openalex"
sourcestringRequired—"http://www.theseus.fi/bitstream/10024/922533/2/Seppa_Severi.pdf"
aboutstringOptional——
keywordsarray of stringOptional—["blockchains", "finance", "central bank digital currency"]
checkedstringRequired—"2026-10-14"
statusstringRequired"pending" "approved" "out""pending"
editor_notestringRequired——
originstringRequired—"research/academia/works.json"
title_enstring or nullOptional—"The Minimum Hybrid Contract (MHC): Combining Legal and Blockchain Smart Contracts"English title when the original is in another language.
languagestring or nullOptional—"English"Language of the work, as given by the catalogue.

Research group

FieldTypeStatusAllowed valuesExampleNotes
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""NO"
namestringRequired—"Blockchain-UiO"
institutionstringRequired—"University of Oslo, Dept. of Informatics"
aboutstringRequired——
urlstringRequired—"https://www.mn.uio.no/ifi/english/research/networks/blockchainlab/"
sourcestringRequired—"https://www.mn.uio.no/ifi/english/research/networks/blockchainlab/"
checkedstringRequired—"2026-10-05"
statusstringRequired"pending" "approved" "out""approved"
editor_notestringRequired——

Books

Published books about bitcoin, crypto or blockchain by Nordic authors, or about the Nordic countries, in data/books.json. Titles stay in the original language. about is our one-line description in English.

File data/books.json · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
updatedstringRequired—"2026-10-08"
notestringRequired——

Book

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"svalbard-pengar"
titlestringRequired—"Svalbard! Pengar!"Title in the original language, as printed.
authorsarray of stringRequired—["Morten Søberg"]Names as printed.
yearintegerRequired—2022Year of the edition we checked.
publisherstringRequired—"Spartacus"
languagestringRequired"nn" "nb" "sv" "da" "fi" "is" "en""nn"nn, nb, sv, da, fi, is or en.
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""NO"The author's country, or the country the book is about.
isbnstring or nullRequired—"9788243014817"ISBN-13 when the catalogue gave one.
aboutstringRequired——
sourcestringRequired—"https://www.nb.no/items/URN:NBN:no-nb_digibok_2022102848045"Catalogue or publisher page where the title, authors, year and publisher were checked.
source_namestringRequired—"Nasjonalbiblioteket"
more_sourcesarray of stringOptional—["https://www.finna.fi/Record/3amk.284126"]
subtitlestringOptional—"kryptovaluta, «smarte kontrakter» og andre eiendeler på blokkjeden"
author_rolestringOptional"editors""editors"editors for an edited volume, otherwise omitted.

Markets

Nordic exchange prices written at build time to /api/v1/markets.json. This is not a file in data/. Market data, not investment advice. quote is NOK, SEK, DKK or EUR. Nothing is converted between currencies.

File — · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
api_versionstringRequired—"1"
namestringRequired—"Nordic Crypto"
generated_atstringRequired—"2026-10-14T12:00:00+00:00"
previewbooleanRequired—false
kindstringRequired—"markets"
disclaimerstringRequired——Market data, not investment advice.
sign_offstringRequired—"The Nordic Crypto team"
not_investment_advicebooleanRequired—true
quotesarray of stringRequired——NOK, SEK, DKK and EUR only.
quote_notestringRequired——
aggregationobject of stringRequired——
refreshobjectRequired——
refresh.buildstringRequired—"Fetched when the site is built (./build.sh and ./publish.sh)."
refresh.github_actionsstringRequired——
refresh.browserstringRequired——
refresh.browser_json_secondsintegerRequired—900
refresh.browser_exchange_secondsintegerRequired—300
refresh.actions_cronstringRequired—"17 * * * *"
urlsobjectRequired——
urls.github_pagesstringRequired—"https://nordiccrypto.no/api/v1/markets.json"
urls.raw_githubusercontentstringRequired——
urls.custom_domainstringRequired—"https://nordiccrypto.no/api/v1/markets.json"
urls.aggregated_github_pagesstringRequired—"https://nordiccrypto.no/api/v1/markets/aggregated.json"
urls.aggregated_custom_domainstringRequired—"https://nordiccrypto.no/api/v1/markets/aggregated.json"
urls.logosstringRequired—"https://nordiccrypto.no/api/v1/markets/logos/"
skippedarray of objectRequired——
skipped[].idstringRequired—"safello"
skipped[].namestringRequired—"Safello"
skipped[].countrystringRequired—"SE"
skipped[].reasonstringRequired—"No public unauthenticated ticker API was found."
countintegerRequired—1
aggregated_countintegerRequired—1

Ticker

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"firi:BTC-NOK"
symbolstringRequired—"BTC-NOK"
exchange_symbolstringRequired—"BTCNOK"
basestringRequired—"BTC"
quotestringRequired"NOK" "SEK" "DKK" "EUR""NOK"
laststringRequired—"100.5"
bidstringRequired—"100"
askstringRequired—"101"
exchangeobjectRequired——
exchange.idstringRequired—"firi"
exchange.namestringRequired—"Firi"
exchange.countrystringRequired—"NO"
fetched_atstringRequired—"2026-10-14T12:00:00+00:00"
source_urlstringRequired—"https://api.firi.com/v2/markets/BTCNOK"
volume_basestringRequired—"1"
volume_quotenullRequired——
volume_base_24hnullRequired——
volume_quote_24hnullRequired——
highstringRequired—"101"
lowstringRequired—"99"
change_pctstringRequired—"0.1"
exchange_timestring or nullOptional——Timestamp from the exchange payload, when it sends one.

Aggregate

FieldTypeStatusAllowed valuesExampleNotes
symbolstringRequired—"BTC-NOK"
basestringRequired—"BTC"
namestringRequired—"Bitcoin"
quotestringRequired"NOK" "SEK" "DKK" "EUR""NOK"
currencystringRequired"NOK" "SEK" "DKK" "EUR""NOK"
updated_atstringRequired—"2026-10-14T12:00:00+00:00"
oldest_fetched_atstringRequired—"2026-10-14T12:00:00+00:00"
exchange_countintegerRequired—1
methodstringRequired"mean_last" "mean_bid_ask_mid""mean_last"
method_notestringRequired——
pricestringRequired—"100.5"
minstringRequired—"100.5"
maxstringRequired—"100.5"
laststringRequired—"100.5"
last_countintegerRequired—1
last_minstringRequired—"100.5"
last_maxstringRequired—"100.5"
midstringRequired—"100.5"
mid_countintegerRequired—1
mid_minstringRequired—"100.5"
mid_maxstringRequired—"100.5"
vwapnullRequired——
volume_used_for_pricebooleanRequired—false
volumeobjectRequired——
volume.unitsobjectRequired——
volume.units.volume_basestringRequired—"base asset; window not named by the exchange"
volume.units.volume_quotestringRequired—"quote currency; window not named by the exchange"
volume.units.volume_base_24hstringRequired—"base asset; last 24 hours, as named by the exchange"
volume.units.volume_quote_24hstringRequired—"quote currency; last 24 hours, as named by the exchange"
volume.volume_basestringRequired—"1"
volume.volume_base_exchangesintegerRequired—1
volume.volume_quotenullRequired——
volume.volume_quote_exchangesintegerRequired—0
volume.volume_base_24hnullRequired——
volume.volume_base_24h_exchangesintegerRequired—0
volume.volume_quote_24hnullRequired——
volume.volume_quote_24h_exchangesintegerRequired—0
contributorsarray of objectRequired——
contributors[].exchange_idstringRequired—"firi"
contributors[].namestringRequired—"Firi"
contributors[].countrystringRequired—"NO"
contributors[].laststringRequired—"100.5"
contributors[].bidstringRequired—"100"
contributors[].askstringRequired—"101"
contributors[].midstringRequired—"100.5"
contributors[].included_in_lastbooleanRequired—true
contributors[].included_in_midbooleanRequired—true
contributors[].volume_basestringRequired—"1"
contributors[].volume_quotenullRequired——
contributors[].volume_base_24hnullRequired——
contributors[].volume_quote_24hnullRequired——
contributors[].fetched_atstringRequired—"2026-10-14T12:00:00+00:00"
contributors[].source_urlstringRequired—"https://api.firi.com/v2/markets/BTCNOK"
contributors[].included_in_pricebooleanRequired—true
logo_urlstringRequired—"https://nordiccrypto.no/api/v1/markets/logos/btc.svg"
logo_url_custom_domainstringRequired—"https://nordiccrypto.no/api/v1/markets/logos/btc.svg"
logo_pathstringRequired—"api/v1/markets/logos/btc.svg"
logoobject of stringRequired——

Exchange

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"firi"
namestringRequired—"Firi"
countrystringRequired—"NO"
websitestringRequired—"https://firi.com/"
docs_urlstringRequired—"https://developers.firi.com/"
source_urlstringRequired—"https://api.firi.com/v2/markets"
corsbooleanRequired—true
notestringRequired——
statusstringRequired"ok" "error""ok"
fetched_atstringRequired—"2026-10-14T17:10:34+00:00"
errorstring or nullRequired—"fixture"
ticker_countintegerRequired—1

Profiles

Public profile links in data/profiles.json, keyed by who's who id. Each link needs a source_url that shows it belongs to that person or organisation. status published is what the site shows.

File data/profiles.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_how_tostringRequired——
FieldTypeStatusAllowed valuesExampleNotes
kindstringRequired"github" "linkedin" "wikidata" "wikipedia" "x""wikipedia"wikipedia, wikidata, x, linkedin or github.
labelstringRequired—"Wikipedia (en)"
urlstringRequired—"https://en.wikipedia.org/wiki/Erik_Thed%C3%A9en"The public profile.
source_urlstringRequired—"https://www.wikidata.org/wiki/Q6207027"Page that shows the link belongs to this person or organisation.
statusstringRequired"pending" "published""published"published is shown. pending waits for the editor.
reviewedstringOptional——
notestringOptional——
addedstringOptional—"2026-10-09 (open-source developers research)"

Who's who

People and organisations in data/orgchart.json, the relations between them, and a short regulation note per country. status published is what the public page and the API show.

File data/orgchart.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
updatedstringRequired—"2026-10-03"
no_export_datestringRequired—"03.10.2026"
caveatsarray of stringRequired——

Entity

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"stortinget-finanskomiteen"Stable who's who id.
namestringRequired—"Storting (parliament) – Standing Committee on Finance"
typestringRequired"person" "organisation""organisation"person or organisation.
sectorstringRequired"private" "public""public"private or public.
countrystring or nullRequired"NO" "SE" "DK" "FI" "IS" "NORDIC" "EU" "FO" "GL" "AX" null"NO"
descriptionstring or nullRequired——
sourcesarray of objectRequired——Pages the row was checked against.
sources[].urlstringRequired—"https://www.regjeringen.no/no/dep/fin/id216/"
sources[].titlestringRequired—"Stortinget"
sources[].source_namestringRequired—"Stortinget"
sources[].datestringRequired—"03.10.2026"
imageobject or nullRequired——
image.filestringRequired—"assets/img/people/tuva-moflag.jpg"
image.source_pagestringRequired—"https://commons.wikimedia.org/wiki/File:Tuva_Moflag.jpg"
image.authorstringRequired—"Johannes Dalen Giske"
image.licensestringRequired—"CC BY-SA 4.0"
image.license_urlstringRequired—"https://creativecommons.org/licenses/by-sa/4.0"
image.originstringRequired—"Wikimedia Commons"
image.reviewstringRequired—"ok"
image.notestringOptional——
image.checkedstringOptional—"2026-10-03"
image.reviewedstringOptional——
caveatbooleanOptional—false
originstringRequired—"Kryptonytt industry map (approved for Norway)"
groupstring or nullOptional—"Parliament & government"
statusstringRequired"pending" "published" "rejected""published"published is shown. rejected stays in the file and is left off the public page.
logoobjectOptional——
logo.sourcestringRequired—"Wikimedia Commons"
logo.source_urlstringRequired—"https://www.finanstilsynet.no/Content/Favicons/apple-touch-icon-57x57.png"
logo.licensestringOptional—"Public domain"
logo.authorstring or nullOptional—"Worldlydev"
logo.filestringRequired—"assets/img/logos/stortinget-finanskomiteen.svg"
logo.wikidatastringOptional—"Q109016"
logo.fetchedstringRequired——
logo.reviewstringRequired—"ok"
logo.reviewedstringOptional——
logo.rasterstringOptional—"assets/img/logos/stortinget-finanskomiteen.png"
logo.pagestringOptional—"https://www.finanstilsynet.no"
logo.kindstringOptional—"touch"
logo.notestringOptional——
logo.historyarray of objectOptional——
logo.history[].reviewstringRequired—"rejected"
logo.history[].reasonstringRequired—"editor: outdated logo"
logo.history[].datestringRequired—"2026-10-04"
orgstring or nullOptional—"stortinget-finanskomiteen"
rolestring or nullOptional—"Chair (Labour)"
profile_urlstringOptional—"https://www.regjeringen.no/no/dep/fin/id216/"
profilesarray of objectOptional——
profiles[].kindstringRequired—"wikipedia"
profiles[].labelstringRequired—"Wikipedia (en)"
profiles[].urlstringRequired—"https://en.wikipedia.org/wiki/Tuva_Moflag"
profiles[].source_urlstringRequired—"https://www.wikidata.org/wiki/Q25427910"
profiles[].statusstringRequired—"published"
profiles[].reviewedstringOptional——
profiles[].notestringOptional——
profiles[].addedstringOptional—"2026-10-09 (open-source developers research)"
talk_idsarray of stringOptional—["yt-gn50NxhPk-0"]
talksarray of objectOptional——
talks[].idstringRequired—"yt-gn50NxhPk-0"
talks[].titlestringRequired—"Hvorfor og når får vi digitale sentralbankpenger og kryptovaluta?"
talks[].video_urlstringRequired—"https://www.youtube.com/watch?v=gn50NxhPk-0"
talks[].event_idstringOptional—"92041cfcb99c"
talks[].datestringOptional—"2016-04-19"
affiliationsarray of objectOptional——
affiliations[].talk_idstringRequired—"yt-RTcqp3MqRtU"
affiliations[].organisationstringRequired—"NBX"
affiliations[].source_urlstringRequired—"https://www.youtube.com/watch?v=RTcqp3MqRtU&hl=en"
affiliations[].source_namestringRequired—"Nordic Blockchain Association"
affiliations[].retrieved_atstringRequired—"2026-10-07T23:30:36+00:00"
affiliations[].rolestringOptional—"PhD Student"
affiliations[].event_idstringOptional—"92041cfcb99c"
affiliations[].datestringOptional—"2016-04-19"
urlstring or nullOptional—"https://www.fi.se"
aliasesarray of stringOptional—["BTCX", "Goobit AB", "Goobit Group AB"]
reviewstringOptional—"pending"
viastringOptional——
addedstringOptional—"2026-10-03"
event_idsarray of stringOptional—["92041cfcb99c"]
from_talksbooleanOptional—true

Relation

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"r-greenmerc-northcrypto"
fromstringRequired—"greenmerc"Entity id.
tostringRequired—"northcrypto"Entity id.
typestringRequired"collaboration" "licensed" "partner" "refused" "supervises" "uses licence""uses licence"collaboration, licensed, partner, refused, supervises or uses licence.
labelstringRequired—"Uses Northcrypto's MiCA licence for Trijo customers"
sourcesarray of objectRequired——
sources[].urlstringRequired—"https://www.meetup.com/swedish-bitcoin-meetups/"
sources[].titlestringRequired—"GreenMerc trekker MiCA-klage og bruker Northcryptos lisens i Sverige"
sources[].source_namestringRequired—"Kaupr"
sources[].datestringRequired—"2026-10-03"
statusstringRequired"pending" "published" "rejected""published"

Regulation note

FieldTypeStatusAllowed valuesExampleNotes
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""NO"
micastringRequired——
lawstringRequired—"Lov om kryptoeiendeler (Crypto-Assets Act, 27 May 2025 no. 20)."
regulatorstringRequired——
statusstringRequired——
sourcesarray of objectRequired——
sources[].urlstringRequired—"https://lovdata.no/dokument/NL/lov/2025-05-27-20"
sources[].titlestringRequired—"Lov om kryptoeiendeler"
sources[].source_namestringRequired—"Lovdata"
sources[].datestringRequired—"2026-10-03"

Talks

Public talks on bitcoin, cryptocurrencies and blockchain in the Nordic countries, in data/talks.json. description is ours. The other details come from the platform at source_url. A field the platform did not state is null.

File data/talks.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——

Talk

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"yt-ZJHTEXcyePQ"
video_urlstringRequired—"https://www.youtube.com/watch?v=ZJHTEXcyePQ"
platformstringRequired"youtube" "vimeo" "university" "other""youtube"youtube, vimeo, university or other.
titlestringRequired—"Nordic Blockchain Conference 2026: Market Abuse in Web3"
speakersarray of stringRequired—["Disha L. Dinesha"]
event_namestring or nullRequired—"Nordic Blockchain Conference 2026"
event_urlstring or nullRequired—"https://energy-markets-school.dk/"
calendar_event_idstring or nullRequired—"30569783bb01"
event_idstring or nullRequired—"30569783bb01"Calendar event id when the talk is linked. Same value as calendar_event_id.
unlink_reasonstring or nullRequired—"the video page did not state the day"Why the talk is not linked to an event. Null when event_id is set.
citystring or nullRequired—"Copenhagen"
countrystring or nullRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX" null"DK"
datestring or nullRequired—"2020-01-16"
publishedstringRequired—"2026-08-24"
durationstring or nullRequired—"PT11M38S"ISO 8601 duration when the platform states a length.
languagenullRequired——
channelstringRequired—"DAAvern"
descriptionstringRequired——Short neutral summary in our own words.
source_urlstringRequired—"https://www.youtube.com/watch?v=ZJHTEXcyePQ&hl=en"
retrieved_atstringRequired—"2026-10-07T20:57:16Z"
added_atstringRequired—"2026-10-07T20:57:16Z"
embedbooleanRequired—trueTrue when the platform's oEmbed response includes an official player.
speaker_idsarray of stringRequired—["spk-disha-l-dinesha"]

Developers

Open-source developers in data/developers.json. Only public professional information: no addresses and no private details. The public page shows status published.

File data/developers.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
updatedstringRequired—"2026-10-09"
_how_tostringRequired——

Developer

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"torkel-rogstad"
namestringRequired—"Torkel Rogstad"Name as shown on the public code profile.
rolestringRequired—"Co-founder; developer"
orgstring or nullRequired—"Bare Bitcoin"
org_idstring or nullRequired—"bare-bitcoin"
whoswho_idstring or nullRequired—"torkel-rogstad"
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""NO"
profilesarray of objectRequired——
profiles[].kindstringRequired—"github"
profiles[].urlstringRequired—"https://github.com/torkelrogstad"
profiles[].loginstringRequired—"torkelrogstad"
notablearray of objectRequired——Up to three public repos or contributions.
notable[].kindstringRequired"repo" "contrib""contrib"
notable[].projectstringOptional—"lightningnetwork/lnd"
notable[].hoststringOptional—"github"
notable[].urlstringRequired—"https://github.com/torkelrogstad/lnd-fun"
notable[].commitsinteger or nullOptional—11
notable[].merged_prsinteger or nullOptional—4
notable[].namestringOptional—"torkelrogstad/lnd-fun"
notable[].starsintegerOptional—6
notable[].languagestring or nullOptional—"JavaScript"
notable[].descriptionstring or nullOptional——
notable[].last_pushstringOptional—"2018-09-10"
nordic_sourceobjectRequired——Where the Nordic link was checked.
nordic_source.urlstringRequired—"https://github.com/torkelrogstad"
nordic_source.notestringRequired——
checkedstringRequired—"2026-10-09"YYYY-MM-DD the profile and counts were checked.
statusstringRequired"pending" "published""pending"published is on the public page. pending waits for the editor.
reviewstringRequired"editor" "ready_for_owner""editor"
notestringOptional——

Illustrations

Licensed pictures that may be assigned to a story, in data/illustrations.json. kind is original, commons or official-press. A newspaper photograph is never stored here.

File data/illustrations.json · JSON Schema

Page

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_policystringRequired——
fallbackstringRequired—"original-crypto"Picture id used when no topic or country rule matches.
countryobjectRequired——
country.NOstringRequired—"commons-no"
country.SEstringRequired—"commons-se"
country.DKstringRequired—"commons-dk"
country.FIstringRequired—"commons-fi"
country.ISstringRequired—"commons-is"
assignarray of objectRequired——Topic rules. The first match wins.
assign[].topicsarray of stringOptional—["crime"]
assign[].idstringRequired—"commons-court"
assign[].countriesarray of stringOptional—["SE"]
assign[].whystringOptional——

Picture

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"original-bitcoin"
kindstringRequired"original" "commons" "official-press""original"original (drawn for Nordic Crypto), commons (Wikimedia Commons) or official-press.
filestringRequired—"assets/img/illustrations/original-bitcoin.webp"
altstringRequired—"Abstract gold disc. Nordic Crypto illustration, not a photograph and not a logo."
sourcestringRequired—"Nordic Crypto"
authorstringRequired—"Nordic Crypto"
licensestringRequired—"CC0 1.0"Licence name.
license_urlstringRequired—"https://creativecommons.org/publicdomain/zero/1.0/"
urlstringRequired—"https://cryptonordic.no/ethics/"The source page for the credit.
widthintegerRequired—960
heightintegerRequired—540
modificationsstringOptional—"Cropped by Nordic Crypto to leave out a person at the edge of the frame."
termsstringOptional——

Portraits

Portrait files for the who's who, keyed by entity id, in data/images.json. Each record names the file, the author and the licence.

File data/images.json · JSON Schema

Page

API

Relations

Portrait

FieldTypeStatusAllowed valuesExampleNotes
filestringRequired—"assets/img/people/tuva-moflag.jpg"Path in the repo.
source_pagestringRequired—"https://commons.wikimedia.org/wiki/File:Tuva_Moflag.jpg"Page the picture was taken from.
authorstringRequired—"Johannes Dalen Giske"
licensestringRequired—"CC BY-SA 4.0"Licence name, such as CC BY-SA 4.0.
license_urlstringRequired—"https://creativecommons.org/licenses/by-sa/4.0"
originstringRequired—"Wikimedia Commons"

Outlet logos

Outlet marks in assets/img/logos/logos.json, keyed by id. review ok is what the public API shows. A missing review counts as ok. pending is included only in a preview build. rejected is never shown. The marks are the publishers' trademarks, shown only to identify the source of a headline.

File assets/img/logos/logos.json · JSON Schema

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_how_tostringRequired——
_how_to_sourcesstringRequired——
_source_aliasobject of stringRequired——Source id to logo key, when the who's who id differs from the news source id.
FieldTypeStatusAllowed valuesExampleNotes
sourcestringOptional—"Wikimedia Commons"
source_urlstringRequired—"https://www.finanstilsynet.no/Content/Favicons/apple-touch-icon-57x57.png"Where the file was fetched.
licensestringOptional—"Public domain"
authorstring or nullOptional—"Worldlydev"
filestringOptional—"assets/img/logos/stortinget-finanskomiteen.svg"Path of the original file, SVG or WebP.
wikidatastringOptional—"Q109016"
fetchedstringRequired——
reviewstringRequired"pending" "ok" "rejected""ok"pending, ok or rejected. The public build shows ok, and a missing review counts as ok.
reviewedstringOptional——
rasterstringOptional—"assets/img/logos/stortinget-finanskomiteen.png"PNG rendering of an SVG, when one was made.
pagestringOptional—"https://www.finanstilsynet.no"
kindstringOptional—"touch"
notestringOptional——
historyarray of objectOptional——
history[].reviewstringRequired—"rejected"
history[].reasonstringRequired—"editor: outdated logo"
history[].datestringRequired—"2026-10-04"
reasonstringOptional—"editor: rejected (shows the owner Bitdeer's logo); left blank"
usestringOptional—"nominative"
source_idstringOptional—"e24"
outletstringOptional—"E24"
license_urlstringOptional—"https://creativecommons.org/licenses/by/4.0"
same_asstringOptional—"nbx"

Changelog

Site changes in changelog.json (new pages, sections and features, not the daily news). review pending keeps an entry off the public page until it has a date.

File changelog.json · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_how_tostringRequired——
launch_datestringRequired—"2026-10-03"Set on the first publish. Entries with date launch use this day.

Entry

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"onion-tip-page"
datestring or nullRequired—"2026-10-07"YYYY-MM-DD, launch, or null while the entry is still pending.
reviewstringOptional"pending""pending"pending keeps the entry off the public page.
titlestringRequired—"Tor onion tip page"
descriptionstringRequired——
i18nobjectRequired——title and description in nn, nb, sv, da, fi and is.
i18n.nnobjectRequired——
i18n.nn.titlestringRequired—"Tor-onion-tipsside"
i18n.nn.descriptionstringRequired——
i18n.nbobjectRequired——
i18n.nb.titlestringRequired—"Tor-onion-tipsside"
i18n.nb.descriptionstringRequired——
i18n.svobjectOptional——
i18n.sv.titlestringRequired—"Tor-onion-tipssida"
i18n.sv.descriptionstringRequired——
i18n.daobjectOptional——
i18n.da.titlestringRequired—"Tor-onion-tipside"
i18n.da.descriptionstringRequired——
i18n.fiobjectOptional——
i18n.fi.titlestringRequired—"Tor-onion-vinkkisivu"
i18n.fi.descriptionstringRequired——
i18n.isobjectOptional——
i18n.is.titlestringRequired—"Tor-onion-ábendingasíða"
i18n.is.descriptionstringRequired——

Rules map

The regulation map behind /rules/, in rules.json. Every node points at a primary source. review approved is what the public page shows.

File rules.json · JSON Schema

Page

API

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——
reviewstringRequired"pending" "approved""approved"approved is shown. pending leaves the public page as a short placeholder.
checkedstringRequired—"2026-10-04"YYYY-MM-DD the claims were last checked.
sourcesobjectRequired——Primary sources, keyed by id.
sources.micaobjectRequired——
sources.mica.urlstringRequired—"https://eur-lex.europa.eu/eli/reg/2023/1114/oj/eng"
sources.mica.titlestringRequired—"Regulation (EU) 2023/1114 (MiCA), Art. 149 and closing formula"
sources.mica.publisherstringRequired—"EUR-Lex"
sources.tfrobjectRequired——
sources.tfr.urlstringRequired—"https://eur-lex.europa.eu/eli/reg/2023/1113/oj/eng"
sources.tfr.titlestringRequired—"Regulation (EU) 2023/1113 (transfer of funds and certain crypto-assets), Art. 40"
sources.tfr.publisherstringRequired—"EUR-Lex"
sources.amlrobjectRequired——
sources.amlr.urlstringRequired—"https://eur-lex.europa.eu/eli/reg/2024/1624/oj/eng"
sources.amlr.titlestringRequired—"Regulation (EU) 2024/1624 (AMLR), Art. 90"
sources.amlr.publisherstringRequired—"EUR-Lex"
sources.doraobjectRequired——
sources.dora.urlstringRequired—"https://eur-lex.europa.eu/eli/reg/2022/2554/oj/eng"
sources.dora.titlestringRequired—"Regulation (EU) 2022/2554 (DORA), Art. 64"
sources.dora.publisherstringRequired—"EUR-Lex"
sources.esmaobjectRequired——
sources.esma.urlstringRequired——
sources.esma.titlestringRequired—"Markets in Crypto-Assets Regulation (MiCA) – interim MiCA register"
sources.esma.publisherstringRequired—"ESMA"
sources.is_actobjectRequired——
sources.is_act.urlstringRequired—"https://www.althingi.is/altext/stjt/2025.101.html"
sources.is_act.titlestringRequired—"Lög nr. 101/2025 um markaði fyrir sýndareignir (Art. 1, 3 and 16)"
sources.is_act.publisherstringRequired—"Alþingi"
sources.no_actobjectRequired——
sources.no_act.urlstringRequired—"https://lovdata.no/dokument/NL/lov/2025-05-27-20"
sources.no_act.titlestringRequired—"Lov om kryptoeiendeler (kryptoeiendelsloven), LOV-2025-05-27-20, § 2"
sources.no_act.publisherstringRequired—"Lovdata"
sources.se_actobjectRequired——
sources.se_act.urlstringRequired——
sources.se_act.titlestringRequired——
sources.se_act.publisherstringRequired—"Sveriges riksdag"
sources.dk_actobjectRequired——
sources.dk_act.urlstringRequired—"https://www.retsinformation.dk/eli/lta/2024/1013"
sources.dk_act.titlestringRequired——
sources.dk_act.publisherstringRequired—"Retsinformation"
sources.fi_actobjectRequired——
sources.fi_act.urlstringRequired—"https://www.finlex.fi/fi/lainsaadanto/2024/402"
sources.fi_act.titlestringRequired——
sources.fi_act.publisherstringRequired—"Finlex"
sources.fi_fivaobjectRequired——
sources.fi_fiva.urlstringRequired——
sources.fi_fiva.titlestringRequired—"Crypto-asset service providers in Finland must be authorised in the EU"
sources.fi_fiva.publisherstringRequired—"Finanssivalvonta"
sources.no_amlobjectRequired——
sources.no_aml.urlstringRequired—"https://lovdata.no/dokument/NL/lov/2018-06-01-23"
sources.no_aml.titlestringRequired——
sources.no_aml.publisherstringRequired—"Lovdata"
sources.se_amlobjectRequired——
sources.se_aml.urlstringRequired——
sources.se_aml.titlestringRequired——
sources.se_aml.publisherstringRequired—"Sveriges riksdag"
sources.fi_amlobjectRequired——
sources.fi_aml.urlstringRequired—"https://www.finlex.fi/fi/lainsaadanto/2017/444"
sources.fi_aml.titlestringRequired——
sources.fi_aml.publisherstringRequired—"Finlex"
sources.is_amlobjectRequired——
sources.is_aml.urlstringRequired—"https://www.althingi.is/lagas/nuna/2018140.html"
sources.is_aml.titlestringRequired——
sources.is_aml.publisherstringRequired—"Alþingi"
sources.dk_ftobjectRequired——
sources.dk_ft.urlstringRequired——
sources.dk_ft.titlestringRequired——
sources.dk_ft.publisherstringRequired—"Finanstilsynet (DK)"
sources.fi_fiu_actobjectRequired——
sources.fi_fiu_act.urlstringRequired—"https://www.finlex.fi/fi/lainsaadanto/2017/445"
sources.fi_fiu_act.titlestringRequired——
sources.fi_fiu_act.publisherstringRequired—"Finlex"
sources.dk_fiuobjectRequired——
sources.dk_fiu.urlstringRequired—"https://hvidvask.dk/"
sources.dk_fiu.titlestringRequired—"Hvidvasksekretariatet – National enhed for Særlig Kriminalitet (NSK)"
sources.dk_fiu.publisherstringRequired—"Hvidvasksekretariatet"
sources.dk_taxobjectRequired——
sources.dk_tax.urlstringRequired——
sources.dk_tax.titlestringRequired—"Skat på krypto: Kend reglerne, så du undgår et skattesmæk"
sources.dk_tax.publisherstringRequired—"Skattestyrelsen (skat.dk)"
sources.dk_tax_jvobjectRequired——
sources.dk_tax_jv.urlstringRequired—"https://info.skat.dk/data.aspx?oid=2395613"
sources.dk_tax_jv.titlestringRequired——
sources.dk_tax_jv.publisherstringRequired—"Skattestyrelsen (info.skat.dk)"
sources.no_taxobjectRequired——
sources.no_tax.urlstringRequired——
sources.no_tax.titlestringRequired—"Virtuelle eiendeler (kryptovaluta med mer)"
sources.no_tax.publisherstringRequired—"Skatteetaten"
sources.se_taxobjectRequired——
sources.se_tax.urlstringRequired——
sources.se_tax.titlestringRequired—"Kryptovalutor"
sources.se_tax.publisherstringRequired—"Skatteverket"
sources.fi_taxobjectRequired——
sources.fi_tax.urlstringRequired—"https://www.vero.fi/henkiloasiakkaat/omaisuus/sijoitukset/virtuaalivaluutat/"
sources.fi_tax.titlestringRequired—"Kryptovarat"
sources.fi_tax.publisherstringRequired—"Verohallinto (vero.fi)"
sources.is_taxobjectRequired——
sources.is_tax.urlstringRequired—"https://www.skatturinn.is/einstaklingar/skattskylda/rafmynt/"
sources.is_tax.titlestringRequired—"Rafmynt (no special provisions; general tax rules apply)"
sources.is_tax.publisherstringRequired—"Skatturinn"
euobjectRequired——EU institutions, acts and agencies.
eu.institutionsarray of objectRequired——
eu.institutions[].namestringRequired—"European Commission"
eu.institutions[].rolestringRequired—"propose"
eu.institutions[].srcstringRequired—"mica"
eu.actsarray of objectRequired——
eu.acts[].namestringRequired—"MiCA"
eu.acts[].refstringRequired—"Regulation (EU) 2023/1114"
eu.acts[].appliesstringRequired—"2024-12-30"
eu.acts[].note_keystringRequired—"act_mica"
eu.acts[].srcstringRequired—"mica"
eu.agenciesarray of objectRequired——
eu.agencies[].namestringRequired—"ESMA"
eu.agencies[].orgstringRequired—"esma"
eu.agencies[].note_keystringRequired—"ag_esma"
eu.agencies[].srcstringRequired—"mica"
eu.agencies[].src2stringOptional—"esma"
countriesobjectRequired——One object per Nordic country.
countries.SEobjectRequired——
countries.SE.routestringRequired—"eu"
countries.SE.lawstringRequired—"Lag (2024:1159)"
countries.SE.law_srcstringRequired—"se_act"
countries.SE.parliamentstringRequired—"Riksdagen"
countries.SE.ministryobjectRequired——
countries.SE.ministry.namestringRequired—"Finansdepartementet"
countries.SE.ministry.orgstringRequired—"se-finansdepartementet"
countries.SE.supervisorobjectRequired——
countries.SE.supervisor.namestringRequired—"Finansinspektionen"
countries.SE.supervisor.orgstringRequired—"se-fi"
countries.SE.supervisor.srcstringRequired—"se_act"
countries.SE.enforcearray of objectRequired——
countries.DKobjectRequired——
countries.DK.routestringRequired—"eu"
countries.DK.lawstringRequired—"Lov om finansiel virksomhed § 332 c"
countries.DK.law_srcstringRequired—"dk_act"
countries.DK.parliamentstringRequired—"Folketinget"
countries.DK.ministryobjectRequired——
countries.DK.ministry.namestringRequired—"Erhvervsministeriet"
countries.DK.ministry.orgstringRequired—"dk-erhvervsministeriet"
countries.DK.supervisorobjectRequired——
countries.DK.supervisor.namestringRequired—"Finanstilsynet"
countries.DK.supervisor.orgstringRequired—"dk-finanstilsynet"
countries.DK.supervisor.srcstringRequired—"dk_act"
countries.DK.supervisor.src2stringRequired—"dk_ft"
countries.DK.enforcearray of objectRequired——
countries.DK.note5stringRequired—"r12_dk"
countries.DK.note5_srcarray of stringRequired—["dk_fiu", "dk_tax", "dk_tax_jv"]
countries.FIobjectRequired——
countries.FI.routestringRequired—"eu"
countries.FI.lawstringRequired—"Laki 402/2024"
countries.FI.law_srcstringRequired—"fi_act"
countries.FI.parliamentstringRequired—"Eduskunta"
countries.FI.ministryobjectRequired——
countries.FI.ministry.namestringRequired—"Valtiovarainministeriö"
countries.FI.ministry.orgstringRequired—"fi-vm"
countries.FI.supervisorobjectRequired——
countries.FI.supervisor.namestringRequired—"Finanssivalvonta"
countries.FI.supervisor.orgstringRequired—"fi-fiva"
countries.FI.supervisor.srcstringRequired—"fi_act"
countries.FI.supervisor.src2stringRequired—"fi_fiva"
countries.FI.enforcearray of objectRequired——
countries.FI.note4stringRequired—"r13_fi"
countries.FI.note4_srcarray of stringRequired—["fi_act"]
countries.FI.note5stringRequired—"r14_fi"
countries.FI.note5_srcarray of stringRequired—["fi_aml", "fi_fiu_act"]
countries.NOobjectRequired——
countries.NO.routestringRequired—"eea"
countries.NO.lawstringRequired—"Lov om kryptoeiendeler (LOV-2025-05-27-20)"
countries.NO.law_srcstringRequired—"no_act"
countries.NO.parliamentstringRequired—"Stortinget"
countries.NO.parliament_orgstringRequired—"stortinget-finanskomiteen"
countries.NO.ministryobjectRequired——
countries.NO.ministry.namestringRequired—"Finansdepartementet"
countries.NO.ministry.orgstringRequired—"finansdepartementet"
countries.NO.supervisorobjectRequired——
countries.NO.supervisor.namestringRequired—"Finanstilsynet"
countries.NO.supervisor.orgstringRequired—"finanstilsynet"
countries.NO.supervisor.srcstringRequired—"no_act"
countries.NO.enforcearray of objectRequired——
countries.ISobjectRequired——
countries.IS.routestringRequired—"eea"
countries.IS.lawstringRequired—"Lög nr. 101/2025"
countries.IS.law_srcstringRequired—"is_act"
countries.IS.parliamentstringRequired—"Alþingi"
countries.IS.ministryobjectRequired——
countries.IS.ministry.namestringRequired—"Fjármála- og efnahagsráðuneytið"
countries.IS.ministry.orgstringRequired—"is-fjr"
countries.IS.supervisorobjectRequired——
countries.IS.supervisor.namestringRequired—"Seðlabanki Íslands – Fjármálaeftirlit"
countries.IS.supervisor.orgstringRequired—"is-fme"
countries.IS.supervisor.srcstringRequired—"is_act"
countries.IS.enforcearray of objectRequired——
eeaobjectRequired——
eea.decisionstringRequired—"EEA Joint Committee Decision No 41/2025 (20 February 2025)"
eea.srcstringRequired—"is_act"
approvedstringRequired——

Visitor stats

Aggregate visits and page views in data/stats.json, from Cloudflare Web Analytics. No IP addresses, user agents, paths, referrers or countries. Days are UTC. Weeks are ISO weeks.

File data/stats.json · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
api_versionstringRequired—"1"
namestringRequired—"Nordic Crypto"
generated_atnullRequired——
previewbooleanRequired—false
sourcestringRequired—"Cloudflare Web Analytics"
statusstringRequired"pending" "ok""pending"ok when daily rows exist, otherwise pending.
timezonestringRequired"UTC""UTC"
notestringRequired——
schemaintegerRequired—1Integer schema version of the stats document.
first_datenullRequired——
last_datenullRequired——
updated_atnullRequired——

Day

FieldTypeStatusAllowed valuesExampleNotes
datestringRequired—"2026-10-01"UTC day, YYYY-MM-DD.
visitsintegerRequired—0
pageviewsintegerRequired—0
partialbooleanOptional——True while that day is still running.

Week

FieldTypeStatusAllowed valuesExampleNotes
weekstringRequired—"2026-W41"ISO week, YYYY-Www.
startstringRequired—"2026-10-05"
endstringRequired—"2026-10-11"
daysintegerRequired——
visitsintegerRequired——
pageviewsintegerRequired——
partialbooleanOptional——

Month

FieldTypeStatusAllowed valuesExampleNotes
monthstringRequired—"2026-10"Calendar month, YYYY-MM.
daysintegerRequired——
visitsintegerRequired——
pageviewsintegerRequired——
partialbooleanOptional——

Crowdfunding

The closed crowdfunding pilot in data/crowdfunding.json. Nordic Crypto does not hold keys or funds. The file has no donor data and no balances. demo true marks an example, not a live campaign.

File data/crowdfunding.json · JSON Schema

Page

API

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_docstringRequired——
pilotobjectRequired——
pilot.statusstringRequired"closed" "open""closed"closed or open. The pilot is closed.
pilot.max_projectsintegerRequired—5
pilot.apply_emailnullRequired——
pilot.report_emailnullRequired——

Campaign

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"demo-example"
demobooleanRequired—trueTrue for an example with invalid addresses.
titlestringRequired—"Example campaign (demo, not live)"
ownerstringRequired—"Example project owner"
owner_countrystringRequired"NO" "SE" "DK" "FI" "IS" "NORDIC" "EU" "FO" "GL" "AX""NO"
owner_is_traderbooleanRequired—false
descriptionstringRequired——
rewardstringRequired——
goalobjectRequired——
goal.bchnumberRequired—2.5
goal.nexaintegerRequired—100000000
goal.nok_approxnullRequired——
addressesobjectRequired——The project's own addresses. Nordic Crypto does not hold them.
addresses.bchstringRequired—"bitcoincash:DEMO-NOT-A-REAL-ADDRESS"
addresses.nexastringRequired—"nexa:DEMO-NOT-A-REAL-ADDRESS"
deadlinestringRequired—"2026-12-31"
kyc_verifiedbooleanRequired—false
linksarray of objectRequired——
links[].labelstringRequired—"Project website (example)"
links[].urlstringRequired—"https://example.org/"

Budget

Monthly hosting and domain costs in data/budget.json. The figures exclude labour. amount is the monthly figure in currency.

File data/budget.json · JSON Schema

Page

No public JSON file for this collection.

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——
as_ofstringRequired—"2026-10-13"YYYY-MM-DD the figures were written down.
quotestringRequired"NOK""NOK"Currency the page converts into.
rates_approximatebooleanRequired—true
ratesarray of objectRequired——Approximate conversion into the quote currency.
rates[].currencystringRequired—"EUR"
rates[].perstringRequired—"1"
rates[].quote_amountstringRequired—"11.70"

Line

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"hetzner-electrum-1"
kindstringRequired"server" "volume" "workers" "domains" "pages" "dns""server"server, volume, workers, domains, pages or dns.
namestringOptional—"electrum-1"
typestringOptional—"cx43"
placestringOptional—"Falkenstein"
runsstringOptional—"Electrum servers, Lightning node, Bitcoin/Nexa/BCH nodes, explorer"
amountstringOptional—"15.99"Monthly amount, decimal string.
currencystringOptional"EUR" "USD" "NOK""EUR"
periodstringOptional—"month"
amount_serverstringOptional—"8.49"
amount_ipv4stringOptional—"0.50"
gbstringOptional—"1500"
unit_pricestringOptional—"0.0572"
unit_currencystringOptional—"EUR"
namesstringOptional—"nordiccrypto.no/.dk/.se/.fi/.is/.eu"
vendorstringOptional—"Domeneshop"
amount_yearstringOptional—"1578"
vatstringOptional—"incl"
hoststringOptional—"nordiccrypto.no"
freebooleanOptional—true

Article archive

Stories the public site has shown, in archive/articles.json, including when a story was removed. removal_reason stays null in this public file.

File archive/articles.json · JSON Schema

API

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
schemaintegerRequired—2
sitestringRequired—"nordic-crypto"
exported_atstringRequired—"2026-10-14T07:38:23+02:00"

Archived story

FieldTypeStatusAllowed valuesExampleNotes
sitestringRequired—"nordic-crypto"
idstringRequired—"07e49032be5a"
urlstringRequired—"https://www.kaupr.io/nyheter/nytt-nederlag-for-valuno-i-kampen-om-mica-lisens"
canonical_urlstringRequired—"https://kaupr.io/nyheter/hilbert-finansierer-utlan-med-innskudd-pa-blokkjeden"
titlestringRequired—"Safello åpner for at andre selskaper kan tilby kryptokjøp"
sourcestringRequired—"kaupr"
source_namestringRequired—"Kaupr"
published_atstringRequired—"2026-09-24T12:00:00+00:00"When the outlet published the story.
first_published_on_sitestringRequired—"2026-10-03T17:59:40+02:00"When it first appeared on Nordic Crypto.
last_seen_on_sitestringRequired—"2026-10-14T07:38:23+02:00"
languagesarray of stringRequired——
summariesobjectRequired——
summaries.enstringRequired——
summaries.nnstringRequired——
summaries.nbstringRequired——
summaries.svstringRequired——
summaries.dastringRequired——
summaries.fistringRequired——
summaries.isstringRequired——
titlesobjectRequired——
titles.enstringOptional—"Safello opens up so other companies can offer crypto purchases"
titles.nnstringOptional—"Safello opnar for at andre selskap kan tilby kryptokjøp"
titles.svstringOptional—"Safello öppnar för att andra bolag kan erbjuda kryptoköp"
titles.dastringOptional—"Safello åbner for, at andre selskaber kan tilbyde kryptokøb"
titles.fistringOptional—"Safello antaa muiden yhtiöiden tarjota kryptokauppaa"
titles.isstringOptional—"Safello opnar á að önnur fyrirtæki geti boðið kaup á rafmyntum"
titles.nbstringOptional—"Opplysninger: Tenåringer sølvteipet mann i jakt på kryptovaluta"
topicsarray of stringRequired—["business", "mica"]
removedintegerRequired—01 when the story was taken off the public site, otherwise 0.
removed_atnullRequired——
removal_reasonnullRequired · Left out of /api/v1/——Not filled in this public file.
updated_atstringRequired—"2026-10-14T07:38:23+02:00"
countrystringRequired"NO" "SE" "DK" "FI" "IS" "NORDIC" "EU" "FO" "GL" "AX""SE"

Archive event

FieldTypeStatusAllowed valuesExampleNotes
seqintegerRequired—1
sitestringRequired—"nordic-crypto"
idstringRequired—"e6727b4858b5"
atstringRequired—"2026-10-03T17:59:40+02:00"
eventstringRequired"backfill" "publish" "published" "update" "updated" "remove""backfill"What the archive recorded for this row.
detailstring or nullRequired—"summaries"

Headline translations

Our headlines by story id, in data/title_i18n.json. The source headline stays on the story. Keys are nn, nb, sv, da, fi and is, and only for languages that are not already the source headline.

File data/title_i18n.json · JSON Schema

No public JSON file for this collection.

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——
langsarray of stringRequired——Language codes this file translates into.
itemsobject of headlinesRequired——

Headlines for one story

FieldTypeStatusAllowed valuesExampleNotes
sourcestringRequired—"Småsparere hamstret krypto under renteuro"
nnstringRequired—"Småspararar hamstra krypto under renteuro"
svstringOptional—"Småsparare hamstrade krypto under ränteoro"
dastringOptional—"Småsparere hamstrede krypto under renteuro"
fistringOptional—"Piensijoittajat hamstrasivat kryptoa korkoheilunnassa"
isstringRequired—"Smásparifólk hamstraði rafmynt í vaxtaóróa"
nbstringOptional—"Slik kan Sverige brukes til å finansiere kjernevåpen"

Front-page blurbs

Front-page blurbs by story id, in data/frontpage_blurbs.json. en is ours, in English. The Nordic site languages sit beside it when a translation is published.

File data/frontpage_blurbs.json · JSON Schema

No public JSON file for this collection.

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——
langsarray of stringRequired——
itemsobject of blurbRequired——

Blurb

FieldTypeStatusAllowed valuesExampleNotes
enstringRequired——
nnstringRequired——
nbstringRequired——
svstringRequired——
dastringRequired——
fistringRequired——
isstringRequired——

Event descriptions

Organiser descriptions and our translations, by event id, in data/event_description_i18n.json. source is the original wording. A language key is present only when that translation is written.

File data/event_description_i18n.json · JSON Schema

No public JSON file for this collection.

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——
itemsobject of descriptionRequired——

Description

FieldTypeStatusAllowed valuesExampleNotes
sourcestringRequired——
nnstringOptional——
nbstringOptional——
svstringRequired——
dastringRequired——
fistringRequired——
isstringOptional——
enstringOptional——

Event redirects

Merged duplicate events in data/event_redirects.json. Each key is a removed id and each value is the id that was kept. The old calendar URL refreshes to the kept event.

File data/event_redirects.json · JSON Schema

Page

No public JSON file for this collection.

Relations

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——

Kept id

FieldTypeStatusAllowed valuesExampleNotes
event-redirectsstringRequired—"019f42a4506c"

Regulation videos

Country explainer slots in data/regulation-videos.json. status scripts_ready means the script and storyboard exist and the MP4 is not committed yet.

File data/regulation-videos.json · JSON Schema

Page

No public JSON file for this collection.

Fields on the file

FieldTypeStatusAllowed valuesExampleNotes
_notestringRequired——

Video

FieldTypeStatusAllowed valuesExampleNotes
idstringRequired—"reg-no"
countrystringRequired"NO" "SE" "DK" "FI" "IS" "FO" "GL" "AX""NO"
duration_target_sintegerRequired—165
statusstringRequired"scripts_ready" "published""scripts_ready"scripts_ready until an MP4 is published.
filestringRequired—"video-no.mp4"MP4 name under regulation-videos/media/. The file is not committed.
posterstringRequired—"poster-no.png"
subsstringRequired—"subs-no.vtt"
scriptstringRequired—"scripts/no-script.txt"Path of the script, relative to regulation-videos/.
storyboardstringRequired—"storyboards/no-storyboard.md"

Schema changelog

WhenCommitChange
8959dbfSchema examples: avoid 8-digit values the privacy gate reads as phone numbers
5e22089Document the public data model at /db/ (#153)