# Hent mange områder

`POST /v1/dagi:batch` · DAGI

Op til 50 områder fra samme tema i ét kald, med fejl pr. kode i stedet for én samlet fejl.

Send ét tema og en liste af koder. Dubletter fjernes, og hver kode slås op præcis som i `/v1/dagi/:tema/:kode` — navn altid, geometri best-effort.

En ukendt kode fælder ikke kaldet: den havner i `errors` med sin egen status (typisk 404), mens de øvrige kommer i `results`. Kaldet svarer 200, så længe selve forespørgslen er gyldig. Er mindst én geometri cachet og ældre, sættes headeren `X-Grundfast-Stale: true`, og det pågældende resultat har `stale: true`.

**Godkendelse:** `Authorization: Bearer gf_live_…` (eller `gf_test_…`) · kræver Pro-planen

**Afregning:** Én enhed pr. unik kode; koder, der ender i `errors`, afregnes ikke.

## Parametre

| Navn | Placering | Type | Påkrævet | Beskrivelse |
| --- | --- | --- | --- | --- |
| `tema` | body | string | ja | Den inddeling, alle koderne hører til. |
| `kode` | body | string[] | ja | Mellem 1 og 50 DAGI-koder som strenge. Dubletter tælles én gang. |

## Request-body

```json
{
  "tema": "kommune",
  "kode": [
    "0751",
    "0101",
    "9999"
  ]
}
```

## Eksempel

```bash
curl -X POST "https://api.grundfast.dk/v1/dagi:batch" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tema":"kommune","kode":["0751","0101","9999"]}'
```

## Svar (200)

```json
{
  "tema": "kommune",
  "results": [
    {
      "kode": "0101",
      "omraade": {
        "tema": "kommune",
        "kode": "0101",
        "navn": "København",
        "regionskode": "1084",
        "geometri": {
          "type": "MultiPolygon",
          "coordinates": [
            [
              [
                [12.5448629, 55.6408618],
                [12.5448636, 55.6408517],
                [12.5448707, 55.6408424],
                [12.5448834, 55.6408353],
                [12.5449811, 55.6407917],
                [12.5449935, 55.6407865],
                [12.5450088, 55.6407853],
                [12.5450234, 55.6407882],
                [12.5450338, 55.6407947],
                [12.5454477, 55.6411628],
                [12.5455463, 55.6412655],
                [12.5455859, 55.6412862],
                [12.5456204, 55.6413096],
                [12.5456492, 55.6413355],
                [12.5456717, 55.6413632],
                [12.5456877, 55.6413923],
                [12.5456966, 55.6414223],
                [12.5458049, 55.6415354],
                [12.5458082, 55.641549],
                [12.5458058, 55.6415627],
                [12.5457976, 55.6415757],
                [12.5457842, 55.6415872],
                [12.5457325, 55.6416066],
                [12.5457105, 55.6416133],
                [12.5456857, 55.6416145],
                [12.5456619, 55.6416102],
                [12.5456431, 55.641601],
                [12.545273, 55.6412617],
                [12.5452693, 55.6412575],
                [12.5452657, 55.6412534],
                [12.5452462, 55.6412186],
                [12.5448689, 55.6408713],
                [12.5448629, 55.6408618]
              ]
            ]
          ],
          "epsg25832_rings": [
            [
              [723079.5, 6171809.45],
              [723079.82, 6171810.53],
              [723101.58, 6171850.37],
              [723102.61, 6171854.3],
              [723102.81, 6171854.77],
              [723103.02, 6171855.24],
              [723124.37, 6171894.17],
              [723125.5, 6171895.25],
              [723126.97, 6171895.81],
              [723128.54, 6171895.75],
              [723129.96, 6171895.08],
              [723133.32, 6171893.09],
              [723134.23, 6171891.85],
              [723134.82, 6171890.43],
              [723135.05, 6171888.92],
              [723134.92, 6171887.39],
              [723128.75, 6171874.47],
              [723128.36, 6171871.1],
              [723127.52, 6171867.81],
              [723126.26, 6171864.66],
              [723124.6, 6171861.69],
              [723122.56, 6171858.98],
              [723120.19, 6171856.55],
              [723114.57, 6171844.81],
              [723090.63, 6171802.54],
              [723090.01, 6171801.78],
              [723089.11, 6171801.41],
              [723088.14, 6171801.5],
              [723087.33, 6171802.04],
              [723080.94, 6171806.57],
              [723080.1, 6171807.32],
              [723079.6, 6171808.33],
              [723079.5, 6171809.45]
            ]
          ]
        },
        "meta": {
          "kilde": "Datafordeler DAGI via Grundfast",
          "grundfast_version": "0.1.0",
          "geometri_status": "live"
        }
      },
      "stale": false
    }
  ],
  "errors": [
    {
      "kode": "9999",
      "error": "kommune '9999' not found",
      "status": 404
    }
  ],
  "requested": 3,
  "succeeded": 2,
  "failed": 1
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `results[].omraade` | DagiOmraade | Samme form som svaret fra `/v1/dagi/:tema/:kode`. |
| `results[].stale` | boolean | Sand, når geometrien kom fra en ældre cachet kopi. |
| `errors[]` | { kode, error, status } | Koder, der ikke kunne slås op, med den status et enkeltopslag ville have givet. |
| `requested / succeeded / failed` | integer | Antal unikke koder, antal besvarede og antal fejlede. |

## Fejl

| Status | Betydning |
| --- | --- |
| 400 | Body’en er ikke `{ tema, kode: string[] }`, listen er tom eller har over 50 koder, eller `tema` er ukendt. |
| 401 | Nøglen mangler eller er ugyldig. |
| 402 | Planen er under Pro. Batch-endpoints kræver Pro eller højere. |
| 429 | Burst-grænsen eller månedskvoten er nået. Se `Retry-After`. |
