1. Overordnet om Aa-registeret

Under arbeid

2. Data i Aa-registeret (domene)

2.1. Arbeidsforholdsopplysninger

Aa-registeret består av følgende arbeidsforholdstyper:

Arbeidsforhold rapportert via Forenklet oppgjørsordninger

Beskrivelse av de ulike arbeidsforholdstypene og hvilke dataelementer som er obligatoriske m.m. fremgår i a-ordningens veiledning.

Veiledningen for a-meldingen i sin helhet ligger her:

2.2. Dataelementer fra Aa-registeret

Under arbeid

Dataelement

Forklaring/kommentar

Begreper i teknisk dokumentasjon

Feltbeskrivelse

Format

Arbeidsforhold

Beskriver de statiske opplysningene i arbeidsforholdet.

arbeidsforhold

ArbeidsforholdID

Identifikator for hvert arbeidsforhold en arbeidstaker har

id

id

Tekst

Arbeidsforholdtype

Angivelse av type arbeidsforhold:
* Ordinært
* Maritimt
* Frilansere
* Forenklet oppgjørsordning

type

kode
beskrivelse

Tekst
Tekst

Arbeidstaker eller frilanser

Arbeidstakerens ID fødselsnummer eller D-nummer

arbeidstaker

ident

fødselsnummer eller D-nummer på arbeidstaker (11 siffer)

Arbeidssted

Lokal enhet hvor arbeidstakeren jobber. Underenhet for organisasjon. Person for personlig arbeidsgiver.

arbeidssted"

type
ident

Underenhet ID: organisasjonsnummer (9 siffer) Person ID: fødselsnummer, D-nummer (11 siffer)

Opplysningspliktig

Juridisk ansvarlig for arbeidsforholdet:
- Hovedenhet for organisasjon
- Person for personlig arbeidsgiver"

opplysningspliktig

type
ident

Hovedenhet ID:
Organisasjonsnummer (9 siffer)
Person ID: fødselsnummer/D-nummer (11 siffer)"

Ansettelsesperiode

ansettelsesperiode

Startdato for arbeidsforholdet

Dato for når arbeidsforholdet starter

startdato

Dato, format (ISO-8601): yyyy-MM-dd

Sluttdato for arbeidsforholdet

Dato for når arbeidsforholdet sluttet

sluttdato

Dato, format (ISO-8601): yyyy-MM-dd

Sluttårsak

Beskriver årsaken til at arbeidsforholdet er avsluttet

sluttaarsak

kode
beskrivelse

Tekst
Tekst

Varsel

Varsel når NAV har foretatt maksinell opphør av arbeidsforholdet

varsling

kode
beskrivelse

Tekst,
Tekst

Ansettelsesdetaljer

Beskriver dataelementer i arbeidsforholdet som kan endres og dermed ha historikk.

ansettelsesdetaljer

Type ansettelsesdetaljer

Angivelse av type ansettelsesdetaljer:
- Ordinært
- Maritimt
- Frilanser
- Forenklet oppgjørsordning

type

Tekst

Arbeidstidsordning

Beskriver hva som er avtalt om når på døgnet arbeidet skal utføres:
- ikke skift
- skiftarbeid – 36,6 t/u
- arbeid offshore – 33,6 t/u
- døgnkontinuerlig skiftarbeid og turnusarbeid – 35,5 t/u
- helkontinuerlig skiftarbeid og andre ordninger med 33,6 t/u

arbeidstidsordning

kode
beskrivelse

Tekst
Tekst

Ansettelsesform

Beskriver om arbeidsforholdet er fast eller midlertidig

ansettelsesform

kode
beskrivelse

Tekst
Tekst

Yrkesbeskrivelse

Beskriver hva arbeidstakeren jobber som.
Styrk-koder benyttes, se http://www.ssb.no/a/yrke

yrke

kode
beskrivelse

Tekst
Tekst

Antall timer pr uke som en full stilling tilsvarer

Beskriver antall timer per uke som en full stilling tilsvarer

antallTimerPrUke

Numerisk

Avtalt stillingsprosent

Beskriver hva som er avtalt stillings%

avtaltStillingsprosent

Numerisk

Dato for endring av stillingsprosent

Dato for når stillingsprosenten sist er endret

sisteStillingsprosentendring

Dato, format (ISO-8601): yyyy-MM-dd

Dato for siste lønnsendring

Dato for når arbeidstakeren sist fikk endret lønn

sisteLoennsendring

Dato, format (ISO-8601): yyyy-MM-dd

Tilleggsopplysninger for maritime arbeidsforhold:

Skipsregister

Skipsregister som et fartøy eller en flyttbar innretning er registrert i:
- NOR (Norsk Ordinært skipsregister)
- NIS (Norsk Internasjonalt Skipsregister)
- UTLA (Utenlandsk registrert fartøy)

skipsregister

kode
beskrivelse

Tekst
Tekst

Fartøystype

Type fartøy eller innretning:
- turistskip
- boreplattform
- annet

fartoeystype

kode
beskrivelse

Tekst
Tekst

Fartsområde

Fartsområdet skipet går i:
- innenriksfart
- utenriksfart

fartsomraade

kode
beskrivelse

Tekst
Tekst

Rapporteringsmåneder

rapporteringsmaaneder

Startmåned for rapportering

Startmåned for rapportering

fra

Dato, format (ISO-8601): yyyy-MM

Sluttmåned for rapportering

Sluttmåned for rapportering

til

Dato, format (ISO-8601): yyyy-MM

Permisjoner

permisjoner

PermisjonId

Id for permisjonen

id

Tekst

Startdato for permisjonen

Startdato for permisjonen

startdato

Dato, format (ISO-8601): yyyy-MM-dd

Sluttdato for permisjonen

Sluttdato for permisjonen

sluttdato

Dato, format (ISO-8601): yyyy-MM-dd

Permisjonsprosent

Størrelsen på permisjonen angitt i prosent

prosent

Numerisk

Permisjonstype

Permisjonstyper som finnes i dag:
- Permisjon med foreldrepenger
- Permisjon ved militærtjeneste
- Utdanningspermisjon
- Velferdspermisjon

type

kode
beskrivelse

Tekst
Tekst

Permisjon varsel

Varsel ved matching eller maskinell satt sluttdato

varsling

kode
beskrivelse

Tekst
Tekst

Permitteringer

permitteringer

PermitteringsId

Id for permitteringen

id

Tekst

Startdato for permitteringen

Startdato for permitteringen

startdato

Dato, format (ISO-8601): yyyy-MM-dd

Slutttdato for permitteringen

Slutttdato for permitteringen

sluttdato

Dato, format (ISO-8601): yyyy-MM-dd

Permitteringsprosent

Størrelsen på permitteringen angitt i prosent

prosent

Numerisk

Permitteringstype

Permitteringstyper som finnes i dag:
- Permittering"

type

kode
beskrivelse

Tekst
Tekst

Permittering varsel

Varsel ved matching eller maskinell satt sluttdato

varsling

kode
beskrivelse

Tekst
Tekst

Timer med timelønn

timerMedTimeloenn

Antall timer

Antall timer rapportert sammen med kontantytelsen «timelønn» i a-meldingen

antall

Numerisk

Startdato

Startdato for opptjeningsperioden

startdato

Dato, format (ISO-8601): yyyy-MM-dd

Sluttdato

Sluttdato for opptjeningsperioden

sluttdato

Dato, format (ISO-8601): yyyy-MM-dd

Rapporteringsmåned

Måneden opplysningene er rapportert, men behøver ikke være knyttet til opptjeningsperiode.

rapporteringsmaaned

ÅrMåned, format (ISO-8601): yyyy-MM

Utenlandsopphold

utenlandsopphold

Landkode

Landkode for opptjent inntekt

land

kode
beskrivelse

Tekst
Tekst

Startdato

Startdato for opptjeningsperioden

startdato

Dato, format (ISO-8601): yyyy-MM-dd

Sluttdato

Sluttdato for opptjeningsperioden

sluttdato

Dato, format (ISO-8601): yyyy-MM-dd

Rapporteringsmåned

Måneden opplysningene er rapportert, men behøver ikke være knyttet til opptjeningsperiode.

rapporteringsmaaned

ÅrMåned, format (ISO-8601): yyyy-MM

ID-historikk for arbeidsforholdet

idHistorikk

Tidligere ID for arbeidsforholdet

Tidligere arbeidsforholdIDer på grunn av matching

id

Tekst

Varsler

En liste med varsler som forekommer på ulike entiteter i arbeidsforholdet.

varsler

Varseltilhørighet

Angir hva varselet er knyttet til:
- arbeidsforhold
- ansettelsesperiode
- permisjon
- permittering

entitet

Tekst

Varsel

Varsel av aktuell entiet, se over

varsling

kode
beskrivelse

Tekst
Tekst

Datoer

Dato opprettet

Dato for når arbeidsforholdet er registrert i Aa-registeret

opprettet

Tidspunkt, format (ISO-8601): yyyy-MM-dd’T’HH:mm[:ss[.SSSSSSSSS]]

Dato sist bekreftet

Dato for når arbeidsforholdet sist er bekreftet av arbeidsgiver

sistBekreftet

Tidspunkt, format (ISO-8601): yyyy-MM-dd’T’HH:mm[:ss[.SSSSSSSSS]]

Dato sist endret

Dato for når det sist er foretatt endringer i dataelementer i Aa-registeret

sistEndret

Tidspunkt, format (ISO-8601): yyyy-MM-dd’T’HH:mm[:ss[.SSSSSSSSS]]

2.3. Identifikasjon av arbeidsgivere og arbeidstakere

