Clubbooking publishes a small, read-only public API so developers and AI agents can learn what Clubbooking is and read its public pages in machine-friendly formats. There is no public API for club data: reservations, teams and members are only available to signed-in members inside the app.
Accept: text/markdown, or call GET /api/v1/pages/{slug}.GET /api/v1/status: service health and API version.GET /api/v1/pages: the public pages and their URLs in each language.GET /api/v1/pages/{slug}?locale=en: one public page as Markdown. slug comes from the list at GET /api/v1/pages, for example home, about or pricing; locale is en or nl (default nl).No sign-up is needed. These requests work as-is:
curl https://beta.clubbooking.app/api/v1/status
curl -H 'Accept: text/markdown' https://beta.clubbooking.app/en
curl 'https://beta.clubbooking.app/api/v1/pages/about?locale=en'The public API needs no API key and no account, so there are no keys to manage. Don't send cookies or credentials. The app's other /api routes are internal: they require a signed-in session, may change without notice and are not part of the public API.
Each client IP address may make 120 requests per minute. Every response carries RateLimit-Policy and RateLimit (IETF draft-ietf-httpapi-ratelimit-headers), plus RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset in seconds. Above the limit you get HTTP 429 with a Retry-After header: wait that many seconds before retrying.
Errors are JSON Problem Details (RFC 9457, application/problem+json) with status, title and detail, a stable code (not_found, invalid_parameter, rate_limited or internal_error) and a hint that says how to fix the request. Unknown /api paths answer in the same format with code not_found.
There is no official SDK, CLI or MCP server yet. The OpenAPI specification works with standard code generators and with function-calling tools that import OpenAPI. Questions or integration ideas: [email protected].