Spring til indhold

Grundfast

Følg ændringer live

De samme adresse- og bygningsændringer som ændringsfeedet, skubbet ud som Server-Sent Events for op til 100 adresser og ejendomme.

GET/v1/aendringer/stream

Strømmen sender hver ændring i dit udsnit, så snart Grundfast har registreret den — samme ændringer og samme form som ændringsfeedet, uden at du skal polle. Følg op til 100 adgangsadresse-id’er og BFE-numre tilsammen, og/eller kommuner og postnumre. Et BFE-nummer følger både bygningsændringer på ejendommen og adresseændringer på de adresser, adresseindekset placerer på den.

Hændelserne: klar når forbindelsen er åben, aendring for hver ændring, en : ping-kommentar hvert 20. sekund, så ingen proxy lukker en stille forbindelse, og rotation før serveren lukker forbindelsen efter cirka 55 minutter eller ved en udrulning. Hver hændelses id er en cursor. EventSource genforbinder selv og sender det sidste id som Last-Event-ID, og strømmen fortsætter lige efter det — ingen ændring springes over eller sendes to gange.

Uden Last-Event-ID og cursor starter strømmen *nu*: du hører, hvad der sker fra du forbinder. Vil du have det, du gik glip af, mens du var væk, så gem sidste id og send det igen — eller hent det med ændringsfeedet. Ændringerne lander i samme takt som i feedet: adresser fra DARs daglige udtræk, bygninger når en ny udgave af bygningsindekset er indlæst.

En konto kan have 5 strømme åbne ad gangen. Strømmen tager nøglen i Authorization-headeren — ikke som ?token=, for en nøgle i en URL ender i logs og historik. EventSource i en browser kan ikke sende headeren, så forbind fra en server eller med SDK’et.

Godkendelse · API-nøgle eller session

Virker med en Authorization: Bearer-nøgle eller med din login-session i dashboardet.

Kræver Pro-planen

På en lavere plan svarer endpointet 402. Se planerne.

Afregning

Ikke målt.

Eksempel

curl -N "https://api.grundfast.dk/v1/aendringer/stream?adgangsadresse_id=0a3f507a-b2e6-32b8-e044-0003ba298018" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"
Svar · eksempel, forkortet200
event: klar
id: eyJhIjo0ODIwOSwiYiI6MTIwMzN9
retry: 5000
data: {"cursor":"eyJhIjo0ODIwOSwiYiI6MTIwMzN9","ping_sekunder":20,"rotation_sekunder":3300,"filter":{"adgangsadresse_id":[],"bfe":[5651067],"kommunekode":[],"postnr":[],"type":[]}}

: ping 2026-10-12T09:44:51.397Z

event: aendring
id: eyJhIjo0ODIwOSwiYiI6MTIwMzR9
data: {"type":"bygning","id":"bygning:12034","haendelse":"bygning.aendret","registreret":"2026-10-12T09:44:37.200Z","kommunekode":"0740","postnr":"8600","bfe_nummer":5651067,"aendrede_felter":["samlet_areal"],"foer":{…},"efter":{…},"kilde":"2026-10-12T03:00:00.000Z"}

event: rotation
id: eyJhIjo0ODIwOSwiYiI6MTIwMzR9
data: {"cursor":"eyJhIjo0ODIwOSwiYiI6MTIwMzR9","grund":"rotation"}

Forkortet: lange lister og geometrier er skåret ned — de viste værdier er uændrede.

Parametre

adgangsadresse_idstringqueryvalgfri
Adgangsadresse-id’er (UUID), kommaseparerede.Eksempel: 0a3f507a-b2e6-32b8-e044-0003ba298018
bfestringqueryvalgfri
BFE-numre, kommaseparerede. Højst 100 id’er og BFE-numre tilsammen.
kommunekodestringqueryvalgfri
Op til 10 kommunekoder, kommaseparerede.
postnrstringqueryvalgfri
Op til 50 postnumre, kommaseparerede.
typestringqueryvalgfri
adresse, bygning eller begge, kommaseparerede. Standard er begge.
sidenstringqueryvalgfri
Start ved første ændring registreret fra dette tidspunkt (ISO 8601), når hverken Last-Event-ID eller cursor er givet.
cursorstringqueryvalgfri
Start lige efter denne cursor — et id fra en tidligere hændelse. Last-Event-ID-headeren vinder over den.

Felter i svaret

event: klarevent
Én gang ved forbindelse. id er startcursoren; data gentager filteret og ping_sekunder / rotation_sekunder.
event: aendringevent
Én pr. ændring. data er ændringen præcis som i aendringer[] fra ændringsfeedet; id er cursoren lige efter den.
event: rotationevent
Serveren lukker forbindelsen (efter ca. 55 min. eller ved genstart). Genforbind med Last-Event-ID = dens id.
: pingkommentar
Hvert 20. sekund. Ignoreres af EventSource.
event: fejlevent
En intern fejl midt i strømmen; serveren lukker forbindelsen bagefter. data er { error }, id er cursoren. Genforbind med Last-Event-ID = dens id — intet går tabt.

Statuskoder

StatusBetydning
200Svaret er leveret.
400Intet filter, mere end 100 id’er og BFE-numre, en ugyldig værdi, eller en cursor / Last-Event-ID, API’et ikke har udstedt.
401Hverken en gyldig nøgle eller en session.
402Planen er under Pro.
403Nøglen har ikke overvågning som scope, er en offentlig nøgle eller en admin-nøgle, eller kontoen er suspenderet.
429Kontoen har allerede 5 strømme åbne, serveren har ikke plads til flere strømme lige nu, eller burst-grænsen er nået. Se Retry-After.

Alle fejl har samme form. Byg logikken på type (fejlklassen) og vis message (dansk tekst med årsagen) til brugeren; hint kommer med, når vi kan se, hvad der skal rettes, og request_id er det, support skal bruge. Se Fejl og statuskoder for hver type, og hvad der kan prøves igen.

Fejlsvar · 404
{
  "error": "property not found",
  "type": "not_found",
  "code": "not_found",
  "message": "Ressourcen findes ikke.",
  "request_id": "6cbfa45a-a9ea-4140-9d42-ea752a70ff1f",
  "doc_url": "https://grundfast.dk/docs/fejl#not_found"
}

Prøv det

Live-kald fra siden

Kræver din nøgle

Nøglen bliver i denne fane og sendes kun til grundfast.dk. Kaldet tæller som et almindeligt kald — brug en gf_test_-nøgle for at prøve gratis. Opret en gratis nøgle

GET /v1/aendringer/stream?adgangsadresse_id=0a3f507a-b2e6-32b8-e044-0003ba298018

Bruges ofte sammen med