Het Dataplatform van gemeente Amsterdam gaat het gebruik van een API key bij het gebruik van API's verplicht stellen. Hiermee wil het Dataplatform inzicht krijgen wie gebruik maakt van haar APIs, zodat het Dataplatform kan communiceren over updates en wijzigingen in de API's. Eventuele wijzigingen in de API's kunnen dan tijdig geïmplementeerd worden in uw systemen. Dit gaat gelden voor alle zogenaamde 'DSO API's' van het Dataplatform van gemeente Amsterdam.

Het gebruik van een API key bij de aanroep van een API van het Dataplatform van gemeente Amsterdam is vanaf half september optioneel. In overleg met de dataorganisatie wordt een deadline vastgesteld voor het moment vanaf wanneer de API keys verplicht worden. U kunt de API's van het Dataplatform dan niet meer gebruiken zonder een API key mee te geven.

Dit heeft gevolgen voor uw systemen!

Vraag tijdig een API key aan om uw systemen hierop aan te passen. U kunt met dit formulier een API key aanvragen.

Minder velden ontvangen

Met de ?_fields= parameter wordt de grootte van de resultaten ingeperkt tot enkel de relevante velden die de client nodig heeft. Dit geeft betere performance, voor zowel de client als server. Er zijn een aantal notatievormen mogelijk:

Parameter Werking
?_fields={veld1},{veld2} Alleen opgegeven velden worden teruggegeven.
?_fields=-{veld1},-{veld2} De uitgesloten velden worden NIET teruggegeven.
?_fields={veld1},{veld2.subveld} Alleen opgegeven velden van relaties worden terugegeven.
?_fields={veld1},-{veld2.subveld} Alleen veld1, maar alles van veld2 behalve het subveld.

Wanneer je alleen specifieke velden opgeeft, wordt de rest weggelaten:

curl 'https://api.data.amsterdam.nl/v1/fietspaaltjes/fietspaaltjes/?_fields=geometry,soortPaaltje'

Met het min-teken wordt aangegeven dat alle velden worden teruggegeven, met uitzondering van het opgegeven veld:

curl 'https://api.data.amsterdam.nl/v1/fietspaaltjes/fietspaaltjes/?_fields=-area,-noodzaak'

Wanneer er relaties worden teruggegeven (zowel geneste structuren, als ingesloten relaties met ?_expandScope), werkt de ?_fields= logica hiervoor ook:

curl 'https://api.data.amsterdam.nl/v1/bag/woonplaatsen/?_expandScope=heeftDossier.heeftBrondocumenten&_fields=naam,heeftDossier,heeftDossier.heeftBrondocumenten.documentnummer'

Per niveau kunnen velden worden ingesloten en uitgesloten. Het opgeven van een geneste uitsluiting betekend dat het hoofdobject zelf wel ingesloten wordt.