Main content

Een application programming interface (API) is een gestructureerde en gedocumenteerde verzameling definities voor communicatie tussen applicaties (computerprogramma's). Via API's kunnen applicaties bijvoorbeeld gegevens uitwisselen. Zo kan Funda een applicatie als Google Maps gebruiken om op een kaart te laten zien waar in Nederland huizen te koop staan. De Funda-website of app 'praat' dan met Google Maps voor kaartgegevens en voegt daar eigen gegevens aan toe (huizen die te koop staan).

API-standaarden

Voor het ontwikkelen van API's en de beveiliging van de gebruikerstoegang tot API's bestaan standaarden. Logius beheert twee van die API-standaarden:

  • REST-API Design Rules (ADR)
  • OAuth-toepassingsprofiel voor de Nederlandse overheid (NL Gov OAuth-profiel)

Voor wie zijn deze standaarden?

De standaarden staan op de lijst met verplichte open standaarden van het Forum Standaardisatie.

Dit betekent dat de standaard REST-API Design Rules moet worden toegepast bij het aanbieden van REST-API’s voor het ontsluiten van overheidsinformatie of functionaliteit. Het NL GOV OAuth-profiel moet worden toegepast wanneer rechthebbende gebruikers of 'resource owners' van een applicatie via impliciete of expliciete toestemming een dienst van een derde toegang geven tot die applicatie om gegevens via een REST-API te gebruiken.

REST-API Design Rules

De REST-API Design Rules (ADR) zijn een standaard voor het ontwikkelen van zogenoemde REST-API's. REST staat voor Representational state transfer. Het is een techniek die zich in de laatste tien jaar heeft ontwikkeld. REST-API's doen voor applicaties wat websites voor mensen doen: websites presenteren informatie aan mensen, REST-API's maken applicaties en gegevens via internet beschikbaar voor andere applicaties. De ADR zijn een verzameling basisregels voor structuur en naamgeving van REST-API's.

De overheid gebruikt REST-API's voor koppelingen met andere overheden, bedrijven en ook met burgers, bijvoorbeeld via mobiele apps of webapps die aangeboden worden door bedrijven of overheden zelf. REST-API's maken het voor ontwikkelaars gemakkelijker om betrouwbare applicaties te ontwikkelen met API's van de overheid. De REST-ADR-standaard is daarbij een extra hulpmiddel.

De REST-API Design Rules (ADR) hebben tot doel om meer uniformiteit te brengen in de manier waarop de overheid REST-API's aanbiedt. Met dit doel beschrijft de standaard een aantal basisregels voor het structureren en documenteren van REST-API's. De ADR moeten toegepast worden daar waar de overheid REST-API's inzet. Het gebruik van REST-API's bij het ontsluiten van gegevens of functionaliteit is op zichzelf niet verplicht.

NL Gov OAuth profiel

OAuth is een beveiligingstandaard voor het autoriseren van toegang tot REST API’s. Het NL GOV-profiel op OAuth 2.0 legt bindende afspraken vast over het gebruik van de standaard OAuth 2.0 bij de Nederlandse overheid. In combinatie met onderliggende standaard OAuth 2.0 zorgt het NL GOV-profiel ervoor dat de autorisatie van gebruikers van REST-API's van de overheid op een uniforme en eenduidige manier gebeurt.

OAuth 2.0 is een open standaard voor de beveiliging van applicaties die gegevens uitwisselen met behulp van REST-API’s. Met OAuth 2.0 kunnen gebruikers een website of webapplicatie autoriseren om hun persoonlijke gegevens via een REST-API op te halen bij een ander systeem, zonder daarbij hun gebruikersnaam en wachtwoord uit handen te geven. OAuth 2.0 maakt hiervoor gebruik van een techniek (via tokens) die toegang geeft tot specifieke gegevens van een gebruikersaccount voor een bepaalde duur.

OAuth 2.0 is een generieke standaard die meestal nog aanvullende afspraken vereist voor de toepassing in specifieke domeinen. Het NL Gov OAuth-profiel legt dit soort nadere afspraken vast voor het gebruik van OAuth 2.0 bij de Nederlandse overheid. Zo bepaalt het profiel hoe applicaties zich bij elkaar moeten registreren en hoe autorisatiecodes veilig uitgewisseld moeten worden. OAuth 2.0 laat daarin bijvoorbeeld veel implementatieopties vrij. Dit komt de interoperabiliteit niet ten goede, daarom beperkt het NL Gov OAuth-profiel het aantal opties.