# Opret en eksport

`POST /v1/export` · Eksport

Start et asynkront eksportjob over en liste af op til 5.000 BFE-numre eller adresse-id’er, serialiseret som CSV, NDJSON eller GeoJSON.

Eksporten slår hvert id op med samme cache og samme form som enkeltopslagene og skriver resultatet til én fil. Til `bbr` og `matrikel` sender du `bfe`, til `adresse` sender du `uuid` (DAR-id’er). Dubletter fjernes, og `requested` er antallet af unikke id’er. Det er ikke et udtræk af hele registret — kun de id’er, du sender.

Kaldet svarer med det samme med `201` og jobbet i status `queued`. Følg det med [Hent en eksport](https://grundfast.dk/docs/api/export-get), og hent filen med [Download eksporten](https://grundfast.dk/docs/api/export-download), når `status` er `completed`.

NDJSON indeholder hele objektet pr. linje. CSV er en flad udgave med de vigtigste kolonner: for `bbr` er det `bfe_nummer`, `kommunekode`, `antal_bygninger`, `matrikelnummer` og `ejerlav_navn`. GeoJSON er én FeatureCollection — bygningspunkter for `bbr`, jordstykkeomrids for `matrikel` og adressepunkter for `adresse`.

**Godkendelse:** API-nøgle eller dashboard-session · kræver Scale-planen

**Afregning:** Én enhed pr. unikt id i anmodningen; id’er, der ikke kunne slås op, krediteres tilbage, når jobbet er færdigt.

## Parametre

| Navn | Placering | Type | Påkrævet | Beskrivelse |
| --- | --- | --- | --- | --- |
| `register` | body | string | ja | Hvilket register id’erne slås op i. Bestemmer, om listen hedder `bfe` eller `uuid`. |
| `format` | body | string | ja | Filformatet: `csv` (flad), `ndjson` (fuldt objekt pr. linje) eller `geojson` (FeatureCollection). |
| `bfe` | body | integer[] | nej | 1-5.000 BFE-numre. Påkrævet, når `register` er `bbr` eller `matrikel`. |
| `uuid` | body | string[] | nej | 1-5.000 DAR-adresse-id’er (UUID). Påkrævet, når `register` er `adresse`. |

## Request-body

```json
{
  "register": "bbr",
  "format": "csv",
  "bfe": [5651067, 2425322]
}
```

## Eksempel

```bash
curl -X POST "https://api.grundfast.dk/v1/export" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"register":"bbr","format":"csv","bfe":[5651067,2425322]}'
```

## Svar (201)

```json
{
  "job": {
    "id": "exp_k3v9q2m7x1r8t4w6y0z5b2nc",
    "register": "bbr",
    "format": "csv",
    "status": "queued",
    "requested": 2,
    "succeeded": 0,
    "failed": 0,
    "sizeBytes": null,
    "error": null,
    "createdAt": "2026-09-24T09:12:03.418Z",
    "completedAt": null,
    "resultAvailable": false
  }
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `job.id` | string | Jobbets id, fx `exp_…`. Bruges til at følge og hente eksporten. |
| `job.status` | string | `queued`, `processing`, `completed` eller `failed`. Et nyt job er altid `queued`. |
| `job.requested` | integer | Antallet af unikke id’er, jobbet skal slå op — det tal, kvoten tæller. |

## Fejl

| Status | Betydning |
| --- | --- |
| 400 | Kroppen er ugyldig: ukendt `register` eller `format`, den forkerte id-liste til registret, en tom liste, flere end 5.000 id’er eller et id i forkert format. |
| 401 | Hverken en gyldig nøgle eller en session. |
| 402 | Planen er under Scale. |
| 403 | Nøglen er en admin-nøgle, eller kontoen er suspenderet. |
| 429 | Burst-grænsen eller månedskvoten er nået; alle id’er i anmodningen tæller mod kvoten. |

> API’et svarer med `{ "job": { … } }`. SDK’ens `createExport()` pakker det ud og returnerer selve jobbet.