Fra Aa-registeret presenteres kun Identifikasjoner for opplysningspliktig, arbeidstakere og arbeidssted. Opplysningspliktig og arbeidssted identifiseres i form av organisasjonsnummer eller fødselsnummer/Dnr. Arbeidstakere identifiseres i form av fødselsnummer/Dnr. Dersom pensjonsinnretningen har behov for mer informasjon knyttet til disse identifikasjonene (navn, adresse osv.) må dette hentes fra Enhetsregisteret (organisasjonsnummer) og Folkeregisteret (Fødselsnummer/Dnr).

2.4. Kodeverk

For dataelementer som har et kodeverk knyttet til seg vil både kode og kodebeskrivelse/term inngå i APIene fra NAV. Det vil si at det ikke er behov for å hente kodebeskrivelse fra egne løsninger.

2.4.1. Oversikt

Tabellene under viser en oversikt over de fleste kodene som er benyttet i Aa-registeret.

Ansettelsesform
Kode Beskrivelse Gyldig fra Gyldig til

fast

Fast ansettelse

01.06.2020

31.12.9999

midlertidig

Midlertidig ansettelse

01.06.2020

31.12.9999

Arbeidsforholdstyper
Kode Beskrivelse Gyldig fra Gyldig til

forenkletOppgjoersordning

Forenklet oppgjørsordning

01.01.2014

31.12.9999

frilanserOppdragstakerHonorarPersonerMm

Frilansere/oppdragstakere, styremedlemmer, folkevalgte, personer som innehar tillitsverv, fosterforelder, støttekontakter, avlastere og personer med omsorgslønn

01.01.2014

31.12.9999

maritimtArbeidsforhold

Maritimt arbeidsforhold

01.01.2013

31.12.9999

ordinaertArbeidsforhold

Ordinært arbeidsforhold

01.01.2013

31.12.9999

pensjonOgAndreTyperYtelserUtenAnsettelsesforhold

Pensjoner og andre typer ytelser, uten ansettelsesforhold, dekning fra lønnsgaranti ordning og konkursbo, personer som deltar i arbeidstreningstiltak for yrkeshemmede når lønnen er definert som mottak av oppmuntringspenger (eks Varig tilrettelagt arbeid VTA), mv.

01.01.2014

31.12.9999

Arbeidstidsordninger
Kode Beskrivelse Gyldig fra Gyldig til

andreSkift

Andre skift

01.01.2019

31.12.9999

doegnkontinuerligSkiftOgTurnus355

Døgnkontinuerlig skiftarbeid og turnusarbeid (35,5 t/u)

01.01.2013

31.12.9999

helkontinuerligSkiftOgAndreOrdninger336

Helkontinuerlig skiftarbeid og andre ordninger med 33,6 t/u

01.01.2013

31.12.9999

ikkeSkift

Ikke skift

01.01.2013

31.12.9999

offshore336

Arbeid offshore (33,6 t/u)

01.01.2013

31.12.9999

skift365

Skiftarbeid (36,5 t/u)

01.01.2013

31.12.9999

Fartsområder
Kode Beskrivelse Gyldig fra Gyldig til

innenriks

Innenriks

01.01.2013

31.12.9999

utenriks

Utenriks

01.01.2013

31.12.9999

Permisjon & Permittering
Kode Beskrivelse Gyldig fra Gyldig til

permisjon

Permisjon

01.01.2014

31.12.9999

permisjonMedForeldrepenger

Permisjon med foreldrepenger

01.01.2018

31.12.9999

permisjonVedMilitaertjeneste

Permisjon ved militærtjeneste

01.01.2018

31.12.9999

permittering

Permittering

01.01.2014

31.12.9999

utdanningspermisjon

Utdanningspermisjon

01.01.2018

31.12.9999

velferdspermisjon

Velferdspermisjon

01.01.2018

31.12.9999

Sluttårsaker
Kode Beskrivelse Gyldig fra Gyldig til

arbeidsforholdetSkulleAldriVaertRapportert

Arbeidsforholdet skulle aldri vært rapportert

01.06.2020

31.12.9999

arbeidsgiverHarSagtOppArbeidstaker

Arbeidsgiver har sagt opp arbeidstaker

01.06.2020

31.12.9999

arbeidstakerHarSagtOppSelv

Arbeidstaker har sagt opp selv

01.06.2020

31.12.9999

byttetLoenssystemEllerRegnskapsfoerer

Byttet lønnssystem eller regnskapsfører

01.06.2020

31.12.9999

endringIOrganisasjonsstrukturEllerByttetJobbInternt

Endring i organisasjonsstruktur eller byttet jobb internt

01.06.2020

31.12.9999

kontraktEngasjementEllerVikariatErUtloept

Kontrakt, engasjement eller vikariat er utløpt

01.06.2020

31.12.9999

Skipsregistre
Kode Beskrivelse Gyldig fra Gyldig til

nis

Norsk Internasjonalt Skipsregister

01.01.2013

31.12.9999

nor

Norsk Ordinært Skipsregister

01.01.2013

31.12.9999

utl

Utenlandsk skipsregister

01.01.2013

31.12.9999

Skipstyper
Kode Beskrivelse Gyldig fra Gyldig til

annet

Annet

01.01.2013

31.12.9999

boreplattform

Boreplattform

01.01.2013

31.12.9999

turist

Turistskip

01.01.2013

31.12.9999

Varslingskoder
Kode Beskrivelse Gyldig fra Gyldig til

AFIDHI

Arbeidsforholdet har id-historikk

01.05.2020

31.12.9999

ERKONK

Arbeidsgiver har gått konkurs. NAV har satt samme sluttdato som konkursåpningsdato i Konkursregisteret.

01.08.2019

31.12.9999

ERKONK

Sluttdato satt av NAV. Arbeidsgiver har gått konkurs. Sluttdato er samme dato som konkursåpningsdato i Konkursregisteret.

01.01.2017

31.07.2019

EROPPH

Sluttdato satt av NAV. Arbeidsgiver er opphørt i Enhetsregisteret. Sluttdato er satt til datoen foretaket er opphørt.

01.01.2017

31.07.2019

EROPPH

Foretaket er opphørt i Enhetsregisteret. NAV har satt samme sluttdato som datoen foretaket opphørte i Enhetsregisteret.

01.08.2019

31.12.9999

ERVIRK

Sluttdato satt av NAV. Foretaket er overdratt til annen juridisk enhet. Sluttdatoen er satt til dato for overdragelse.

01.01.2017

31.07.2019

ERVIRK

Foretaket er overdratt til en annen juridisk enhet. NAV har satt samme sluttdato som datoen da foretaket ble overdratt i Enhetsregisteret.

01.08.2019

31.12.9999

IBARBG

Arbeidsgiver har ikke bekreftet arbeidsforholdet. NAV har satt sluttdato til siste dato i den kalendermåneden arbeidsgiveren sist bekreftet arbeidsforholdet.

01.08.2019

31.12.9999

IBARBG

Sluttdato satt av NAV. Arbeidsforholdet har ikke blitt bekreftet. Sluttdato er siste dato i kalendermåneden som arbeidsforholdet er bekreftet.

01.01.2017

31.07.2019

IBKAOR

Sluttdato satt av NAV. Arbeidsforholdet er ikke bekreftet gjennom a-ordningen. Sluttdato er satt til 31.12.2014.

01.01.2017

31.12.9999

IBPPAG

Arbeidsgiver har ikke bekreftet permisjon/permitteringen. NAV har satt sluttdato til siste dato i den kalendermåneden arbeidsgiveren sist bekreftet opplysningen.

01.05.2020

31.12.9999

NAVEND

NAV har opprettet eller endret arbeidsforholdet

01.05.2020

31.12.9999

PPIDHI

Permisjonen/Permitteringen har id-historikk

01.05.2020

31.12.9999

Yrkeskoder

For yrkeskoder se yrkeskatalogen

2.5. Bytte av arbeidstakers id

Når arbeidstaker bytter identifikator (typisk overgang fra dnr til fnr), vil tjenestene til NAV og Skatteetaten knytte opplysninger om inntekt og arbeidsforhold til ny identifikator. Ved forspørsel på gammel id (typisk dnr), vil tjenestene svare med den nyeste identifikatoren (typisk fnr). Tjenestene henter informasjon om identifikatorer fra Folkeregisteret.

Når en arbeidsgiver rapporterer a-melding med utenlandsk identifikator (navn, fødselsdato, landkode), typisk før en arbeidstaker har fått dnr, blir dette ikke delt med pensjonsinnretningene før arbeidstakeren har fått en norsk identifikator (enten Dnr eller Fnr). Når arbeidstakeren får en norsk id, blir alle opplysninger knyttet til den nye identifikatoren, også opplysninger som er rapportert i perioder før norsk id var gitt.

2.6. Arbeidsforhold i hht til organisasjonsstrukturen i Enhetsregisteret

I Aa-registeret blir arbeidsforhold alltid registrert på nivå underenheter i organisasjonsstrukturen i Enhetsregisteret, som fremgår under «arbeidssted» i teknisk løsning. Selv om arbeidsgivere med bare en underenhet har hatt mulighet til å rapportere arbeidsforhold på juridisk enhet (hovedenhet), har Aa-registeret alltid lagret arbeidsforholdene på underenheten. Fra 1.1.2021 må alle arbeidsgivere rapportere arbeidsforholdene på underenhetene gjennom a-meldingen.

2.7. Tolkning av arbeidstid i Aa-registeret

Arbeidstiden som rapporteres til a-ordningen og Aa-registeret er den avtalte stillingsprosenten som står i arbeidsavtalen. Den avtalte arbeidstiden rapporteres som «Stillingsprosent» og «Antall timer en full stilling tilsvarer». Sammen gir disse to opplysningene informasjon om hvor mange timer en person har avtalt å arbeide per uke. Opplysningene er obligatorisk å rapportere for alle ordinære og maritime arbeidsforhold, og frivillig å oppgi for frilansere.

