Authenticatie

Bijgewerkt op 7 oktober 2026 · Gepubliceerd op 2 september 2026

API-sleutel aanmaken

  1. Open in APIboard Analyseren en kies API.
  2. Kies Nieuwe API-sleutel (of Sleutel aanmaken).
  3. 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.
  4. 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?