# Søg og filtrér enhedsadresser

`GET /v1/adresser` · DAWA-kompatibel

En side enhedsadresser med etage og dør, der opfylder alle filtre, som JSON eller GeoJSON.

Erstatter DAWA’s `/adresser?…`-liste: adresser på enhedsniveau, dvs. en adgangsadresse plus etage og dør. Filtrene er de samme som på [`/v1/adgangsadresser`](https://grundfast.dk/docs/api/adgangsadresser), plus `adgangsadresseid`, `etage` og `doer`. Mindst ét forankrende filter er påkrævet; `etage`, `doer` og `husnr` indsnævrer, men er ikke nok alene.

Hver enhed har sin egen UUID (`adresse_id`) og adgangsadressens (`adgangsadresse_id`). Vej, postnummer, BFE og koordinat er adgangsadressens. Listen er i læserækkefølge: vej, husnummer, etage (kælder, stuen, 1, 2 …) og dør.

**Godkendelse:** `Authorization: Bearer gf_live_…` (eller `gf_test_…`)

**Afregning:** Ét kald pr. side.

## Parametre

| Navn | Placering | Type | Påkrævet | Beskrivelse |
| --- | --- | --- | --- | --- |
| `q` | query | string | nej | Fritekst, mindst 2 tegn. Rangeres med præfiks-hit først og derefter stavefejlstolerant lighed. |
| `postnr` | query | string | nej | Firecifret postnummer. |
| `kommunekode` | query | string | nej | Kommunekode, 1–4 cifre (`101` læses som `0101`). |
| `vejnavn` | query | string | nej | Præcist vejnavn, uden forskel på store og små bogstaver. |
| `husnr` | query | string | nej | Præcist husnummer, fx `12B`. Indsnævrer, men er ikke nok alene. |
| `adgangsadresseid` | query | string (UUID) | nej | Alle enheder på én adgangsadresse. |
| `etage` | query | string | nej | Etage, fx `st`, `1` eller `kl`. Indsnævrer, men er ikke nok alene. |
| `doer` | query | string | nej | Dør, fx `th`, `tv` eller `mf`. Indsnævrer, men er ikke nok alene. |
| `cirkel` | query | string | nej | DAWA-formatet `x,y,radius`: alle adresser inden for `radius` meter (højst 10.000) af punktet, i `srid`. |
| `polygon` | query | string | nej | DAWA-formatet: et JSON-array af ringe i `srid`, fx `[[[x1,y1],[x2,y2],[x3,y3],[x1,y1]]]`. Højst 1.000 hjørner, og den omskrevne kasse må højst spænde 0,3° bredde og 0,5° længde. |
| `srid` | query | string | nej | Koordinatsystemet for både `cirkel`/`polygon` og svarets `koordinater`: `4326` (WGS84) eller `25832` (UTM32N). |
| `format` | query | string | nej | `geojson` giver en FeatureCollection med ét punkt pr. adresse; ved `srid=25832` med `crs` sat. |
| `per_side` | query | integer | nej | Sidestørrelse, højst 1.000. |
| `side` | query | integer | nej | Sidenummer fra 1. `side` × `per_side` må højst være 50.000 — indsnævr filteret i stedet. |

## Eksempel

```bash
curl "https://api.grundfast.dk/v1/adresser?postnr=8000&cirkel=10.2107,56.1572,150" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"
```

## Svar (200)

```json
{
  "antal": 2,
  "side": 1,
  "per_side": 100,
  "srid": 4326,
  "adresser": [
    {
      "betegnelse": "Vestergade 10, st. th, 8000 Aarhus C",
      "adresse_id": "0a3f50a3-1e3c-32b8-e044-0003ba298018",
      "adgangsadresse_id": "0a3f507b-4a0a-32b8-e044-0003ba298018",
      "etage": "st",
      "doer": "th",
      "vejnavn": "Vestergade",
      "husnr": "10",
      "postnr": "8000",
      "postnrnavn": "Aarhus C",
      "kommunekode": "0751",
      "bfe_nummer": 1234567,
      "koordinat": { "lon": 10.2047, "lat": 56.1566 },
      "koordinater": [10.2047, 56.1566]
    },
    {
      "betegnelse": "Vestergade 10, 1. th, 8000 Aarhus C",
      "adresse_id": "0a3f50a3-1e3d-32b8-e044-0003ba298018",
      "adgangsadresse_id": "0a3f507b-4a0a-32b8-e044-0003ba298018",
      "etage": "1",
      "doer": "th",
      "vejnavn": "Vestergade",
      "husnr": "10",
      "postnr": "8000",
      "postnrnavn": "Aarhus C",
      "kommunekode": "0751",
      "bfe_nummer": 1234567,
      "koordinat": { "lon": 10.2047, "lat": 56.1566 },
      "koordinater": [10.2047, 56.1566]
    }
  ],
  "meta": {
    "kilde": "Datafordeler DAR via Grundfast",
    "grundfast_version": "0.1.0"
  }
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `adresser[].adresse_id` | string (UUID) | Enhedens UUID — slås op på [`/v1/adresse/{uuid}`](https://grundfast.dk/docs/api/adresse). |
| `adresser[].etage` | string \| null | Etagen; `null` for en enhed uden etage, fx et parcelhus. |
| `adresser[].doer` | string \| null | Døren; `null` for en enhed uden dør. |
| `adresser[].koordinater` | [number, number] \| null | Adgangspunktet i det `srid`, du bad om. |

## Fejl

| Status | Betydning |
| --- | --- |
| 400 | Intet forankrende filter, et filter i forkert format, både `cirkel` og `polygon`, en cirkel eller polygon over grænserne, et punkt uden for Danmark, eller en for dyb side. |
| 401 | Nøglen mangler eller er ugyldig. |
| 429 | Burst-grænsen eller månedskvoten er nået. Se `Retry-After`. |
| 503 | Enhedsindekset (etage og dør) er ikke indlæst i dette miljø endnu, eller der er bedt om et rumligt filter i et miljø uden PostGIS. |
