Lyfti Gavefeed API

Hvordan hente tildelte gaver og statistikk ved hjelp av API. NB! Krever utviklerforståelse!

Alle kall til API-et må inneholde en gyldig api_key som GET-parameter. Nøkkelen knyttes til en "stiftelse" og har daglig begrensning på antall kall. API-nøkkel får du ved å kontakte Lyfti-teamet og du har en aktiv konto.

NB! API-nøkkelen er sensitiv og skal aldri eksponeres i JavaScript, HTML eller klientkoden.

Alle kall mot Lyfti API må gjøres fra serversiden (f.eks. via MODX, PHP eller et backend-system).

Nøkkelen er å anse som en privat nøkkel, og må behandles som en hemmelighet.

Dersom du har behov for å vise API-data i frontend (f.eks. med JavaScript i nettleseren), må du bruke en egen proxy-endepunkt som gjør kall fra servernivå.

Eksempel

https://api.lyfti.no/endepunkt?api_key=din_nøkkel

Endepunkt: /giftfeed

Gir en liste over publiserte, bevilgede søknader.

Eksempel:

GET /giftfeed?api_key=din_nøkkel&type=1&limit=10

Tilgjengelige parametere:

Navn Type Beskrivelse
api_key string (Påkrevd) Din personlige nøkkel
type integer Filter på søknadstype
date date Fra-dato: kun bevilgninger fra og med denne datoen
date_end date Til-dato: kun bevilgninger til og med denne datoen
limit integer Antall resultater (0 = alle)
offset integer Hopper over X antall resultater

 

Respons

{
  "success": true,
  "data": [
    {
      "id": 123,
      "type": 1,
      "title": "Ut i naturen",
      "amount": 200000,
      "date": "2024-09-15",
      "name": "Ringerike Turlag",
      "category": "Friluftsliv",
      ...
    }
  ],
  "meta": {
    "count": 10,
    "limit": 10,
    "rate_limit": 1000,
    "rate_used": 7,
    "next_reset": "2025-04-09 00:00:00",
    "filters": {
      "type": 1
    }
  }
}

Endepunkt: /statistics

Gir nøkkeltall for en "stiftelse" - basert på tilgjengelige søknader og tildelinger.

Eksempel:

GET/statistics?api_key=din_nøkkel

Respons

{
  "success": true,
  "data": {
    "years": 12,
    "earliestYear": "2012",
    "amount_cash": 135,
    "allGifts": 760,
    "projectGifts": 310,
    "applicants": 198,
    "municipalities": ["Gran", "Lunner", ...],
    "municipalities_real": ["Gran", "Lunner", "Andre"]
  },
  "meta": {
    "count": 8
  }
}

Feil og validering

Format for feilrespons

Alle feil returneres med:

  • Success: false
  • Et error-objekt som inneholder:
    • code (HTTP-lignende status)
    • message (kort beskrivelse)
    • details (valgfritt, ved rate limiting)

Feiltyper

Kode Betydning Når det skjer
400 Missing or invalid parameters api_key mangler eller har feil format
403 API key not found or inactive Gitt api_key finnes ikke eller er deaktivert
429 Rate limit exceeded Maks antall kall per dag er brukt opp
500 Internal error Kall til API-et feiler

 

Eksempler

Manglende api_key

{
  "success": false,
  "error": {
    "code": 400,
    "message": "Missing required parameter: api_key"
  }
}

Ugyldig api_key-format

{
  "success": false,
  "error": {
    "code": 400,
    "message": "Invalid API key format"
  }
}

API-nøkkelen finnes ikke

{
  "success": false,
  "error": {
    "code": 403,
    "message": "API key not found or inactive"
  }
}

Rate limit nådd

{
  "success": false,
  "error": {
    "code": 429,
    "message": "Rate limit exceeded",
    "details": {
      "rate_limit": 1000,
      "requests_used": 1000,
      "reset_at": "2025-04-09 00:00:00"
    }
  }
}

Spørsmål?

Ta kontakt med Lyfti-teamet dersom du trenger hjelp til å bruke API-et eller tolke resultatene.