I tillegg henter Aa-registeret inn og presenterer informasjon om «Antall timer for timelønnet» fra inntektsdelen av a-meldingen. Dette er antall utbetalte timer som rapporteres sammen med kontantytelsen «timelønn».

Arbeidstiden som presenteres i Aa-registeret er en kombinasjon av avtalt arbeidstid og deler av den utbetalte arbeidstiden, den som er utbetalt som timelønn.

Fra veiledningen i a-ordningen:

“Oppgi stillingsprosent knyttet til fastlønnen. Det den ansatte måtte arbeide utover avtalt stillingsprosent og som lønnes med timelønn skal ikke regnes med i stillingsprosenten. Oppgi timer sammen med kontantytelsen timelønn for delen som blir betalt med timelønn.”

Som oftest er fastlønnen knyttet til den avtalte stillingsprosenten, timene knyttet til timelønnen kommer i tillegg. Men det er ikke alltid en sammenheng mellom den avtalte arbeidstiden som rapporteres til Aa-registeret og hvordan lønnen utbetales. Mange som har avtalt fast arbeidstid får hele eller deler av lønnen utbetalt som timelønn.

Det er en utfordring å tolke arbeidstiden i Aa-registeret når arbeidsgiver oppgir både stillingsprosent og timer, og stillingsprosent er mindre enn 100%:
• Er da stillingsprosenten med eller uten timene?
• Om det også utbetales fastlønn, må det ses i sammenheng

Ved kombinasjon av fastlønn og timelønn er som oftest stillingsprosenten knyttet til fastlønn, mens timene kommer i tillegg.

2.7.1. Opptjeningsperiode knyttet Timer for timelønnet

I a-meldingen kan det oppgis informasjon om opptjeningsperiode for timelønn. Men dette er ikke en obligatorisk opplysning.

Opptjeningsperioden gir informasjon om når lønnen er opptjent/timene er arbeidet. Lønnen kan være opptjent i en annen periode enn måneden a-meldingen gjelder for. NAV bruker informasjon om opptjeningsperiode til å vurdere rettigheter og plikter.

I veiledningen til a-ordningen står det at om lønnen som rapporteres er opptjent over flere måneder, skal opptjeningsperioden og beløpet deles opp, slik at hver utbetaling /opptjeningsperiode faller innenfor en kalendermåned. Ikke alle som rapporterer følger dette prinsippet.

Siden opptjeningsperiode ikke er obligatorisk blir den i en del tilfeller ikke utfylt. Et alternativ er å tolke timene som opptjent i rapporteringsmåneden i slike tilfeller. Men hver enkelt konsument av data fra Aa-registeret må selv vurdere hvordan de skal tolke timer for timelønn som har blank opptjeningsperiode.

2.8. Behandlinger som utføres av NAV i Aa-registeret

2.8.1. Bytte av arbeidsforholdsID - matching

Det skjer at arbeidsgivere bytter arbeidsforholdsID for en arbeidstakers arbeidsforhold, selv om arbeidsforholdene egentlig er de samme. Det skjer f.eks ved bytte av lønns- og personalsystem eller bytte av lønnsfirma. Når NAV mottar arbeidsforhold med en ID en måned og tilsvarende arbeidsforhold for samme person i påfølgende måned hvor arbeidsforholdsIDen er ulik, blir det foretatt en vurdering om arbeidsforholdet er såpass identisk at det er snakk om det samme arbeidsforholdet. Ved høy nok score blir arbeidsforholdet matchet med det som er rapportert tidligere. Da vil OTP motta arbeidsforholdet med tidligere oppgitte arbeidsforholdsID i «idHisotrikk» og sist rapporterte ID i «arbeidsforholdsID». Samtidig vil det fremgå en varslingskode (AAAA) som forteller at arbeidsforholdsIDen er matchet mot en tidligere rapportert ID.

Dersom arbeidsforholdene har såpass ulike dataelementer at det ikke gir høy nok score blir det først rapporterte arbeidsforholdet stående og får påført en maskinell sluttdato etter 3 måneder (se mer maskinelt opphør av arbeidsforhold under). Det sist rapporterte arbeidsforholdet leveres med ny rapportert ID.

2.8.2. Bytte av permisjonsID/PermitteringsID - Matching

Det skjer at arbeidsgivere bytter permisjonsID eller permitteringsID for en arbeidstakers permisjoner/permitteringer, selv om permisjonen/permitteringen egentlig er de samme. Det skjer f.eks ved bytte av lønns- og personalsystem eller bytte av lønnsfirma. Når NAV mottar en permisjon med en ID en måned og en permisjon for samme person i påfølgende måned hvor permisjonsIDen er ulik, blir det foretatt en vurdering om permisjonen er såpass identisk at det er snakk om den samme permisjonen. Ved høy nok score blir permisjonen matchet med det som er rapportert tidligere. Da vil pensjonsinnretningen motta permisjonen med sist rapporterte ID samtidig som det vil fremgå en varslingskode (BBBB) som forteller at permisjonsIDen er matchet mot en tidligere rapportert ID.

Dersom permisjonene har såpass ulike dataelementer at det ikke gir høy nok score blir det først rapporterte permisjonen stående og får påført en maskinell sluttdato etter 3 måneder. Det sist rapporterte permisjonen leveres med ny rapportert ID.

2.8.3. Maskinelt opphør av arbeidsforhold/permisjoner/permitteringer

Det forekommer at arbeidsgivere rapporterer arbeidsforhold i en til flere måneder for en arbeidstaker, men hvor de slutter å rapportere arbeidsforholdet i påfølgende måned(er). I slike tilfeller foretar a-ordningen et sanksjoneringsløp overfor opplysningspliktige siden rapporteringsplikten ikke er oppfylt. I de fleste tilfeller korrigerer arbeidsgivere ved å enten bekrefte arbeidsforholdet med samme eller endrede dataelementer, eller setter en sluttdato for arbeidsforholdet. Dersom opplysningspliktig ikke bekrefter arbeidsforholdet eller melder sluttdato på arbeidsforholdet i løpet av de tre påfølgende månedene etter at arbeidsforholdet sist var bekreftet, setter NAV en maskinell sluttdato til siste dag i måneden hvor arbeidsforholdet sist ble bekreftet. Her vil pensjonsinnretningen motta varslingskoden XXXX

Dersom en opplysningspliktig går konkurs og det finnes ansatte uten sluttdato på konkurstidspunktet i virksomheten, setter NAV en maskinell sluttdato på arbeidsforholdene. Sluttdatoen som benyttes er konkursåpningsdatoen, og denne settes dagen etter at konkursen er åpnet. Pensjonsinnretningen vil da motta varslingskoden YYYY.

Det forekommer at arbeidsgivere rapporterer permisjoner/permitteringer i en til flere måneder for en arbeidstaker, men hvor de slutter å rapportere permisjonen/permitteringen i påfølgende måned(er). Dersom opplysningspliktig ikke bekrefter permisjonen/permitteringen eller melder sluttdato i løpet av de tre påfølgende månedene etter at permisjonen/permitteringen sist var bekreftet, setter NAV maskinell sluttdato til siste dag i måneden hvor permisjonen/permitteringen sist ble bekreftet. Her vil pensjonsinnretningen motta varslingskoden ZZZZ eller QQQQ.

Dersom NAV har satt en maskinell sluttdato og arbeidsgiver på et senere tidspunkt rapporterer reel sluttdato eller bekrefter at arbeidsforholdet fortsatt er aktivt (sluttdatoen ikke gjelder), vil varselet fjernes og opplysningene fremkomme slik arbeidsgiver har rapportert.

2.8.4. Gjenbruk av arbeidsforholdsID - Overlappende ansettelsesperioder

Det finnes arbeidsgivere som rapporterer arbeidsforhold for en ansatt med arbeidsforholdsID X med startdato 1.1.2020 og en sluttdato 31.3.2020. Dersom det går en måned imellom og arbeidsgiveren rapporterer samme person med samme arbeidsforholdsID X med startdato 1.5.2020 blir begge arbeidsforholdene lagret i Aa-registeret uten å bli matchet eller at startdatoen blir flyttet. Dette for å sikre at arbeidstakeren ikke mister arbeidsforholdsperioder uforvarende. Her vil pensjonsinnretningene få oppgitt begge arbeidsforholdene.

Dersom samme arbeidsgiver på et senere tidspunkt rapporterer enda et arbeidsforhold for samme person og med samme arbeidsforholdsID X hvor startdatoen er 15.03.2020 blir ikke arbeidsforholdet registrert i Aa-registeret pga at vi ikke vet hvordan dataene skal forstås. I dette tilfellet vil vi gi en varslingskode XXYY for å fortelle at vi har mottatt arbeidsforhold for personen som ikke er tatt inn i Aa-registeret.

3. OTP

API utviklet for å gi pensjonsinnrettingner tilgang til AA-registeret.

3.2. Miljøer

APIet er tilgjengelig i preprod med syntetiske data og i prod med skarpe data. Merk at preprod er et test- og utviklingsmiljø og kan derfor til tider være ustabilt.

3.2.1. Preprod

https://api-preprod.nav.no/aareg/v1/arbeidsforhold/otp/graphql

3.2.2. Prod

<Ikke i produksjon>

3.3. Skjema

Skjema er tilgengelig for nedlasting her. Det kan også leses ved bruk av Introspection.

3.4. Tilgang

For å benytte APIet må en være registrert hos Maskinporten

Nødvendig scope:

nav:aareg/v1/arbeidsforhold/otp

Vi sjekker også avtalen i Tjenestepensjonsavtale APIet

4. KorrelasjonsId

Alle spørringer som blir behandlet i tjenesten får sin egen unike ID som blir returnert til konsumenten. Denne IDen er tilgjengelig i response-objektet som en del av 'extensions' og returneres uavhengig om det oppstår feil eller ikke.

