# Søg og filtrér adgangsadresser

`GET /v1/adgangsadresser` · DAWA-kompatibel

En side adgangsadresser, der opfylder alle filtre — fritekst, postnummer, vej, cirkel eller polygon — som JSON eller GeoJSON.

Erstatter DAWA’s `/adgangsadresser?…`-liste. Alle filtre skal være opfyldt, og mindst ét forankrende filter er påkrævet: `q`, `postnr`, `kommunekode`, `vejnavn`, `cirkel` eller `polygon`. `husnr` indsnævrer, men er ikke nok alene.

`cirkel` og `polygon` tager DAWA’s format, og `srid` gælder både for dem og for svaret: med `srid=25832` sender du UTM32N-meter ind og får `koordinater` som `[x, y]` tilbage. `koordinat` er altid WGS84 `{ lon, lat }`, uanset `srid`. Med `format=geojson` er svaret en FeatureCollection.

Svaret er `{ antal, side, per_side, srid, adgangsadresser }` i stedet for et bart array. Listen pagineres med `per_side` (standard 100, højst 1.000) og `side`.

**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. |
| `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/adgangsadresser?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": 25832,
  "adgangsadresser": [
    {
      "betegnelse": "Rådhuspladsen 1, 1550 København V",
      "adgangsadresse_id": "0a3f507a-ec01-32b8-e044-0003ba298018",
      "bfe_nummer": 6033528,
      "vejnavn": "Rådhuspladsen",
      "husnr": "1",
      "postnr": "1550",
      "postnrnavn": "København V",
      "kommunekode": "0101",
      "koordinat": { "lon": 12.5695777, "lat": 55.6756275 },
      "koordinater": [724434.93, 6175755.61]
    },
    {
      "betegnelse": "Vester Voldgade 72, 1552 København V",
      "adgangsadresse_id": "74806df4-97a9-4c0c-a6cb-df07b5429e07",
      "bfe_nummer": 6033528,
      "vejnavn": "Vester Voldgade",
      "husnr": "72",
      "postnr": "1552",
      "postnrnavn": "København V",
      "kommunekode": "0101",
      "koordinat": { "lon": 12.5700489, "lat": 55.6757814 },
      "koordinater": [724463.66, 6175774.25]
    }
  ],
  "meta": {
    "kilde": "Datafordeler DAR via Grundfast",
    "grundfast_version": "0.1.0"
  }
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `adgangsadresser[].koordinater` | [number, number] \| null | Adgangspunktet i det `srid`, du bad om: `[lon, lat]` for 4326, `[x, y]` i meter for 25832. |
| `adgangsadresser[].bfe_nummer` | integer \| null | BFE på det jordstykke, adgangspunktet ligger på — nøglen videre til BBR og Matriklen. |
| `antal` | integer | Antal adresser på denne side. Er det lig `per_side`, kan der være flere på næste side. |

## 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 | Indekset er ikke slået til eller endnu ikke indlæst, eller der er bedt om et rumligt filter i et miljø uden PostGIS. |
