Skip to main content

FS GraphQL API

FS GraphQL API er et API som kan brukes til å utveksle data med Felles studentsystem, og som etterhvert skal støtte alle vesentlige arbeidsprosesser innenfor det studieadministrative området. FS GraphQL bygges for å kunne støtte både applikasjonbehov og integrasjonsbehov.

URL til GraphQL-endepunktet

  • I produksjonsmiljøet: https://api.fellesstudentsystem.no/graphql/
  • I testmiljøet: https://api-test.fellesstudentsystem.no/graphql/

Slik får du tilgang

Introspeksjon og testing av spørringer

Selv om APIet er i produksjon, er mange felter fortsatt på eksperimentell- eller beta-kontrakt

Ved introspeksjon og testing må du derfor sette headere for beta og eksperimentell funksjonalitet (se under) for å få noe tilbake fra APIet. Her kan du lese mer om hvordan du går fram for å få løftet funksjonalitet opp i beta eller full produksjon

Vi tilbyr to verktøy for å utforske GraphQL-APIet og API-dokumentasjonen. For å få tilgang til disse verktøyene, må du ha en API-bruker med tilgang til APIet:

GraphQL Voyager

GraphQL Voyager gir deg en visualisering av GraphQL-skjemaet, med mulighet for å utforske grafen og søke i dokumentasjonen.

GraphiQL

GraphiQL gir også mulighet til å utforske GraphQL-skjemaet og dokumentasjonen, men har i tillegg et verktøy for å bygge og utføre spørringer mot APIet.

Tidlig tilgang til funksjonalitet under utvikling

Vi gir tidlig tilgang til funksjonalitet som er under utvikling, både i test- og produksjonsmiljøet. For å unngå at noen tar i bruk uferdig funksjonalitet ved et uhell, er slik funksjonalitet opt-in, det vil si at må sette Feature-Flags-headeren for å få med de delene av APIet som ikke er i full produksjon. Verdien for headeren skal være en kommaseparert liste av funksjonalitet som skal være påslått.

I utgangspunktet skiller vi på statusene full produksjon, beta og eksperimentell, som samsvarer med de tre API-kontraktene som tilbys i FS-plattformen. Vi kan også innføre andre statuser til spesifikke formål. Kunder som er med og tester, vil i så fall få beskjed direkte om verdien headeren skal inneholde.

Tilgang tilHeader
Produksjon
Produksjon og betaFeature-Flags: beta
Produksjon, beta og eksperimentellFeature-Flags: beta,experimental

Hvis du ønsker eksperimentell funksjonalitet, skal du alltid angi både beta og experimental i headeren. Dette er for å unngå at spørringen din brekker hvis felter blir flyttet til beta uten at du er klar over det.

I Voyager kan du sette headerne med URL-parameteren ?flags, som gir oss følgende lenker:

I produksjonsmiljøet:

I testmiljøet:

I GraphiQL setter du headeren direkte i grensesnittet. Headeren må være JSON-formatert slik:

{"Feature-Flags":"beta,experimental"}

Endringslogg

Nyttige ressurser

Følgende kan være nyttige ressurser for å forstå hvordan man jobber med GraphQL: