Skip to main content

API-kontrakt

Alle APIene i denne katalogen har en angitt livssyklus-fase og stabilitetsnivå, se tabellen over. Merk at enkelte deler av et API kan ha et stabilitetsnivå som avviker fra det som er angitt for APIet som helhet. Det skal i så fall være tydelig markert i maskinlesbar dokumentasjon eller annen teknisk dokumentasjon hvilke deler av APIet som har et avvikende stabilitetsnivå. Når du tar i bruk ett av APIene i katalogen, aksepterer du API-kontrakten. Sikts forpliktelser i henhold til kontrakten er som følger:

Stabilitetsnivåer

Stabilt nivå

  • Sikt forplikter seg til å levere all funksjonalitet som er beskrevet i maskinlesbar API-dokumentasjon og/eller tilsvarende teknisk dokumentasjon til og med neste hovedversjon av API-katalogen.
  • Ikke-bakoverkompatible endringer kan kun gjøres i forbindelse med produksjonssetting av ny hovedversjon av API-katalogen.
  • Bakoverkompatible endringer spesifiseres og bygges fortløpende. De lanseres så fort de er ferdige.
  • Ikke-bakoverkompatible endringer kan kun gjøres dersom de ble varslet før produksjonssetting av forrige hovedversjon av API-katalogen.
  • Ikke-bakoverkompatible endringer kan varsles når som helst i løpet av en hovedversjon.

Beta-nivå

  • Sikt forplikter seg til å levere maskinlesbar API-dokumentasjon og/eller tilsvarende teknisk dokumentasjon for all funksjonalitet i APIet.
  • APIet kan inneholde kjente og ukjente feil
  • Alle endringer spesifiseres og bygges fortløpende. De lanseres så fort de er ferdige.
  • Ikke-bakoverkompatible endringer skal varsles minimum 2 uker før produksjonssetting.

Eksperimentelt nivå

  • Det kan eksistere maskinlesbar API-dokumentasjon og/eller tilsvarende teknisk dokumentasjon for hele eller deler av APIet
  • APIet kan inneholde kjente og ukjente feil
  • Alle endringer spesifiseres og bygges fortløpende. De lanseres så fort de er ferdige.
  • Ikke-bakoverkompatible endringer kan produksjonssettes uten forvarsel.
Eksperimentelt nivå er ustabil

Legg merke til at dette stabilitetsnivået åpner opp for bakoverinkompatible endringer uten varsel. Poenget med dette nivået er at det lar oss publisere forslag til skjemadesign som vi kan diskutere med konsumenter og endre fortløpende etterhvert som vi lærer. Det er ikke tenkt at noen skal utvikle mot API på dette kontraktsnivået.

Dersom du har behov for funksjonalitet som ligger på dette kontraktsnivået må du ta kontakt og be om at funksjonaliteten løftes til beta. Se under.

Fremgangsmåte for å løfte stabilitetsnivå

  1. Ny funksjonalitet blir normalt først lagt ut i test- og produksjonsmiljøene på eksperimentelt nivå. Her kan du utforske funksjonaliteten og vurdere om du ønsker å ta den i bruk.
  2. Du kan be om at funksjonaliteten gjøres tilgjengelig på beta-nivå. Vi ønsker da at dere gir oss mer informasjon om hvilket behov dere vil løse med den gitte funksjonaliteten. Vi vil da vurdere om funksjonaliteten er klar for å løftes, og eventuelt gjøre nødvendige endringer. I beta-test-perioden kan vi gjøre endringer i APIet i samarbeid med deg.
  3. Når du er fornøyd med beta-testen, kan du be om at funksjonaliteten løftes til stabilt nivå. Vi vil da igjen vurdere om funksjonaliteten er klar for å løftes, og eventuelt gjøre nødvendige endringer.