# Slå mange adresser op

`POST /v1/adresse:batch` · Adresser (DAR)

Op til 50 DAR-adresser i ét kald, med resultat eller fejl for hver UUID.

Hver UUID slås op præcis som med [`/v1/adresse/:uuid`](https://grundfast.dk/docs/api/adresse). Dubletter fjernes, før noget slås op — også når de kun adskiller sig i store og små bogstaver.

En UUID, der ikke kan slås op, vælter ikke kaldet: den lander i `errors` med sin egen status, og svaret er stadig `200`. Kun en ugyldig body giver `400`.

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

**Afregning:** Én enhed pr. unik UUID trækkes fra kvoten; kun de opslag, der lykkes, faktureres.

## Parametre

| Navn | Placering | Type | Påkrævet | Beskrivelse |
| --- | --- | --- | --- | --- |
| `uuid` | body | string[] | ja | 1–50 DAR-id’er (UUID), enhedsadresser eller adgangsadresser. |

## Request-body

```json
{
  "uuid": [
    "0a3f507a-ec01-32b8-e044-0003ba298018",
    "74806df4-97a9-4c0c-a6cb-df07b5429e07"
  ]
}
```

## Eksempel

```bash
curl -X POST "https://api.grundfast.dk/v1/adresse:batch" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"uuid":["0a3f507a-ec01-32b8-e044-0003ba298018","74806df4-97a9-4c0c-a6cb-df07b5429e07"]}'
```

## Svar (200)

```json
{
  "results": [
    {
      "uuid": "0a3f507a-ec01-32b8-e044-0003ba298018",
      "adresse": {
        "id": "0a3f507a-ec01-32b8-e044-0003ba298018",
        "betegnelse": "Rådhuspladsen 1, 1550 København V",
        "vejnavn": "Rådhuspladsen",
        "husnr": "1",
        "etage": null,
        "doer": null,
        "postnr": "1550",
        "postnrnavn": "København V",
        "kommunekode": null,
        "koordinat": { "lon": 12.5695777, "lat": 55.6756275 }
      },
      "stale": false
    }
  ],
  "errors": [
    {
      "uuid": "74806df4-97a9-4c0c-a6cb-df07b5429e07",
      "error": "upstream Datafordeler error",
      "status": 502
    }
  ],
  "requested": 2,
  "succeeded": 1,
  "failed": 1
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `results[]` | object[] | `{ uuid, adresse, stale }` for hver UUID, der blev slået op. `adresse` har samme form som på enkeltopslaget. |
| `results[].stale` | boolean | `true` når adressen kom fra cachen, fordi DAR ikke svarede. |
| `errors[]` | object[] | `{ uuid, error, status }` for hver UUID, der fejlede — fx `404` for en adresse, der ikke er gældende. |
| `requested` | integer | Antal unikke UUID’er efter dubletfjernelse. `succeeded` + `failed` giver det samme tal. |

## Fejl

| Status | Betydning |
| --- | --- |
| 400 | Body er ikke `{ uuid: string[] }` med 1–50 gyldige UUID’er. |
| 401 | Nøglen mangler eller er ugyldig. |
| 402 | Planen er under Pro. |
| 429 | Burst-grænsen eller månedskvoten er nået — kvoten tjekkes mod hele batchens antal enheder. |