Formålet med denne IDen er eksempelvis at den kan benyttes dersom det har oppstått en feil eller ved sporing av forespørsler.

Dersom ønskelig kan konsumenter sende inn header feltet 'correlation-id' for å spesifisere en egen ID.

Eksempel på respons hvor konsument har sendt inn headeren 'correlation-id' med verdien 'min-unike-id-123'
{
  "data": "...",
  "extensions": {
    "correlation-id": "min-unike-id-123"
  }
}

5. Tjenester

GraphQL-endepunktet har 2 queries (spørringer):

  • Hente arbeidsforholdoversikter tilhørende en gitt opplysningspliktig og periode

  • Hente detaljer for arbeidsforholdene til en gitt arbeidstaker, opplysningspliktig og periode

5.1. Arbeidsforholdoversikter per opplysningspliktig

Tjeneste for å hente arbeidsforholdoversikter tilhørende en gitt opplysningspliktig og periode.

Denne returnerer et minimum av opplysninger tilknyttet et arbeidsforhold:

  • Arbeidsforholdets ID

  • Arbeidstakers ID

  • Hisoriske IDer for arbeidsforholdet

  • Når arbeidsforholdet sist ble endret

5.1.1. Spørring

query($opplysningspliktigId: ID!, $ansattFraMaaned: String!, $ansattTilMaaned: String) {

    finnArbeidsforholdoversikterPrOpplysningspliktig(opplysningspliktigId: $opplysningspliktigId, ansattFraMaaned: $ansattFraMaaned, ansattTilMaaned: $ansattTilMaaned) {
        id
        arbeidstaker {
            ident
        }
        idHistorikk {
            id
        }
        sistEndret
    }
}

5.1.2. Variabler

Table 1. Variabler for finnArbeidsforholdoversikterPrOpplysningspliktig
Navn Beskrivelse Type Valgfri Eksempelverdi

opplysningspliktigId

Organisasjonsnummeret til den opplysningspliktige (hovedenheten)

String

Nei

81549300

ansattFraMaaned

Angir tidligste dato hvor det foreligger et ansettelsesforhold

String

Nei

2020-01

ansattTilMaaned

Angir seneste dato hvor det foreligger et ansettelsesforhold

String

Ja

2020-01

5.1.3. Eksempel (request: spørring med variabler)

Eksempel på spørring. Merk at opplysningspliktigId er maskert.

JSON støtter ikke en streng over flere linjer og query feltet må derfor ligge i en linje.
{
  "query": "query($opplysningspliktigId: ID!, $ansattFraMaaned: String!, $ansattTilMaaned: String) {finnArbeidsforholdoversikterPrOpplysningspliktig(opplysningspliktigId: $opplysningspliktigId, ansattFraMaaned: $ansattFraMaaned, ansattTilMaaned: $ansattTilMaaned){id arbeidstaker{ident} idHistorikk{id} sistEndret}}",
  "variables": {
    "opplysningspliktigId": "123456789",
    "ansattFraMaaned": "2020-01",
    "ansattTilMaaned": "2020-02"
  }
}

5.1.4. Eksempler (response)

  • arbeidstaker (1)

  • arbeidsforholdoversikt (2)

  • arbeidssted (2) - implisitt

{
  "data": {
    "finnArbeidsforholdoversikterPrOpplysningspliktig": [
      {
        "id": "ARBEIDSFORHOLD_ID_1",
        "arbeidstaker": {
          "ident": "ARBEIDSTAKER_FNR"
        },
        "idHistorikk": [],
        "sistEndret": "2020-01-06T08:58:21"
      },
      {
        "id": "ARBEIDSFORHOLD_ID_3",
        "arbeidstaker": {
          "ident": "ARBEIDSTAKER_FNR"
        },
        "idHistorikk": [
          {
            "id": "ARBEIDSFORHOLD_ID_2"
          }
        ],
        "sistEndret": "2020-01-06T08:57:27"
      }
    ]
  },
  "extensions": {
    "correlation-id": "2666b7ae-79a4-4fb0-8f70-cb6b62e3acc7"
  }
}
  • arbeidstaker (1)

  • arbeidsforholdoversikt (2)

  • arbeidssted (1) - implisitt

  • ansettelsesperiode (2, ikke-overlappende) - implisitt

{
  "data": {
    "finnArbeidsforholdoversikterPrOpplysningspliktig": [
      {
        "id": "ARBEIDSFORHOLD_ID_1",
        "arbeidstaker": {
          "ident": "ARBEIDSTAKER_FNR"
        },
        "idHistorikk": [],
        "sistEndret": "2020-04-17T16:36:32"
      },
      {
        "id": "ARBEIDSFORHOLD_ID_3",
        "arbeidstaker": {
          "ident": "ARBEIDSTAKER_FNR"
        },
        "idHistorikk": [
          {
            "id": "ARBEIDSFORHOLD_ID_2"
          }
        ],
        "sistEndret": "2020-04-17T16:36:32"
      }
    ]
  },
  "extensions": {
    "correlation-id": "874cbff7-a37f-4015-87a1-978cf30bf90c"
  }
}

5.2. Arbeidsforhold pr Arbeidstaker

Tjeneste for å hente detaljer for arbeidsforholdene til en gitt arbeidstaker, opplysningspliktig og periode.

5.2.1. Spørring

query($opplysningspliktigId: ID!, $arbeidstakerId: ID!, $ansattFraMaaned: String!, $ansattTilMaaned: String) {

    finnArbeidsforholdPrArbeidstaker(opplysningspliktigId: $opplysningspliktigId, arbeidstakerId: $arbeidstakerId, ansattFraMaaned: $ansattFraMaaned, ansattTilMaaned: $ansattTilMaaned) {
        id
        type {
            kode
            beskrivelse
        }
        arbeidstaker {
            ident
        }
        arbeidssted {
            type
            ident
        }
        opplysningspliktig {
            type
            ident
        }
        ansettelsesperiode {
            startdato
            sluttdato
            sluttaarsak {
                kode
                beskrivelse
            }
            varsling {
                kode
                beskrivelse
            }
        }
        ansettelsesdetaljer {
            type
            arbeidstidsordning {
                kode
                beskrivelse
            }
            ansettelsesform {
                kode
                beskrivelse
            }
            yrke {
                kode
                beskrivelse
            }
            antallTimerPrUke
            avtaltStillingsprosent
            sisteStillingsprosentendring
            sisteLoennsendring
            rapporteringsmaaneder {
                fra
                til
            }
        }
        permisjoner {
            id
            type {
                kode
                beskrivelse
            }
            startdato
            sluttdato
            prosent
            varsling {
                kode
                beskrivelse
            }
        }
        permitteringer {
            id
            type {
                kode
                beskrivelse
            }
            startdato
            sluttdato
            prosent
            varsling {
                kode
                beskrivelse
            }
        }
        timerMedTimeloenn {
            antall
            startdato
            sluttdato
            rapporteringsmaaned
        }
        idHistorikk {
            id
        }
        varsler {
            entitet
            varsling {
                kode
                beskrivelse
            }
        }
        uuid
        opprettet
        sistBekreftet
        sistEndret
    }
}

5.2.2. Eksempler (response)

  • ordinært arbeidsforhold

  • ansettelsesperiode uten varsling

  • ansettelsesdetaljer (1)

  • permisjoner (0)

  • permitteringer (0)

  • timer-med-timelønn (0)

  • arbeidsforhold-id-historikk (0)

  • varsler (0)

{
  "data": {
    "finnArbeidsforholdPrArbeidstaker": {
      "arbeidsforhold": [
        {
          "id": "ARBEIDSFORHOLD_ID",
          "type": {
            "kode": "ordinaertArbeidsforhold",
            "beskrivelse": "Ordinært arbeidsforhold"
          },
          "arbeidstaker": {
            "ident": "ARBEIDSTAKER_FNR"
          },
          "arbeidssted": {
            "type": "Underenhet",
            "ident": "UNDERENHET_ORG_NR"
          },
          "opplysningspliktig": {
            "type": "Hovedenhet",
            "ident": "HOVEDENHET_ORG_NR"
          },
          "ansettelsesperiode": {
            "startdato": "2019-03-01",
            "sluttdato": null,
            "sluttaarsak": null,
            "varsling": null
          },
          "ansettelsesdetaljer": [
            {
              "type": "Ordinaer",
              "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
              },
              "ansettelsesform": null,
              "yrke": {
                "kode": "5221126",
                "beskrivelse": "BUTIKKMEDARBEIDER"
              },
              "antallTimerPrUke": 37.5,
              "avtaltStillingsprosent": 15.0,
              "sisteStillingsprosentendring": null,
              "sisteLoennsendring": "2019-03-01",
              "rapporteringsmaaneder": {
                "fra": "2019-04",
                "til": null
              }
            }
          ],
          "permisjoner": [],
          "permitteringer": [],
          "timerMedTimeloenn": [],
          "idHistorikk": [],
          "varsler": [],
          "uuid": "37317576-979a-406b-9127-2c53b0111d1a",
          "opprettet": "2019-04-09T11:03:28.690",
          "sistBekreftet": "2019-04-09T11:03:28",
          "sistEndret": "2020-04-17T16:36:33"
        }
      ]
    }
  },
  "extensions": {
    "correlation-id": "ab8bb27a-2d80-4974-9630-e9fbd92cf3c7"
  }
}
  • ordinært arbeidsforhold

  • ansettelsesperiode med sluttårsak

  • ansettelsesdetaljer (2)

  • permisjoner (0)

  • permitteringer (0)

  • timer-med-timelønn (0)

  • arbeidsforhold-id-historikk (0)

  • varsler (0)

