Clubbooking heeft een kleine, alleen-lezen publieke API waarmee developers en AI-agents kunnen ontdekken wat Clubbooking is en de publieke pagina's in machineleesbare vorm kunnen lezen. Er is geen publieke API voor clubgegevens: reserveringen, teams en leden zijn alleen beschikbaar voor ingelogde leden in de app.
Accept: text/markdown, of roep GET /api/v1/pages/{slug} aan.GET /api/v1/status: status van de dienst en API-versie.GET /api/v1/pages: de publieke pagina's en hun URL's in elke taal.GET /api/v1/pages/{slug}?locale=nl: één publieke pagina als Markdown. slug komt uit de lijst van GET /api/v1/pages, bijvoorbeeld home, about of pricing; locale is en of nl (standaard nl).Aanmelden is niet nodig. Deze verzoeken werken direct:
curl https://beta.clubbooking.app/api/v1/status
curl -H 'Accept: text/markdown' https://beta.clubbooking.app/
curl 'https://beta.clubbooking.app/api/v1/pages/about?locale=nl'De publieke API heeft geen API-sleutel en geen account nodig, dus er zijn geen sleutels om te beheren. Stuur geen cookies of inloggegevens mee. De andere /api-routes van de app zijn intern: ze vereisen een ingelogde sessie, kunnen zonder aankondiging veranderen en horen niet bij de publieke API.
Elk IP-adres mag 120 verzoeken per minuut doen. Elke response bevat RateLimit-Policy en RateLimit (IETF draft-ietf-httpapi-ratelimit-headers), plus RateLimit-Limit, RateLimit-Remaining en RateLimit-Reset in seconden. Boven de limiet krijg je HTTP 429 met een Retry-After-header: wacht zoveel seconden voordat je het opnieuw probeert.
Fouten zijn JSON Problem Details (RFC 9457, application/problem+json) met status, title en detail, een vaste code (not_found, invalid_parameter, rate_limited of internal_error) en een hint die zegt hoe je het verzoek oplost. Onbekende /api-paden antwoorden in hetzelfde formaat met code not_found.
Er is nog geen officiële SDK, CLI of MCP-server. De OpenAPI-specificatie werkt met standaard codegeneratoren en met function-calling-tools die OpenAPI importeren. Vragen of ideeën voor een integratie: [email protected].