Sleutel-endpoints vereisen een
x-api-key header.
Vraag een sleutel aan via dennis@aroundmyroom.com.
Ranglijsten
Beste tijden per zwemmer per event. Vrij toegankelijk, geen sleutel nodig.
| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
distance | integer | vereist | Afstand in meters — bijv. 50, 100, 200, 400, 800, 1500 |
stroke | string | vereist | Slag: Fr / Bk / Br / Bu / Me of voluit (Freestyle, Backstroke, Breaststroke, Butterfly, Medley) |
course | string | vereist | LCM (lange baan / 50m) of SCM (korte baan / 25m) |
gender | string | optioneel | M (heren) of F (dames) — standaard beide |
year | integer | optioneel | Filter op geboortejaar zwemmer |
from | date | optioneel | Resultaten vanaf datum (YYYY-MM-DD) |
until | date | optioneel | Resultaten tot en met datum (YYYY-MM-DD) |
limit | integer | optioneel | Aantal resultaten (standaard 25, max 200) |
offset | integer | optioneel | Paginering offset (standaard 0) |
lap | boolean | optioneel | Toon lap/split-events i.p.v. hoofdevent (standaard false) |
curl "https://zwembase.nl/api/v1/public/rankings?distance=100&stroke=Fr&course=LCM&gender=M&limit=25"
NJK Meerkamp
Publieke NJK-ranglijsten op basis van WA-punten. Vrij toegankelijk, geen sleutel nodig.
curl "https://zwembase.nl/api/v1/public/njk/editions"
| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
editionId | integer | vereist | ID van de NJK editie (zie /njk/editions) |
curl "https://zwembase.nl/api/v1/public/njk/events?editionId=1"
| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
editionId | integer | vereist | ID van de NJK editie |
gender | string | vereist | M (heren) of F (dames) |
limit | integer | optioneel | Aantal resultaten (standaard 50) |
offset | integer | optioneel | Paginering offset |
curl "https://zwembase.nl/api/v1/public/njk/rankings?editionId=1&gender=M"
Limieten & Kwalificaties
Kwalificatielimieten en gehaalde tijden per kampioenschap. Vrij toegankelijk, geen sleutel nodig.
Let op: de ruwe limietdata (tijden per onderdeel) is niet publiek beschikbaar — alleen de resultaten.
curl "https://zwembase.nl/api/v1/public/limits/meets"
| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
:id (path) | integer | vereist | ID van het kampioenschap (zie /limits/meets) |
q (query) | string | optioneel | Filter op naam van de zwemmer (minimaal 2 tekens) |
curl "https://zwembase.nl/api/v1/public/limits/meets/5/swimmers" curl "https://zwembase.nl/api/v1/public/limits/meets/5/swimmers?q=Jansen"
/limits/meets — ID's zijn niet opeenvolgend.Wedstrijden — API-sleutel vereist
Wedstrijduitslagen en zoeken op wedstrijd. Vereist een geldige API-sleutel.
x-api-key header. Zie Authenticatie.key uit een wedstrijd om de uitslag op te halen via het detail-endpoint.| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
q | string | nee | Zoek op wedstrijdnaam |
city | string | nee | Filter op plaats (bevat) |
from | date | nee | Vanaf datum (YYYY-MM-DD) |
to | date | nee | Tot en met datum (YYYY-MM-DD) |
course | LCM / SCM | nee | Filter op baanlengte |
limit | integer | nee | Max. aantal resultaten (1–2000, standaard 400) |
curl "https://zwembase.nl/api/v1/public/meets?from=2026-01-01&course=LCM" \ -H "x-api-key: <jouw-sleutel>"
x-api-key header. Zie Authenticatie.key komt uit de wedstrijdenlijst (/api/v1/public/meets).| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
:key (path) | string | vereist | base64url-identifier uit de wedstrijdenlijst |
curl "https://zwembase.nl/api/v1/public/meets/<key>" \ -H "x-api-key: <jouw-sleutel>"
Zwemmers — API-sleutel vereist
Zwemmerprofielen en persoonlijke resultaten. Vereist een geldige API-sleutel.
x-api-key header. Zie Authenticatie.| Parameter | Type | Vereist | Omschrijving |
|---|---|---|---|
:id (path) | integer | vereist | Zwemmer-ID |
curl "https://zwembase.nl/api/v1/public/swimmers/12345" \ -H "x-api-key: <jouw-sleutel>"
Data-dekking — API-sleutel vereist
Beschikbaarheid van importdata per maand. Vereist een geldige API-sleutel.
x-api-key header. Zie Authenticatie.curl "https://zwembase.nl/api/v1/public/coverage" \ -H "x-api-key: <jouw-sleutel>"
Authenticatie
API-sleutels worden meegestuurd via een HTTP-header. Aanbevolen methode: x-api-key.
| Methode | Header | Opmerking |
|---|---|---|
| Aanbevolen | x-api-key: zwb_abc123… |
Standaard voor REST-clients en Swagger UI |
| Bearer | Authorization: Bearer zwb_abc123… |
Compatibel met OAuth2-tooling |
| ApiKey | Authorization: ApiKey zwb_abc123… |
Alternatief voor API-key clients |
Swagger UI instellen
Ga naar /docs/swagger, klik rechtsboven op Authorize,
vul je sleutel in bij apiKey (API key) → Value en klik op Authorize.
Alle verzoeken worden daarna automatisch voorzien van de x-api-key header.
Sleutel aanvragen
Mail naar dennis@aroundmyroom.com en vermeld voor welk project je de sleutel wilt gebruiken. Sleutels hebben standaard een read-scope en een limiet van 1 000 verzoeken per uur.
Rate limiting
Per API-sleutel wordt het aantal verzoeken per uur bijgehouden via response-headers.
| Header | Betekenis |
|---|---|
x-ratelimit-limit | Maximaal toegestane verzoeken per uur voor deze sleutel |
x-ratelimit-remaining | Resterende verzoeken in het huidige uur |
HTTP 429 Too Many Requests.
Wacht tot het volgende uur of neem contact op voor een hogere limiet.
Foutcodes
| Code | Betekenis | Oplossing |
|---|---|---|
400 | Ongeldige queryparameters | Controleer de vereiste velden in Swagger UI |
401 | Ontbrekende of ongeldige API-sleutel | Voeg de x-api-key header toe |
403 | Geen toegang (endpoint niet publiek) | Dit endpoint is niet extern beschikbaar |
404 | Niet gevonden | Controleer het pad en de ID |
429 | Rate limit bereikt | Wacht tot het volgende uur of vraag hogere limiet aan |
500 | Serverfout | Probeer opnieuw; meld aanhoudende fouten |