Fra Datafordelerens DAR GraphQL tilbage til REST
Find det REST-endpoint, der svarer til din DAR GraphQL-forespørgsel, og forstå hvilke id'er der passer sammen, og hvilke der ikke gør.
Nogle teams flyttede fra DAWA til Danmarks Adresseregister (DAR) på Datafordeleren, før DAWA lukkede. DAR's GraphQL-tjeneste indeholder de samme data, men på registerets egen form: mange små entiteter, der refererer til hinanden med UUID'er, og forespørgsler, der skal have et registrerings- og virkningstidspunkt.
Danadresse henter adresserne fra DAR og serverer dem i DAWA's REST-form. Denne guide viser, hvilket endpoint der svarer til den forespørgsel, du har i dag, og hvordan id'erne hænger sammen.
Det, du slipper for
En adresse i DAR er spredt over flere entiteter. For at vise "Rådhuspladsen 1, 1550 København V" med koordinat og kommune skal du typisk hente:
DAR_Husnummer(husnummeret og referencer til vej, postnummer og adgangspunkt),DAR_NavngivenVej(vejnavnet),DAR_NavngivenVejKommunedel(kommune og vejkode),DAR_Postnummer(postnummer og navn),DAR_Adressepunkt(koordinaten).
Hver forespørgsel skal have argumenterne registreringstid og virkningstid, og du skal selv sætte svarene sammen. Hos os er det ét kald, og svaret har allerede vejnavn, postnummer, kommune, koordinat og de administrative områder indlejret.
Sådan ser et opslag af et husnummer ud i DAR GraphQL. Feltnavnene er fra DAR's offentlige skema:
{
DAR_Husnummer(
where: { id_lokalId: { eq: "0a3f507a-ec01-32b8-e044-0003ba298018" } }
registreringstid: "2026-10-15T00:00:00Z"
virkningstid: "2026-10-15T00:00:00Z"
first: 1
) {
nodes { id_lokalId husnummertekst status navngivenVej postnummer adgangspunkt }
}
}navngivenVej, postnummer og adgangspunkt er UUID-referencer, som kræver tre forespørgsler mere. Det samme opslag hos os:
curl -s "https://api.danadresse.dk/adgangsadresser/0a3f507a-ec01-32b8-e044-0003ba298018" \ -H "X-Api-Key: $DANADRESSE_API_KEY"
Her læser vi de felter, du før skulle samle fra fem entiteter. srid=25832 giver koordinaten i ETRS89/UTM32, samme system som DAR's adressepunkter:
import os import requests r = requests.get( "https://api.danadresse.dk/adgangsadresser/0a3f507a-ec01-32b8-e044-0003ba298018", params={"srid": 25832}, headers={"X-Api-Key": os.environ["DANADRESSE_API_KEY"]}, timeout=10, ) r.raise_for_status() a = r.json() print("vej: ", a["vejstykke"]["navn"], a["husnr"]) print("postnr: ", a["postnummer"]["nr"], a["postnummer"]["navn"]) print("kommune: ", a["kommune"]["kode"], a["kommune"]["navn"]) print("vejkode: ", a["vejstykke"]["kode"]) print("sogn: ", (a.get("sogn") or {}).get("navn")) print("øst/nord: ", a["adgangspunkt"]["koordinater"])
Id'erne er de samme
Det vigtigste for en migrering: de id'er, du har gemt fra DAR, virker direkte hos os.
| DAR-entitet | Felt | Hos Danadresse |
|---|---|---|
DAR_Adresse | id_lokalId | id på en adresse – /adresser/{id} |
DAR_Husnummer | id_lokalId | id på en adgangsadresse – /adgangsadresser/{id} |
DAR_Adresse | husnummer | adgangsadresseid på en adresse |
DAR_NavngivenVej | id_lokalId | id på en navngiven vej – /navngivneveje/{id} |
DAR_Postnummer | postnr | nr – /postnumre/{nr}. Vi bruger det firecifrede nummer, ikke id_lokalId |
DAR_NavngivenVejKommunedel | kommune, vejkode | /vejstykker/{kommunekode}/{kode} |
Det er de samme UUID'er, som DAWA brugte, fordi DAWA også byggede på DAR.
Pas på med adressereferencer fra andre registre. CVR på Datafordeleren refererer fx til adresser med andre UUID'er, som ikke matcher DAR's id_lokalId. Vil du koble data fra sådan et register med vores adresser, så brug den strukturerede adresse: kommunekode, vejkode og husnummer (plus etage og dør for en enhed). Vi udstiller den samme kombination som kvh (12 tegn) på adgangsadresser og kvhx (19 tegn) på adresser, og du kan søge på dem med /adgangsadresser?kvh=… og /adresser?kvhx=….
Opgave for opgave
| Opgave | I DAR GraphQL | Hos Danadresse |
|---|---|---|
| Søg-mens-du-skriver | Findes ikke. Du filtrerer selv | GET /autocomplete?q=… |
| Slå en adresse op | DAR_Adresse + DAR_Husnummer + vej, postnummer og adressepunkt | GET /adresser/{id} |
| Slå en adgangsadresse op | DAR_Husnummer + referencerne | GET /adgangsadresser/{id} |
| Alle adresser i et postnummer | Filtrér DAR_Husnummer på postnummer-referencen | GET /adgangsadresser?postnr=8000 med side og per_side |
| Vejnavne | DAR_NavngivenVej | /navngivneveje, /vejnavne |
| Postnumre | DAR_Postnummer | /postnumre |
| Supplerende bynavn | DAR_SupplerendeBynavn | Feltet supplerendebynavn og /supplerendebynavne2 |
| Kommune, sogn, politikreds m.fl. | Referencer fra DAR_Husnummer til DAGI, som du slår op i DAGI-registret | Indlejret i adgangsadressen: kommune, sogn, region, retskreds, politikreds, opstillingskreds, afstemningsområde m.fl. |
| Koordinat til adresse | Ikke en DAR-funktion | /adgangsadresser/reverse?x=…&y=… |
| Rens en indtastet adresse | Ikke en DAR-funktion | /datavask/adresser?betegnelse=… |
| Hent ændringer | DAR_Events eller filtrering på registreringFra | /replikering/haendelser?entitet=…&sekvensnummerfra=… eller webhooks |
Status og tid
DAR har sine egne statuskoder. Vi oversætter dem til DAWA's status:
| DAR-status | Betydning | status hos os |
|---|---|---|
| 2 | foreløbig | 3 |
| 3 | gældende | 1 |
| 4 | nedlagt | 2 |
| 5 | henlagt | 4 |
Lister returnerer gældende og foreløbige adresser (status 1 og 3), som DAWA gjorde, medmindre du beder om mere med status eller medtagnedlagte. Autocomplete foreslår kun adresser, der ikke er nedlagt. Hver adresse har også DAR's egen kode som darstatus. Se status, darstatus og nedlagte adresser.
Vores API viser det aktuelle billede. Der er ingen parametre svarende til registreringstid og virkningstid. Versionerne af én adresse over tid får du med /historik/adresser?id=… og /historik/adgangsadresser?id=…: en liste af versioner med virkningstart, virkningslut og status, som i DAWA. Versionerne bygges ud fra vores ændringslog, som starter i juli 2026. Har du brug for DAR's fulde bitemporale model (hvad registret vidste på et bestemt registreringstidspunkt), så brug DAR direkte.
Ændringer og sekvensnumre
DAR_Events har intet sekvensnummer, så du skal selv holde styr på, hvor langt du er nået, typisk med tidsvinduer på registreringFra. Vi giver hver ændring et stigende sekvensnummer i DAWA's replikeringsformat. Du gemmer det sidste nummer, du har behandlet, og spørger efter alt derefter. Se Hent ændringer med hændelser.
Sekvensnumrene er vores egne. De stiger videre fra det sted, hvor DAWA's nummerering slap, men de findes ikke i DAR og kan ikke sammenlignes med noget der.
Næste skridt
- Forskellen på adresse og adgangsadresse: Adresse eller adgangsadresse.
- Hele datasættet lokalt: Første udtræk.
- Kendte forskelle fra DAWA: Skift fra DAWA.
Relaterede guides
Markdown-kilde Fejl i guiden? Skriv til os API-reference (Swagger)