{
  "data": {
    "finnArbeidsforholdPrArbeidstaker": {
      "arbeidsforhold": [
        {
          "id": "ARBEIDSFORHOLD_ID",
          "type": {
            "kode": "ordinaertArbeidsforhold",
            "beskrivelse": "Ordinært arbeidsforhold"
          },
          "arbeidstaker": {
            "ident": "ARBEIDSTAKER_FNR"
          },
          "arbeidssted": {
            "type": "Underenhet",
            "ident": "UNDERENHET_ORG_NR"
          },
          "opplysningspliktig": {
            "type": "Hovedenhet",
            "ident": "HOVEDENHET_ORG_NR"
          },
          "ansettelsesperiode": {
            "startdato": "2019-03-14",
            "sluttdato": "2019-04-07",
            "sluttaarsak": {
              "kode": "arbeidstakerHarSagtOppSelv",
              "beskrivelse": "Fant ingen beskrivelse som var gyldig 01.09.2017"
            },
            "varsling": null
          },
          "ansettelsesdetaljer": [
            {
              "type": "Ordinaer",
              "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
              },
              "ansettelsesform": null,
              "yrke": {
                "kode": "3493104",
                "beskrivelse": "SKOLEBIBLIOTEKAR"
              },
              "antallTimerPrUke": 37.5,
              "avtaltStillingsprosent": 45.33,
              "sisteStillingsprosentendring": "2019-03-21",
              "sisteLoennsendring": "2019-03-14",
              "rapporteringsmaaneder": {
                "fra": "2019-03",
                "til": null
              }
            },
            {
              "type": "Ordinaer",
              "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
              },
              "ansettelsesform": null,
              "yrke": {
                "kode": "3493104",
                "beskrivelse": "SKOLEBIBLIOTEKAR"
              },
              "antallTimerPrUke": 37.5,
              "avtaltStillingsprosent": 40.0,
              "sisteStillingsprosentendring": "2019-03-14",
              "sisteLoennsendring": "2019-03-14",
              "rapporteringsmaaneder": {
                "fra": "2019-01",
                "til": "2019-02"
              }
            }
          ],
          "permisjoner": [],
          "permitteringer": [],
          "timerMedTimeloenn": [],
          "idHistorikk": [],
          "varsler": [],
          "uuid": "2e3038bf-442a-479f-9649-b0abfd17a410",
          "opprettet": "2019-04-05T08:44:53.807",
          "sistBekreftet": "2019-04-05T14:57:44",
          "sistEndret": "2019-10-14T13:10:57"
        }
      ]
    }
  },
  "extensions": {
    "correlation-id": "c811c990-9fba-4fab-b302-31922ec0f5fe"
  }
}
  • ordinært arbeidsforhold

  • ansettelsesperiode uten varsling

  • ansettelsesdetaljer (1)

  • permisjoner (1)

  • permitteringer (1)

  • timer-med-timelønn (0)

  • arbeidsforhold-id-historikk (0)

  • varsler (0)

{
  "data": {
    "finnArbeidsforholdPrArbeidstaker": {
      "arbeidsforhold": [
        {
          "id": "ARBEIDSFORHOLD_ID",
          "type": {
            "kode": "ordinaertArbeidsforhold",
            "beskrivelse": "Ordinært arbeidsforhold"
          },
          "arbeidstaker": {
            "ident": "ARBEIDSTAKER_FNR"
          },
          "arbeidssted": {
            "type": "Underenhet",
            "ident": "UNDERENHET_ORG_NR"
          },
          "opplysningspliktig": {
            "type": "Hovedenhet",
            "ident": "HOVEDENHET_ORG_NR"
          },
          "ansettelsesperiode": {
            "startdato": "2018-11-01",
            "sluttdato": null,
            "sluttaarsak": null,
            "varsling": null
          },
          "ansettelsesdetaljer": [
            {
              "type": "Ordinaer",
              "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
              },
              "ansettelsesform": null,
              "yrke": {
                "kode": "1319123",
                "beskrivelse": "DAGLIG LEDER (FÆRRE ENN 10 ANSATTE - REHABILITERING)"
              },
              "antallTimerPrUke": 37.5,
              "avtaltStillingsprosent": 100.0,
              "sisteStillingsprosentendring": null,
              "sisteLoennsendring": "2018-11-01",
              "rapporteringsmaaneder": {
                "fra": "2019-03",
                "til": null
              }
            }
          ],
          "permisjoner": [
            {
              "id": "PERMISJON_ID",
              "type": {
                "kode": "permisjonMedForeldrepenger",
                "beskrivelse": "Permisjon med foreldrepenger"
              },
              "startdato": "2018-11-01",
              "sluttdato": "2019-03-14",
              "prosent": 100.0,
              "varsling": null
            }
          ],
          "permitteringer": [
            {
              "id": "PERMITTERING_ID",
              "type": {
                "kode": "permittering",
                "beskrivelse": "Permittering"
              },
              "startdato": "2019-03-15",
              "sluttdato": null,
              "prosent": 100.0,
              "varsling": null
            }
          ],
          "timerMedTimeloenn": [],
          "idHistorikk": [],
          "varsler": [],
          "uuid": "3a80935e-97d7-4d69-bfb8-f7c1185c121a",
          "opprettet": "2019-03-14T13:57:05.180",
          "sistBekreftet": "2019-04-04T13:19:31",
          "sistEndret": "2019-10-10T10:52:46"
        }
      ]
    }
  },
  "extensions": {
    "correlation-id": "42b43ea9-bd2f-44a4-8aff-3d13aa2cbe6a"
  }
}
  • ordinært arbeidsforhold

  • ansettelsesperiode med varsling

  • ansettelsesdetaljer (1)

  • permisjoner (0)

  • permitteringer (0)

  • timer-med-timelønn (0)

  • arbeidsforhold-id-historikk (1)

  • varsler (2)

{
  "data": {
    "finnArbeidsforholdPrArbeidstaker": {
      "arbeidsforhold": [
        {
          "id": "ARBEIDSFORHOLD_ID",
          "type": {
            "kode": "ordinaertArbeidsforhold",
            "beskrivelse": "Ordinært arbeidsforhold"
          },
          "arbeidstaker": {
            "ident": "ARBEIDSTAKER_FNR"
          },
          "arbeidssted": {
            "type": "Underenhet",
            "ident": "UNDERENHET_ORG_NR"
          },
          "opplysningspliktig": {
            "type": "Hovedenhet",
            "ident": "HOVEDENHET_ORG_NR"
          },
          "ansettelsesperiode": {
            "startdato": "2018-01-01",
            "sluttdato": "2018-11-30",
            "sluttaarsak": null,
            "varsling": {
              "kode": "IBARBG",
              "beskrivelse": "Sluttdato satt av NAV. Arbeidsforholdet har ikke blitt bekreftet. Sluttdato er siste dato i kalendermåneden som arbeidsforholdet er bekreftet."
            }
          },
          "ansettelsesdetaljer": [
            {
              "type": "Ordinaer",
              "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
              },
              "ansettelsesform": null,
              "yrke": {
                "kode": "1210160",
                "beskrivelse": "STYREMEDLEM"
              },
              "antallTimerPrUke": 37.5,
              "avtaltStillingsprosent": 100.0,
              "sisteStillingsprosentendring": "2018-01-01",
              "sisteLoennsendring": "2018-01-01",
              "rapporteringsmaaneder": {
                "fra": "2018-01",
                "til": null
              }
            }
          ],
          "permisjoner": [],
          "permitteringer": [],
          "timerMedTimeloenn": [],
          "idHistorikk": [
            {
              "id": "HISTORISK_ARBEIDSFORHOLD_ID"
            }
          ],
          "varsler": [
            {
              "entitet": "Arbeidsforhold",
              "varsling": {
                "kode": "MATCH",
                "beskrivelse": "Arbeidsforholdet er matchet av NAV og har en historikk for arbeidsforhold-id"
              }
            },
            {
              "entitet": "Ansettelsesperiode",
              "varsling": {
                "kode": "IBARBG",
                "beskrivelse": "Sluttdato satt av NAV. Arbeidsforholdet har ikke blitt bekreftet. Sluttdato er siste dato i kalendermåneden som arbeidsforholdet er bekreftet."
              }
            }
          ],
          "uuid": "a1c61883-bfb9-4cc8-a875-398402317da6",
          "opprettet": "2019-02-27T13:02:30.970",
          "sistBekreftet": "2019-03-06T14:56:29",
          "sistEndret": "2019-03-09T18:12:06"
        }
      ]
    }
  },
  "extensions": {
    "correlation-id": "72441eb6-24bc-4b39-94e9-83176d14ffe0"
  }
}
  • maritimt arbeidsforhold

  • ansettelsesperiode uten varsling

  • ansettelsesdetaljer (1)

  • permisjoner (0)

  • permitteringer (0)

  • timer-med-timelønn (3)

  • arbeidsforhold-id-historikk (0)

  • varsler (0)

