API-sleutel aanmaken
- Open in APIboard Analyseren en kies API.
- Kies Nieuwe API-sleutel (of Sleutel aanmaken).
- Geef de sleutel een herkenbare naam, bijvoorbeeld “Power BI-koppeling”, en kies hoe lang hij houdbaar is: 30 dagen, 90 dagen (standaard), 180 dagen of 1 jaar.
- Kopieer de sleutel direct. Hij wordt maar één keer getoond; daarna kun je hem ook als beheerder niet meer inzien.
Een sleutel aanmaken kan als beheerder of lid van je organisatie. Gebruikers met alleen leesrechten zien de API-pagina niet.
Een sleutel begint met apib_live_, gevolgd door 48 tekens (cijfers en de letters a t/m f).
De sleutel meesturen
Stuur de sleutel bij elke aanvraag mee als Authorization-header:
Authorization: Bearer apib_live_JOUW_SLEUTEL
Stuur de sleutel alleen vanuit een server of een tool op je eigen computer. De API accepteert geen aanvragen vanuit JavaScript in een browser (er zijn bewust geen CORS-headers), zodat een sleutel nooit in een webpagina terechtkomt.
Wat een sleutel mag
Een sleutel geeft leestoegang tot de data van je eigen organisatie, nooit tot die van een
andere. Heb je meerdere administraties gekoppeld, dan krijg je standaard de rijen van
al die administraties terug; met connection beperk je dat tot één administratie, zie
Een aanvraag opbouwen.
De sleutel werkt alleen zolang je proefperiode loopt of je abonnement actief is. Daarna
krijg je 403 subscription_inactive, zie Foutafhandeling.
Sleutel intrekken of verwijderen
Op dezelfde pagina trek je een sleutel in. Elke tool die hem gebruikt verliest direct
toegang en krijgt 401 invalid_key; dat kan niet ongedaan worden gemaakt. Een verlopen
sleutel wordt op dezelfde manier geweigerd.
Onze tip: gebruik een aparte sleutel per integratie, met een korte houdbaarheid. Zo weet je bij problemen precies welke sleutel je moet intrekken zonder andere integraties te raken.
Aanvraag
GET https://app.apiboard.nl/api/v1/e-boekhouden/facturen?limit=1 HTTP/1.1
Host: app.apiboard.nl
Authorization: Bearer apib_live_JOUW_SLEUTEL curl -H "Authorization: Bearer apib_live_JOUW_SLEUTEL" \
"https://app.apiboard.nl/api/v1/e-boekhouden/facturen?limit=1" import requests
TOKEN = "apib_live_JOUW_SLEUTEL"
URL = "https://app.apiboard.nl/api/v1/e-boekhouden/facturen"
resp = requests.get(URL, params={"limit": 1}, headers={"Authorization": f"Bearer {TOKEN}"})
resp.raise_for_status()
body = resp.json()
for rij in body["data"]:
print(rij)
print("Volgende pagina:", body["next_cursor"]) let
Basis = "https://app.apiboard.nl",
Pad = "/api/v1/e-boekhouden/facturen",
Token = "apib_live_JOUW_SLEUTEL",
Filters = [],
HaalPaginaOp = (cursor as nullable text) =>
Json.Document(Web.Contents(Basis, [
RelativePath = Pad,
Query = if cursor = null then Filters else Record.AddField(Filters, "cursor", cursor),
Headers = [Authorization = "Bearer " & Token]
])),
// Volg next_cursor tot die null is; de pagina met next_cursor = null telt ook mee.
Paginas = List.Generate(
() => HaalPaginaOp(null),
each _ <> null,
each if [next_cursor] = null then null else HaalPaginaOp([next_cursor]),
each [data]
),
AlleRijen = List.Combine(Paginas),
Tabel = if List.IsEmpty(AlleRijen)
then #table({"id", "synced_at"}, {})
else Table.FromRecords(AlleRijen, null, MissingField.UseNull),
// Dedupliceer op id: eerst de nieuwste versie bovenaan, dan houdt Distinct die.
// Verwijder daarna rijen die bij de bron verwijderd zijn.
NieuwsteEerst = Table.Buffer(Table.Sort(Tabel, {{"synced_at", Order.Descending}})),
ZonderDubbel = Table.Distinct(NieuwsteEerst, {"id"}),
ZonderVerwijderd = Table.SelectRows(ZonderDubbel, each Record.FieldOrDefault(_, "bron_verwijderd_op", null) = null)
in
ZonderVerwijderd Was dit artikel behulpzaam?