Publisert - 11.09.2026

Person‑API informasjonsmodell

Denne siden gir en kort introduksjon til informasjonsmodellen som brukes i Person‑API.
Den tekniske spesifikasjonen finnes i OpenAPI‑spesifikasjonen, men dette dokumentet gir en mer leservennlig oversikt over datastrukturen.

Person API informasjonsmodell er et superset av modellen som brukes av Folkeregisteret (FREG).
Den beholder den samme kjerne•strukturen, men beriker enkelte datapunkter utover Folkeregisterets grunnlag. For detaljer om disse berikelsene, se: Enrichments

Om du ønsker en fullstendig beskrivelse av Folkeregisterets informasjonsmodell, kan du lese:

Generell struktur og metadata for informasjon

Person‑dokumentet består av flere informasjonselementer, vanligvis presentert som lister. Hvert liste‑element representerer ett spesifikt informasjonsstykke med tilhørende metadata som viser status (gyldig / historisk), registreringsdetaljer, kilde osv.

Viktige metadata‑felt for hvert element

JSON‑navn (metadata) FREG‑navn Datatype Beskrivelse
isValid erGjeldende boolean Angir om dette informasjonselementet er gyldig og i bruk i dag.
registeredAt ajourholdstidspunkt datetime Registreringstidspunktet i Folkeregisteret.
source kilde string Hvor informasjonen kommer fra (f.eks. individ, UDI, sykehus).
reason aarsak string Registrerings‑årsak, for eksempel «født i Norge» (born in Norway) eller «innflyttet til Norge» (immigrated to Norway) for oppholdsstatus.
validFrom gyldighetstidspunkt datetime Når informasjonen ble gyldig (f.eks. et nasjonalt identifikasjonsnummer er gyldig fra fødselen, men kan bli registrert senere).
validTo opphoerstidspunkt datetime Utløps‑ tidspunktet for historisk informasjon.

Et minimert JSON‑eksempel fra testdata som viser en persons navn med tilhørende metadata er:

{
  "name": [
    {
      "givenName": "RAKRYGGET",
      "familyName": "ABBED",
      "registeredAt": "2022-02-22T07:36:17.753116Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "2022-02-22T07:36:17.753113Z",
      "validTo": null
    }
  ]
}

Et komplett JSON‑svar‑eksempel finnes i avsnittet JSON Response eksempel nedenfor.

Vanlige informasjons‑elementer

Person API returnerer informasjon som lister som inneholder både nåværende og historiske data. Hvert liste‑element er merket med flagget isValid som indikerer om elementet representerer nåværende eller historisk informasjon. Det finnes tre hovedmønstre:

  1. Ett gyldig element – enkelte felter, som norske identifikasjonsnumre (NIN‑er), må ha akkurat ett gyldig element.
  2. Flere gyldige elementer – felter som familierelasjoner kan ha flere samtidige gyldige elementer.
  3. Tomt eller kun historisk – tomme (null) felter ignoreres i svaret. Felter kan også inneholde kun historiske poster.

Tabellen nedenfor oppsummerer de mest brukte informasjons‑elementene og deres egenskaper:

Informasjons‑element JSON‑nodename Gyldige elementer Beskrivelse
Norske identifikasjonsnumre (NIN) norwegianIdentificationNumber 1 Personens nåværende og historiske identifikasjonsnumre. Eksakt ett nummer må være gyldig til enhver tid.
Navn name 1 Personens nåværende og historiske navn. Kun ett navn kan være gyldig om gangen.
Kjønn gender 1 Personens kjønn. Kun ett kjønn kan være gyldig om gangen.
Personstatus status 1 Nåværende status i Norge (bosatt, avdød, utflyttet osv.). Ett gyldig status‑element er påkrevd.
Fødsel birth 1 Fødselsinformasjon. Vanligvis kun ett element.
Dødsfall death N/A Dødsinformasjon dersom relevant. Ikke en liste – enten inneholder data eller er null.
Familierelasjoner familyRelation 0‑n Nåværende og historiske familierelasjoner. Flere relasjoner kan være gyldige samtidig.
Foreldre‑ansvar parentalResponsibility 0‑n Nåværende og historisk foreldre‑ansvar. Flere poster kan være gyldige samtidig.
Adressebeskyttelse addressProtection 0‑1 Personens samlede adressebeskyttelsesnivå (for bolig‑, oppholds‑ og delt‑bostedsadresse). Kan settes til ungraded, confidential eller strictly confidential. Når ingen data (null), behandles som ungraded.
Felles kontaktregister (KRR) commonContactRegisterInformation N/A Kontaktinformasjon fra KRR. Inneholder kun gjeldende informasjon uten historikk. Enten data er tilstede eller null hvis ingen informasjon finnes.

Merk: Norske identifikasjonsnumre bør behandles kun som identifikatorer. Fra 2032 vil nye fødsels‑ og D‑numre være kjønn‑nøytrale, og individ‑delen vil ikke lenger pålitelig angi århundre. Konsumenter bør derfor bruke de dedikerte feltene gender og birth i stedet for å utlede kjønn eller fødselsdato fra NIN. Se PID 2032 for mer informasjon.