{
  "data": {
    "finnArbeidsforholdPrArbeidstaker": {
      "arbeidsforhold": [
        {
          "id": "ARBEIDSFORHOLD_ID",
          "type": {
            "kode": "maritimtArbeidsforhold",
            "beskrivelse": "Maritimt arbeidsforhold"
          },
          "arbeidstaker": {
            "ident": "ARBEIDSTAKER_FNR"
          },
          "arbeidssted": {
            "type": "Underenhet",
            "ident": "UNDERENHET_ORG_NR"
          },
          "opplysningspliktig": {
            "type": "Hovedenhet",
            "ident": "HOVEDENHET_ORG_NR"
          },
          "ansettelsesperiode": {
            "startdato": "2007-03-01",
            "sluttdato": null,
            "sluttaarsak": null,
            "varsling": null
          },
          "ansettelsesdetaljer": [
            {
              "type": "Maritim",
              "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
              },
              "ansettelsesform": null,
              "yrke": {
                "kode": "3141113",
                "beskrivelse": "MASKINSJEF"
              },
              "antallTimerPrUke": 37.0,
              "avtaltStillingsprosent": 100.0,
              "sisteStillingsprosentendring": "2019-01-01",
              "sisteLoennsendring": "2019-01-01",
              "rapporteringsmaaneder": {
                "fra": "2019-01",
                "til": null
              }
            }
          ],
          "permisjoner": [],
          "permitteringer": [],
          "timerMedTimeloenn": [
            {
              "antall": 45.0,
              "startdato": null,
              "sluttdato": null,
              "rapporteringsmaaned": "2019-01"
            },
            {
              "antall": 27.0,
              "startdato": null,
              "sluttdato": null,
              "rapporteringsmaaned": "2019-02"
            },
            {
              "antall": 15.0,
              "startdato": null,
              "sluttdato": null,
              "rapporteringsmaaned": "2019-03"
            }
          ],
          "idHistorikk": [],
          "varsler": [],
          "uuid": "b383adab-114a-46a5-b192-8689e7902c37",
          "opprettet": "2019-02-08T12:29:55.673",
          "sistBekreftet": "2019-04-03T14:36:04",
          "sistEndret": "2019-09-03T15:38:07"
        }
      ]
    }
  },
  "extensions": {
    "correlation-id": "b7e76182-a5a5-40c1-af50-685d043c2a0c"
  }
}

5.3. Feilmeldinger

Requester som feiler vil respondere med en 200 HTTP-status og en json-body med en errors-liste, samt et felt som angir typen feil under "classification".

Table 2. Feilkoder og forklaring
Feilkode Forklaring Classification

AA-051

Ugyldig verdi for "opplysningspliktidId"

ValidationError

AA-052

Ugyldig verdi for "arbeidstakerId"

ValidationError

AA-053

Ugyldig verdi for "ansattFraMaaned"

ValidationError

AA-054

Ugyldig verdi for "ansattTilMaaned"

ValidationError

AA-101

Mangler tilgang for en eller flere perioder

ExecutionAborted

AA-201

En ukjent feil oppstod

*

5.3.1. Eksempler (feilmeldinger)

Tilgang(er) mangler for periode(r)
{
  "errors": [
    {
      "message": "Tilgang(er) mangler",
      "extensions": {
        "errormessages": [
          {
            "code": "AA-101",
            "message": "Ingen tilgang for periode",
            "details": "2016-11"
          },
          {
            "code": "AA-101",
            "message": "Ingen tilgang for periode",
            "details": "2016-12"
          }
        ],
        "classification": "ExecutionAborted"
      }
    }
  ],
  "extensions": {
    "correlation-id": "6e9be4b9-2642-48e8-938c-f2e3d9a97c66"
  }
}
Valideringsfeil for variabelverdi(er)
{
  "errors": [
    {
      "message": "Ugyldig input",
      "extensions": {
        "errormessages": [
          {
            "code": "AA-051",
            "message": "Validering av parameter feilet",
            "details": "opplysningspliktidId"
          },
          {
            "code": "AA-053",
            "message": "Validering av parameter feilet",
            "details": "ansattFraMaaned"
          }
        ],
        "classification": "ValidationError"
      }
    }
  ],
  "extensions": {
    "correlation-id": "9b4457fb-bb0b-4c27-94fa-5d5e4650173e"
  }
}
Valideringsfeil for variabelnavn
{
  "errors": [
    {
      "message": "Variable 'opplysningspliktigId' has coerced Null value for NonNull type 'ID!'",
      "locations": [
        {
          "line": 1,
          "column": 7
        }
      ],
      "extensions": {
        "classification": "ValidationError"
      }
    }
  ],
  "extensions": {
    "correlation-id": "bff3de8f-02a6-438b-9d8f-392495ed99ac"
  }
}

5.4. Filtrering av resultater

For å ikke utlevere data som er utenfor perioden det spørres på utfører vi filtrering på resultatsettet.

Vi benytter ansattFraMaaned og ansattTilMaaned i GraphQL spørringen som grunnlag for filtreringen. Dersom ansattTilMaaned ikke er oppgitt settes denne til nåværende måned.

5.4.1. Arbeidsforhold

For at et arbeidsforhold skal være en del av resultatsettet må det være overlapp mellom søkeperioden og ansettelsesperiodens start- og sluttdato. Dersom sluttdato for ansettelsesperioden ikke er satt er arbeidsforholdet aktivt og alle spørringer som har intervall etter ansettelsesperiodens startdato inkluderes.

Ansettelsesdetaljer

Et arbeidsforhold kan bestå av en rekke ansettelsesdetaljer. Eksempelvis vil det legges til nytt objekt dersom stillingsprosenten endres. Filtrering av ansettelsesdetaljer utføres basert på månedene de ble rapportert.

Det kan oppstå situasjoner hvor ansettelsesperioden har startdato før rapporteringsmånedenes fra-dato. I disse situasjonene returnerer vi de tidligste rapporterte ansettelsesdetaljene.
Permisjoner og Permitteringer

Filtreres basert på start- og sluttdato. Dersom sluttdato er null er permisjonen/permitteringen aktiv og vil inkluderes i alle spørringer som har intervall etter startdato for permisjonen/permitteringen.

Timer med timelønn

Siden start- og sluttdato er ikke pålagt å oppgi ved rapportering utføres filtrering basert på rapporteringsmåned.

5.4.2. Eksempler

5.4.3. Eksempel 1

Datagrunnlag

I AA-registeret har vi registrert følgende opplysninger om et arbeidsforhold:

{
    "id": "ARBEIDSFORHOLD_ID",
    "type": {
        "kode": "ordinaertArbeidsforhold",
        "beskrivelse": "Ordinært arbeidsforhold"
    },
    "arbeidstaker": {
        "ident": "ARBEIDSTAKER_FNR"
    },
    "arbeidssted": {
        "type": "Underenhet",
        "ident": "UNDERENHET_ORG_NR"
    },
    "opplysningspliktig": {
        "type": "Hovedenhet",
        "ident": "HOVEDENHET_ORG_NR"
    },
    "ansettelsesperiode": {
        "startdato": "2019-11-01",
        "sluttdato": null,
        "sluttaarsak": null,
        "varsling": null
    },
    "ansettelsesdetaljer": [
        {
            "type": "Ordinaer",
            "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
            },
            "ansettelsesform": {
                "kode": "fast",
                "beskrivelse": "Fast ansettelse"
            },
            "yrke": {
                "kode": "1228103",
                "beskrivelse": "SJEFSYKEPLEIER"
            },
            "antallTimerPrUke": 37.5,
            "avtaltStillingsprosent": 100.0,
            "sisteStillingsprosentendring": "2020-01-01",
            "sisteLoennsendring": "2019-11-01",
            "rapporteringsmaaneder": {
                "fra": "2020-02",
                "til": null
            }
        },
        {
            "type": "Ordinaer",
            "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
            },
            "ansettelsesform": {
                "kode": "fast",
                "beskrivelse": "Fast ansettelse"
            },
            "yrke": {
                "kode": "1228103",
                "beskrivelse": "SJEFSYKEPLEIER"
            },
            "antallTimerPrUke": 37.5,
            "avtaltStillingsprosent": 50.0,
            "sisteStillingsprosentendring": null,
            "sisteLoennsendring": "2019-11-01",
            "rapporteringsmaaneder": {
                "fra": "2019-11",
                "til": "2020-01"
            }
        }
    ],
    "permisjoner": [
        {
            "id": "PERMISJON_ID",
            "type": {
                "kode": "permisjonMedForeldrepenger",
                "beskrivelse": "Permisjon med foreldrepenger"
            },
            "startdato": "2020-01-20",
            "sluttdato": "2020-01-31",
            "prosent": 100.0,
            "varsling": null
        },
        {
            "id": "PERMISJON_ID",
            "type": {
                "kode": "velferdspermisjon",
                "beskrivelse": "Velferdspermisjon"
            },
            "startdato": "2020-02-20",
            "sluttdato": "2020-03-01",
            "prosent": 100.0,
            "varsling": null
        }
    ],
    "permitteringer": [
        {
            "id": "PERMITTERING_ID",
            "type": {
                "kode": "permittering",
                "beskrivelse": "Permittering"
            },
            "startdato": "2020-03-15",
            "sluttdato": null,
            "prosent": 100.0,
            "varsling": null
        }
    ],
    "timerMedTimeloenn": [
        {
            "antall": 35.0,
            "startdato": null,
            "sluttdato": null,
            "rapporteringsmaaned": "2019-11"
        },
        {
            "antall": 40.0,
            "startdato": null,
            "sluttdato": null,
            "rapporteringsmaaned": "2019-12"
        }
    ],
    "idHistorikk": [],
    "varsler": [],
    "opprettet": "2019-11-16T16:21:27.213",
    "sistBekreftet": "2020-09-22T16:22",
    "sistEndret": "2020-04-02T16:34:58"
}

For å enklere illustrere eksemplene viser tabellen under elementene som inngår i arbeidsforholdet.

Objekt Startdato Sluttdato Rapporteringsmåned Rapportert-fra Rapportert-til

Ansettelsesperiode

01.11.2019

null

-

-

-

Ansettelsesdetaljer 1

-

-

-

2019-11

2020-01

Ansettelsesdetaljer 2

-

-

-

2020-02

null

Permisjon 1

10.01.2020

20.01.2020

-

-

-

Permisjon 2

20.02.2020

01.03.2020

-

-

-

Permittering 1

15.03.2020

null

-

-

-

Timer-med-timelønn 1

null

null

2019-11

-

-

Timer-med-timelønn 2

null

null

2019-12

-

-

Scenario 1
Formål

Ønsker å hente data fra første måned.

Parametre i query
ansattFraMaaned (yyyy-MM) ansattTilMaaned (yyyy-MM)

2019-11

2019-11

Svar fra tjenesten
Objekt Inkluderes Forklaring

Ansettelsesperiode

Ja

