# API: een afgesproken manier om iets te vragen [Begrippen uitgelegd](LEESMIJ.md) **API** betekent *Application Programming Interface*. Een API beschrijft hoe een stuk software een ander stuk om een taak kan vragen. Dat kan een kleine groep functies zijn met duidelijke namen, invoer, antwoorden en foutregels. Denk aan een bibliotheekbalie. Je stelt een vraag op een manier die de medewerker begrijpt. Je hoeft niet te weten hoe achter de balie iedere plank is ingericht. ## Een voorbeeld in Pliro ```pliro # taal: nl zeg lengte(["rood", "blauw", "groen"]) ``` Het programma vraagt `lengte` om de onderdelen op het hoogste lijstniveau te tellen. Het antwoord is `3`. De [functiereferentie](../ingebouwde-functies/lengte.md) hoort bij de API-documentatie: ze vertelt welke invoer is toegestaan en wat de aanroep teruggeeft. Een **ingebouwde functie** wordt door de standaardbibliotheek geleverd. Je definieert haar dus niet zelf in de broncode. Vertaalde Pliro-namen komen nog steeds bij dezelfde canonieke bewerking uit. ## Een API hoeft geen internet te gebruiken Teken-, bewaar- en tekstfuncties kunnen allemaal API's zijn. Een **web-API** voegt communicatie met een andere dienst via een netwerk toe. Een artikel over web-API's betekent niet dat Pliro willekeurige netwerktoegang of een ingebouwde functie `fetch` biedt. Een API is een afspraak, niet alleen een functienaam. Grenzen, ondersteunde omgevingen en mogelijke fouten zijn net zo belangrijk als een geslaagd voorbeeld. Zoek in de referentie van `lengte` de invoer en terugkeerwaarde op. Wat hoort er te gebeuren als je een Number meegeeft in plaats van een lijst? [Parameters](parameters-en-argumenten.md) ยท [Canonieke identiteit](canonieke-identiteit.md)