# Autentisering og API-nøkler

> Hvordan du får en API-nøkkel, hvordan du sender den, hvilke endepunkter som krever den, og hvordan du oppbevarer den trygt.

Kilde: https://solkart.no/api/dokumentasjon/autentisering · Sist oppdatert 2026-09-15 · Base-URL https://api.solkart.no · OpenAPI: https://solkart.no/openapi.json

## Trenger jeg nøkkel?

Ikke alltid. Endepunktene deler seg i tre grupper:

| Gruppe | Endepunkter | Uten nøkkel | Med nøkkel |
|---|---|---|---|
| Prognose | `/api/forecast`, `/api/forecast/bulk`, `/api/forecast/nowcast` | Gratisnivå per IP-adresse: 24 forespørsler per døgn, 1 anlegg, maks 25 kWp | Kvoter etter plan, se [kvoter](/api/dokumentasjon/grenser-og-feil) |
| Prognose, utvidet | `/api/forecast/extended`, `daily=true` | Ikke tilgjengelig | Basic eller høyere |
| TMY | `/api/tmy`, `/api/tmy/stats`, `/api/tmy/sources` | Inntil 2000 forespørsler per døgn per IP-adresse i lanseringsperioden | Kvoter etter plan |
| Beregninger uten nøkkel | `/api/pv/calc`, `/api/snowload/calc`, `/api/snowsoiling/calc`, `/api/snow/outlook`, `/api/horizon/terrain`, `/api/forecast/latest`, `/api/sites` | Fritt, uten nøkkel | Samme |
| Tunge beregninger, pilot | `/api/horizon/rooftop`, `/api/horizon/precise`, `/api/terrain/category`, `/api/terrain/jobs` | Åpent i pilotperioden, begrenset per IP-adresse (per sekund og per time) | Avtale for høyere grenser |
| Takanalyse | `/api/roof/jobs`, `/api/roof/layout` | Krever passord fra avtale | Avtale |

Nøkkelen gjelder hele produktfamilien. Samme nøkkel i prognose- og TMY-endepunktene.

## Slik får du nøkkel

1. Send e-postadressen din til `POST /api/register`, eller bruk skjemaet på [Kom i gang](/api).
2. Du får en e-post med en bekreftelseslenke (`/api/verify?token=…`). Lenken varer i 24 timer.
3. Bekreftelsessiden viser nøkkelen én gang. Den begynner med `sk_live_` og er 72 tegn lang. Lagre den i et hemmelighetslager, ikke i kildekoden.

```bash
curl -X POST https://api.solkart.no/api/register \
  -H "Content-Type: application/json" \
  -d '{"email": "deg@firma.no"}'
```

Svar `200`:

```json
{"ok": true, "message": "Bekreftelseslenke sendt til deg@firma.no. Sjekk innboksen din (og spam-mappen)."}
```

Feil: `400` ugyldig e-postadresse, `409` adressen er allerede registrert (nøkkelen ligger i innboksen din), `500` e-posten kunne ikke sendes. Gratisnøkkelen er for privat, ikke-kommersiell bruk. Betalte planer bestilles via [kontakt oss](/kontakt).

## Slik sender du nøkkelen

Tre måter, i denne rekkefølgen hvis flere er satt:

```http
X-API-Key: sk_live_…
Authorization: Bearer sk_live_…
GET /api/forecast?lat=59.91&lon=10.75&api_key=sk_live_…
```

Bruk `X-API-Key`. Spørrestrengen `api_key` fungerer, men nøkkelen havner da i webserverlogger, nettleserhistorikk og `Referer`-hoder. Bruk den bare til rask testing.

## Feil du kan få

| Status | `error` | Hva det betyr |
|---|---|---|
| `401` | `Invalid API key` | Nøkkelen finnes ikke eller er deaktivert. Sjekk at hele strengen ble kopiert. |
| `401` | `Daglig forespørsels-grense (24/dag) brukt opp. …` | Du sender uten nøkkel og har brukt gratisnivået fra denne IP-adressen. Opprett en nøkkel eller vent. |
| `401` | `Daglig forespørsels-grense (N/dag) brukt opp på <plan>-planen. …` | Planens daglige kvote er brukt. Telleren nullstilles 00:00 UTC. |
| `403` | `Extended forecast requires Basic tier or higher` | Endepunktet eller valget krever betalt plan. |
| `429` | `Daglig anlegg-kvote brukt opp.` | Du har spurt om flere unike koordinater enn planen gir. Svaret inneholder et `quota`-objekt, se [kvoter](/api/dokumentasjon/grenser-og-feil). |

## Oppbevaring og rotasjon

- Kall API-et fra tjenersiden. Nøkkelen skal ikke ligge i JavaScript som sendes til nettleseren, i mobilapper eller i offentlige repoer. API-et tillater kall fra nettleser (`Access-Control-Allow-Origin: *`), men da er nøkkelen synlig for alle som åpner utviklerverktøyet.
- Legg nøkkelen i en miljøvariabel (`SOLKART_API_KEY`) eller et hemmelighetslager, og les den inn ved oppstart.
- Én nøkkel per system. Da kan én roteres uten at de andre stopper.
- Er en nøkkel lekket, [kontakt oss](/kontakt) så deaktiverer vi den og utsteder en ny. Kvoter følger med til den nye nøkkelen.

## Hvem ser hva

Registrering lagrer e-postadresse, plan og teller per døgn. Forespørsler logges med tidspunkt, endepunkt og status for kvoteregning og feilsøking. Koordinater brukes til å regne ut kvoten og caches i inntil ett døgn. Se [bruksvilkårene](/vilkar).