Adresseinformasjon

Person‑API og FREG støtter flere adresse‑typer for hver person. Hvilken adresse du skal bruke avhenger av ditt formål (f.eks. post‑kommunikasjon vs. fast bosted). For detaljert informasjon om adresse‑typene, se kapittel 5.9 i FREG Information Model Documentation.

Adresse‑type JSON‑nodename Gyldige elementer Beskrivelse
Bostedsadresse (residential) residentialAddress 0‑1 Primær bostedsadresse for norske borgere med nasjonalt identifikasjonsnummer (fødselsnummer). Må samsvare med Matrikkelen.
Oppholdsadresse (present) presentAddress 0‑1 Midlertidig adresse for ikke‑bosatte med D‑nummer. Kun én gyldig oppholdsadresse om gangen.
Delt bosted (shared residence) sharedResidence 0‑1 Tillegg‑bosted, typisk brukt for barn med delt foreldre‑ansvar.
Postadresse (postal) postalAddress 0‑1 Alternativ postadresse når vanlig post ikke skal sendes til bostedsadressen.
Utenlandsk postadresse foreignPostalAddress 0‑1 Internasjonal postadresse for personer bosatt i utlandet.

Tilleggsinformasjon

Person‑API inneholder også andre relevante informasjons‑typer, som:

  • Sivilstatus
  • Statsborgerskap
  • Ekstra identifikatorer
  • Familiære relasjoner

For en fullstendig oversikt over disse feltene, se FREG Information Model.

id

id‑en som forekommer i et person‑dokument blir utstedt av Persontjenesten. Dersom en person blir RestoredBySplitting, får vedkommende en ny id. I et svært sjeldent scenario der all data går tapt og Person‑API må bygges opp fra Folkeregisteret på nytt, vil hver person få en ny id. Dette er en ekstremt usannsynlig katastrofe‑gjenopprettings‑situasjon og vil kun skje i en nødsituasjon.


Har du spørsmål om Person‑API eller informasjonsmodellen, ta kontakt på [utvikling-persontjenesten@nhn.no](mailto:utvikling-persontjenesten@nhn.no).

JSON‑svar‑eksempel

Nedenfor er et representativt JSON‑svar fra test‑miljøet vårt. Selv om det ikke er uttømmende, viser det typiske datastrukturer og relasjoner. Merk at i versjon 3 av API‑et blir null‑verdier utelatt fra svarene.