startdato er før ansattTilMaaned og sluttdato er null og dermed etter ansattFraMaaned

Ansettelsesdetaljer 1

Ja

rapportert-fra er lik ansattTilMaaned og rapportert-til er null og dermed etter ansattFraMaaned

Ansettelsesdetaljer 2

Nei

rapportert-fra er etter ansattTilMaaned

Permisjon 1

Nei

startdato er etter ansattTilMaaned

Permisjon 2

Nei

startdato er etter ansattTilMaaned

Permittering 1

Nei

startdato er etter ansattTilMaaned

Timer-med-timelønn 1

Ja

rapporteringsmåned er lik ansattTilMaaned og ansattFraMaaned

Timer-med-timelønn 2

Nei

rapporteringsmåned er etter ansattTilMaaned

Scenario 2
Formål

Ønsker å hente data fra nåværende måned.

Parametre i query
ansattFraMaaned ansattTilMaaned

2020-10

2020-10

Svar fra tjenesten
Objekt Inkluderes Forklaring

Ansettelsesperiode

Ja

startdato er før ansattTilMaaned og sluttdato er null og dermed etter ansattFraMaaned

Ansettelsesdetaljer 1

Nei

rapportert-til er før ansattFraMaaned

Ansettelsesdetaljer 2

Ja

rapportert-fra er før ansattFraMaaned og rapportert-til er null og dermed etter ansattFraMaaned

Permisjon 1

Nei

sluttdato er før ansattFraMaaned

Permisjon 2

Nei

sluttdato er før ansattFraMaaned

Permittering 1

Ja

startdato er før ansattTilMaaned og sluttdato er null og dermed etter ansattFraMaaned

Timer-med-timelønn 1

Nei

rapporteringsmåned er før ansattFraMaaned

Timer-med-timelønn 2

Nei

rapporteringsmåned er før ansattFraMaaned

Scenario 3
Formål

Ønsker å hente all informasjon etter stillingsprosenten ble endret

Siden ansattTilMaaned er null blir den satt til nåværende måned (2020-10 i dette scenarioet)
Parametre i query
ansattFraMaaned ansattTilMaaned

2020-01

null

Svar fra tjenesten
Objekt Inkluderes Forklaring

Ansettelsesperiode

Ja

startdato er før ansattTilMaaned og sluttdato er null og dermed etter ansattFraMaaned

Ansettelsesdetaljer 1

Ja

rapportert-fra er før ansattTilMaaned og rapportert-til er lik ansattFraMaaned

Ansettelsesdetaljer 2

Ja

rapportert-fra er før ansattTilMaaned og rapportert-til er null og dermed etter ansattFraMaaned

Permisjon 1

Ja

startdato er før ansattTilMaaned og sluttdato er etter ansattFraMaaned

Permisjon 2

Ja

startdato er før ansattTilMaaned og sluttdato er etter ansattFraMaaned

Permittering 1

Ja

startdato er før ansattTilMaaned og sluttdato er null og dermed etter ansattFraMaaned

Timer-med-timelønn 1

Nei

rapporteringsmaaned er før ansattFraMaaned

Timer-med-timelønn 2

Nei

rapporteringsmaaned er før ansattFraMaaned

5.4.4. Eksempel 2

Datagrunnlag

I AA-registeret har vi registrert følgende opplysninger om et arbeidsforhold:

{
    "id": "ARBEIDSFORHOLD_ID",
    "type": {
        "kode": "ordinaertArbeidsforhold",
        "beskrivelse": "Ordinært arbeidsforhold"
    },
    "arbeidstaker": {
        "ident": "ARBEIDSTAKER_FNR"
    },
    "arbeidssted": {
        "type": "Underenhet",
        "ident": "UNDERENHET_ORG_NR"
    },
    "opplysningspliktig": {
        "type": "Hovedenhet",
        "ident": "HOVEDENHET_ORG_NR"
    },
    "ansettelsesperiode": {
        "startdato": "2016-08-01",
        "sluttdato": "2016-10-31",
        "sluttaarsak": null,
        "varsling": null
    },
    "ansettelsesdetaljer": [
        {
            "type": "Ordinaer",
            "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
            },
            "ansettelsesform": {
                "kode": "fast",
                "beskrivelse": "Fast ansettelse"
            },
            "yrke": {
                "kode": "1228103",
                "beskrivelse": "SJEFSYKEPLEIER"
            },
            "antallTimerPrUke": 37.5,
            "avtaltStillingsprosent": 100.0,
            "sisteStillingsprosentendring": null,
            "sisteLoennsendring": "2016-08-01",
            "rapporteringsmaaneder": {
                "fra": "2016-09",
                "til": null
            }
        }
    ],
    "permisjoner": [],
    "permitteringer": [],
    "timerMedTimeloenn": [
        {
            "antall": 35.0,
            "startdato": "2016-08-01",
            "sluttdato": "2016-08-31",
            "rapporteringsmaaned": "2016-09"
        },
        {
            "antall": 35.0,
            "startdato": "2016-09-01",
            "sluttdato": "2016-09-30",
            "rapporteringsmaaned": "2016-10"
        },
        {
            "antall": 35.0,
            "startdato": "2016-10-01",
            "sluttdato": "2016-10-31",
            "rapporteringsmaaned": "2016-11"
        },
    ],
    "idHistorikk": [],
    "varsler": [],
    "opprettet": "2016-09-06T16:21:27.213",
    "sistBekreftet": "2016-11-02T16:34:58",
    "sistEndret": "2016-11-02T16:34:58"
}

For å enklere illustrere eksemplene viser tabellen under elementene som inngår i arbeidsforholdet.

Objekt Startdato Sluttdato Rapporteringsmåned Rapportert-fra Rapportert-til

Ansettelsesperiode

2016-08-01

2016-10-31

-

-

-

Ansettelsesdetaljer 1

-

-

-

2016-09

null

Timer-med-timelønn 1

2016-08-01

2016-08-31

2016-09

-

-

Timer-med-timelønn 2

2016-09-01

2016-09-30

2016-10

-

-

Timer-med-timelønn 2

2016-10-01

2016-10-31

2016-11

-

-

Scenario 1
Formål

Ønsker å hente data fra første måned.

Parametre i query
ansattFraMaaned (yyyy-MM) ansattTilMaaned (yyyy-MM)

2016-08

2016-08

Svar fra tjenesten
Objekt Inkluderes Forklaring

Ansettelsesperiode

Ja

startdato er før ansattTilMaaned og sluttdato er etter ansattFraMaaned

Ansettelsesdetaljer 1

Ja

UNNTAK:

rapportert-fra er etter ansattTilMaaned å resulterer i ingen overlapp.

Men siden dette resulterer i ingen ansettelsesdetaljer returnerer vi første rapporterte ansettelsesdetaljer.

Timer-med-timelønn 1

Nei

rapporteringsmåned er etter ansattTilMaaned

NB: Selv om start- og sluttdato for timene er innenfor søkeperioden baserer ikke filtreringen seg på disse.

Timer-med-timelønn 2

Nei

rapporteringsmåned er etter ansattTilMaaned

Timer-med-timelønn 3

Nei

rapporteringsmåned er etter ansattTilMaaned

5.4.5. Eksempel 2

Datagrunnlag

I AA-registeret har vi registrert følgende opplysninger om et arbeidsforhold:

{
    "id": "ARBEIDSFORHOLD_ID",
    "type": {
        "kode": "ordinaertArbeidsforhold",
        "beskrivelse": "Ordinært arbeidsforhold"
    },
    "arbeidstaker": {
        "ident": "ARBEIDSTAKER_FNR"
    },
    "arbeidssted": {
        "type": "Underenhet",
        "ident": "UNDERENHET_ORG_NR"
    },
    "opplysningspliktig": {
        "type": "Hovedenhet",
        "ident": "HOVEDENHET_ORG_NR"
    },
    "ansettelsesperiode": {
        "startdato": "2016-08-01",
        "sluttdato": "2016-10-31",
        "sluttaarsak": null,
        "varsling": null
    },
    "ansettelsesdetaljer": [
        {
            "type": "Ordinaer",
            "arbeidstidsordning": {
                "kode": "ikkeSkift",
                "beskrivelse": "Ikke skift"
            },
            "ansettelsesform": {
                "kode": "fast",
                "beskrivelse": "Fast ansettelse"
            },
            "yrke": {
                "kode": "1228103",
                "beskrivelse": "SJEFSYKEPLEIER"
            },
            "antallTimerPrUke": 37.5,
            "avtaltStillingsprosent": 100.0,
            "sisteStillingsprosentendring": null,
            "sisteLoennsendring": "2016-08-01",
            "rapporteringsmaaneder": {
                "fra": "2016-09",
                "til": null
            }
        }
    ],
    "permisjoner": [],
    "permitteringer": [],
    "timerMedTimeloenn": [
        {
            "antall": 35.0,
            "startdato": "2016-08-01",
            "sluttdato": "2016-08-31",
            "rapporteringsmaaned": "2016-09"
        },
        {
            "antall": 35.0,
            "startdato": "2016-09-01",
            "sluttdato": "2016-09-30",
            "rapporteringsmaaned": "2016-10"
        },
        {
            "antall": 35.0,
            "startdato": "2016-10-01",
            "sluttdato": "2016-10-31",
            "rapporteringsmaaned": "2016-11"
        },
    ],
    "idHistorikk": [],
    "varsler": [],
    "opprettet": "2016-09-06T16:21:27.213",
    "sistBekreftet": "2016-11-02T16:34:58",
    "sistEndret": "2016-11-02T16:34:58"
}

For å enklere illustrere eksemplene viser tabellen under elementene som inngår i arbeidsforholdet.

Objekt Startdato Sluttdato Rapporteringsmåned Rapportert-fra Rapportert-til

Ansettelsesperiode

2016-08-01

2016-10-31

-

-

-

Ansettelsesdetaljer 1

-

-

-

2016-09

null

Timer-med-timelønn 1

2016-08-01

2016-08-31

2016-09

-

-

Timer-med-timelønn 2

2016-09-01

2016-09-30

2016-10

-

-

Timer-med-timelønn 2

2016-10-01

2016-10-31

2016-11

-

-

Scenario 1
Formål

Ønsker å hente data fra første måned.

Parametre i query
ansattFraMaaned (yyyy-MM) ansattTilMaaned (yyyy-MM)

2016-08

2016-08

Svar fra tjenesten
Objekt Inkluderes Forklaring

Ansettelsesperiode

Ja

startdato er før ansattTilMaaned og sluttdato er etter ansattFraMaaned

Ansettelsesdetaljer 1

Ja

UNNTAK:

rapportert-fra er etter ansattTilMaaned å resulterer i ingen overlapp.

Men siden dette resulterer i ingen ansettelsesdetaljer returnerer vi første rapporterte ansettelsesdetaljer.

Timer-med-timelønn 1

Nei

rapporteringsmåned er etter ansattTilMaaned

NB: Selv om start- og sluttdato for timene er innenfor søkeperioden baserer ikke filtreringen seg på disse.

Timer-med-timelønn 2

Nei

rapporteringsmåned er etter ansattTilMaaned

Timer-med-timelønn 3

Nei

rapporteringsmåned er etter ansattTilMaaned

Scenario 2
Formål

Ønsker å hente data fra nåværende måned.

Parametre i query
ansattFraMaaned (yyyy-MM) ansattTilMaaned (yyyy-MM)

2020-10

2020-10

Svar fra tjenesten
Objekt Inkluderes Forklaring

Arbeidsforhold

Nei

sluttdato er før ansattFraMaaned og arbeidsforholdet og alle underelementer ekskluderes fra resultatsettet

Appendix A: Verktøy

A.1. GraphQL

Vi benytter GraphQL for oppslag av arbeidsforhold fra Aa-registeret. Dette gir konsumenter muligheten til å spesifisere hvilke felter de ønsker i retur når de utfører en spørring.

A.1.1. Skjemadefinisjon

Tegn og Typer

Skjemaet definerer et sett med typer som GraphQL benytter når man utfører en spørring

Kort forkaring av tegn:

[type] = Liste av type
f.eks:
arbeidsforhold: [Arbeidsforhold]

type = Enkelt objekt
f.eks:
arbeidsavtale: Arbeidsavtale

! = non-nullable
f.eks:
arbeidsforhold: [Arbeidsforhold!]!
Vår løsning benytter ikke non-nullable.Med andre ord kan ALLE typer og lister være null!

Eksempler på non-nullable

arbeidsforhold: Arbeidsforhold!
- Forklaring:
'Arbeidsforhold' kan aldri være null / har alltid en verdi
- Eksempler:
"arbeidsforhold": { ...Data... }    // gyldig
"arbeidsforhold": null              // ugyldig

arbeidsforhold: [Arbeidsforhold]!
- Forklaring:
'Arbeidsforhold' kan være null, men ikke listen
- Eksempler:
"arbeidsforhold": { [] }             // gyldig
"arbeidsforhold": { [null] }         // gyldig
"arbeidsforhold": { [...Data...] }   // gyldig
"arbeidsforhold": null               // ugyldig

arbeidsforhold: [Arbeidsforhold!]!
- Forklaring:
Både 'Arbeidsforhold' og listen kan aldri være null / har alltid en verdi
- Eksempler:
"arbeidsforhold": { [...Data...] }          // gyldig
"arbeidsforhold": { [...Data...], null }    // ugyldig
"arbeidsforhold": { [null] }                // ugyldig
"arbeidsforhold": null                      // ugyldig

arbeidsforhold: [Arbeidsforhold]
- Forklaring:
Alt kan være null

Typer kan være primitiv (f.eks: String) eller et objekt som inneholder andre typer.La oss se på et utdrag fra skjemaet:

type Ansettelsesperiode {
    startdato: Date
    sluttdato: Date
    sluttaarsak: Kodeverksentitet
    varsling: Kodeverksentitet
}

Som vist over er inneholder typen 'Ansettelsesperiode' 4 andre typer. Dersom vi ser nærmere på feltet 'sluttaarsak' ser vi at den er av typen 'Kodeverksentitet'

"""
Description
"""
type Kodeverksentitet {
    """
    Kode
    """
    kode: String
    """
    Beskrivelse fra kodeverk
    """
    beskrivelse: String
}

Som vi ser inneholder typen 'Kodeverksentitet' 2 felter: kode og beskrivelse. I tillegg har hvert felt/type beskrevet ved bruk av følgende format: """…​""". Dette er verdier man får returnert dersom man ber om 'description' ved Introspection

A.1.2. Introspection

Introspection er en måte å lese skjema på.Ved en spørring til GraphQL endepunket kan man enklet få forklart blandt annet tilgjengelige spørringer (queries) og forklaring av typer.

For full beskrivelse av Introspection kan man lese dokumentasjonen på GraphQLs hjemmeside

Her er en enkel spørring for å få tak i alle tilgjengelige spørringer (queries).

{
  __schema {
    queryType {
      name
    }
  }
}

Dersom man ønsker å forklart f.eks 'Arbeidsforholdoversikt' kan man sende denne spørringen:

{
    __type(name: "Arbeidsforholdoversikt") {
        name
        description
        fields {
            name
            description
        }
    }
}

A.1.3. Verktøy for testing

Vi anbefaller nyere versjoner av Postman for testing eller for å bli kjent med GraphQL.

For vår tjeneste kreves det et gyldig token fra Maskinporten.

Ikke opprett konto/logg inn i Postman da den cacher resultatsettet og da potensielt lekker data. Det er en litt skjult "skip registration" knapp på introduksjons-siden.

A.1.4. Eksempelspørringer

JSON støtter ikke en streng over flere linjer og eksemplene vil derfor fremstå som uoversiktlig. Hele "query" feltet må derfor ligge i en linje.
Eksempel på gyldig query
{
  "query": "query($opplysningspliktigId: ID!, $arbeidstakerId: ID!, $ansattFraMaaned: String!, $ansattTilMaaned: String) {finnArbeidsforholdPrArbeidstaker(opplysningspliktigId: $opplysningspliktigId, arbeidstakerId: $arbeidstakerId, ansattFraMaaned: $ansattFraMaaned, ansattTilMaaned: $ansattTilMaaned) {id type{kode beskrivelse} arbeidstaker{ident} arbeidssted{type ident} opplysningspliktig{type ident} ansettelsesperiode{startdato sluttdato sluttaarsak{kode beskrivelse} varsling{kode beskrivelse}} ansettelsesdetaljer0{type arbeidstidsordning{kode beskrivelse} ansettelsesform{kode beskrivelse} yrke{kode beskrivelse} antallTimerPrUke avtaltStillingsprosent sisteStillingsprosentendring sisteLoennsendring rapporteringsmaaneder{fra til}} permisjoner{id type{kode beskrivelse} startdato sluttdato prosent varsling{kode beskrivelse}} permitteringer{id type{kode beskrivelse} startdato sluttdato prosent varsling{kode beskrivelse}} timerMedTimeloenn{antall startdato sluttdato rapporteringsmaaned} idHistorikk{id} varsler{entitet varsling{kode beskrivelse}}opprettet sistBekreftet sistEndret}}",
  "variables": {
    "opplysningspliktigId": "123456789",
    "arbeidstakerId": "12345678912",
    "ansattFraMaaned": "2020-01",
    "ansattTilMaaned": "2020-02"
  }
}
Samme spørring som eksempelet over, men med gal formattering.
{
  "query": "query($opplysningspliktigId: ID!, $arbeidstakerId: ID!, $ansattFraMaaned: String!, $ansattTilMaaned: String) {
finnArbeidsforholdPrArbeidstaker(opplysningspliktigId: $opplysningspliktigId, arbeidstakerId: $arbeidstakerId, ansattFraMaaned: $ansattFraMaaned, ansattTilMaaned: $ansattTilMaaned) {
            id
            type {
                kode
                beskrivelse
            }
            arbeidstaker {
                ident
            }
            arbeidssted {
                type
                ident
            }
            opplysningspliktig {
                type
                ident
            }
            ansettelsesperiode {
                startdato
                sluttdato
                sluttaarsak {
                    kode
                    beskrivelse
                }
                varsling {
                    kode
                    beskrivelse
                }
            }
            arbeidsavtaler {
                type
                arbeidstidsordning {
                    kode
                    beskrivelse
                }
                ansettelsesform {
                    kode
                    beskrivelse
                }
                yrke {
                    kode
                    beskrivelse
                }
                antallTimerPrUke
                avtaltStillingsprosent
                sisteStillingsprosentendring
                sisteLoennsendring
                gyldighetsperiode {
                    startdato
                    sluttdato
                }
            }
            permisjoner {
                id
                type {
                    kode
                    beskrivelse
                }
                startdato
                sluttdato
                prosent
                varsling {
                    kode
                    beskrivelse
                }
            }
            permitteringer {
                id
                type {
                    kode
                    beskrivelse
                }
                startdato
                sluttdato
                prosent
                varsling {
                    kode
                    beskrivelse
                }
            }
            timerMedTimeloenn {
                antall
                startdato
                sluttdato
                rapporteringsmaaned
            }
            idHistorikk {
                id
            }
            varsler {
                entitet
                varsling {
                    kode
                    beskrivelse
                }
            }
            opprettet
            sistBekreftet
            sistEndret
        }
    }",
  "variables": {
    "opplysningspliktigId": "123456789",
    "arbeidstakerId": "12345678912",
    "ansattFraMaaned": "2020-01",
    "ansattTilMaaned": "2020-02"
  }
}