Json eksempel
{
  "id": "b55209b9-0be0-43c3-b1df-4d3e3cdeda63",
  "sequenceNumber": 185183,
  "norwegianIdentificationNumber": [
    {
      "status": "InUse",
      "identificationNumber": "06896496989",
      "identificationNumberType": "NationalIdentityNumber",
      "registeredAt": "2020-12-22T16:08:24.354Z",
      "isValid": true,
      "source": "KILDE_DSF"
    }
  ],
  "identityVerification": [],
  "residuaryEstateContactInformation": [],
  "identificationDocument": [],
  "status": [
    {
      "status": "Resident",
      "registeredAt": "2020-12-22T16:08:24.354Z",
      "isValid": true,
      "source": "KILDE_DSF",
      "validFrom": "2020-12-22T16:08:24.354Z"
    }
  ],
  "immigrationAuthoritiesIdentificationNumber": [],
  "foreignPersonIdentificationNumber": [],
  "sharedResidence": [],
  "gender": [
    {
      "gender": "Male",
      "isValid": true,
      "source": "KILDE_DSF"
    }
  ],
  "birth": [
    {
      "birthDate": "1964-09-06T00:00:00Z",
      "birthYear": "1964",
      "birthMunicipalityNumber": "3020",
      "birthCountry": "NOR",
      "registeredAt": "2022-02-18T13:35:07.043124Z",
      "isValid": true,
      "source": "Synutopia",
      "validFrom": "1964-09-06T13:35:07.04312Z"
    }
  ],
  "birthInNorway": [
    {
      "organizationName": "Bra Testinstitusjon",
      "multipleBirthNumber": 11,
      "registeredAt": "2022-02-18T13:35:07.13083Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Fødsel",
      "validFrom": "1964-09-06T13:35:07.13083Z"
    }
  ],
  "familyRelation": [
    {
      "relatedPerson": "26879497719",
      "relatedPersonsRole": "Child",
      "myRoleForRelatedPerson": "Father",
      "registeredAt": "2022-02-18T13:35:06.690672Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "1994-07-25T23:00:00Z"
    },
    {
      "relatedPerson": "13926298253",
      "relatedPersonsRole": "SpouseOrPartner",
      "myRoleForRelatedPerson": "SpouseOrPartner",
      "registeredAt": "2022-03-11T15:35:30.391334Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "1991-02-09T15:35:30.143021Z"
    },
    {
      "relatedPerson": "22848797212",
      "relatedPersonsRole": "Child",
      "myRoleForRelatedPerson": "Father",
      "registeredAt": "2022-02-23T14:55:25.645122Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "1987-04-21T23:00:00Z"
    },
    {
      "relatedPerson": "07893049740",
      "relatedPersonsRole": "Father",
      "myRoleForRelatedPerson": "Child",
      "registeredAt": "2022-03-11T15:35:31.290816Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "1964-09-05T23:00:00Z"
    },
    {
      "relatedPerson": "04922649486",
      "relatedPersonsRole": "Mother",
      "myRoleForRelatedPerson": "Child",
      "registeredAt": "2022-03-11T15:35:31.062102Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "1964-09-05T23:00:00Z"
    }
  ],
  "maritalStatus": [
    {
      "status": "Married",
      "statusDate": "1991-02-09T00:00:00Z",
      "authority": "DEN_NORSKE_KIRKE",
      "municipalityNumber": "0301",
      "municipalityName": "Oslo",
      "countyNumber": "03",
      "countyName": "Oslo",
      "place": "Sist Testkirke",
      "relatedByMaritalStatus": "13926298253",
      "registeredAt": "2022-03-11T15:35:30.143022Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "1991-02-09T15:35:30.143021Z"
    }
  ],
  "name": [
    {
      "givenName": "FRISK",
      "familyName": "BÅT",
      "registeredAt": "2022-02-18T13:35:07.224651Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Patch",
      "validFrom": "2022-02-18T13:35:07.224649Z"
    }
  ],
  "addressProtection": [],
  "residentialAddress": [
    {
      "streetAddress": {
        "separatelyOccupiedUnitNumber": "H0202",
        "separatelyOccupiedUnitType": "Housing",
        "addressName": "Kirkegata",
        "addressNumber": {
          "houseNumber": "19",
          "houseLetter": "B"
        },
        "addressCode": "13707",
        "city": {
          "cityName": "OSLO",
          "postalCode": "0153"
        },
        "municipalityNumber": "0301",
        "municipalityName": "Oslo",
        "countyNumber": "03",
        "countyName": "Oslo"
      },
      "coordinate": {
        "epsgCode": 25833,
        "north": 7273600,
        "east": 454000
      },
      "cadastralIdentifier": "285856075",
      "addressConfidentiality": "Unclassified",
      "moveDate": "2022-03-11T00:00:00Z",
      "basicStatisticalUnit": 102,
      "fullBasicStatisticalUnitNumber": "03010102",
      "basicStatisticalUnitName": "Sentrum 1 - Rode 2",
      "constituency": 1601,
      "schoolDistrict": 216,
      "churchDistrict": 5,
      "urbanDistrictCode": "030104",
      "urbanDistrictName": "St.Hanshaugen",
      "geographicalUrbanDistrictCode": "030116",
      "geographicalUrbanDistrictName": "Sentrum",
      "registeredAt": "2022-03-11T15:35:33.018848Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Flytting innenlands",
      "validFrom": "2022-03-10T23:00:00Z"
    }
  ],
  "presentAddress": [
    {
      "isAddressUnknown": true,
      "addressConfidentiality": "Unclassified",
      "presentAddressDate": "2022-12-18T00:00:00Z",
      "stayElsewhere": "Military",
      "registeredAt": "2022-12-18T10:01:01.189209Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Oppholdsadresse og opphold annet sted",
      "validFrom": "2022-12-17T23:00:00Z"
    }
  ],
  "immigrationToNorway": [],
  "emigrationFromNorway": [],
  "useOfSamiLanguage": [],
  "samiParliamentElectoralRegistryStatus": [],
  "postalAddress": [
    {
      "addressConfidentiality": "Unclassified",
      "postBoxAddress": {
        "postBoxIdentification": "Test 61",
        "city": {
          "cityName": "VESTSIDA",
          "postalCode": "2863"
        }
      },
      "registeredAt": "2022-12-18T10:01:00.568046Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Oppholdsadresse og opphold annet sted",
      "validFrom": "2022-12-17T23:00:00Z"
    }
  ],
  "foreignPostalAddress": [],
  "parentalResponsibility": [],
  "citizenship": [
    {
      "countryCode": "NOR",
      "aquiredDate": "1964-09-06T00:00:00Z",
      "registeredAt": "2022-02-18T13:35:07.316077Z",
      "isValid": true,
      "source": "Synutopia",
      "reason": "Fødsel",
      "validFrom": "1964-09-06T13:35:07.316093Z"
    }
  ],
  "citizenshipRetention": [],
  "residencePermit": [],
  "stayOnSvalbard": [],
  "guardianshipOrFuturePowerOfAttorney": [],
  "legalAuthority": [],
  "commonContactRegisterInformation": {
    "reservation": "No",
    "status": "Active",
    "notificationStatus": "CanBeNotified",
    "contactInformation": {
      "email": "kjetil.braadland@capgemini.com",
      "emailLastUpdated": "2023-11-15T12:39:49+01",
      "emailLastVerified": "2023-11-15T12:39:49+01",
      "phoneNumber": "+4741522179",
      "phoneNumberLastUpdated": "2023-11-15T12:39:49+01",
      "phoneNumberLastVerified": "2023-11-15T12:39:49+01"
    },
    "digitalPost": {}
  }
}

Søk i Utviklerportalen

Søket er fullført!