# Sail Club API > Read-only club regatta data (events, races, results) over OAuth2 client-credentials. Cached up to 1 hour. English docs only. Every link below is a page's markdown twin (linked from its HTML page via ); the HTML page is the same path with the ".md" dropped, except the Overview, whose HTML page is the site root "/docs". ## Get started - [Overview](https://sailracing.club/docs/overview.md): Read-only club regatta data — events, races, race results, event results — over a server-to-server OAuth2 API, cached up to 1 hour. - [Quickstart](https://sailracing.club/docs/quickstart.md): Get credentials from your club admin, exchange them for a token, and make your first call — five minutes. - [Authentication](https://sailracing.club/docs/authentication.md): OAuth2 client-credentials, opaque 1-hour bearer tokens, refresh-before-expiry, secret handling and rotation. ## Reference - [Scopes](https://sailracing.club/docs/scopes.md): The two read scopes and which endpoints each one grants. - [IP allowlist](https://sailracing.club/docs/ip-allowlist.md): An optional list of IPv4/IPv6 addresses or CIDR ranges a club admin can attach to a client. - [Errors](https://sailracing.club/docs/errors.md): Every error code the public API returns — cause, HTTP status, and how to fix it. - [Rate limits](https://sailracing.club/docs/rate-limits.md): 60 data calls/min per client, 20 token requests/min per client and per IP — 429 with Retry-After. - [Caching & freshness](https://sailracing.club/docs/caching.md): Data is cached at least 1 hour server-side; use ETag/If-None-Match and respect Cache-Control. - [Pagination](https://sailracing.club/docs/pagination.md): Offset paging on the events list — page/pageSize query params, nextPage/totalItems in the body. - [Versioning & changelog](https://sailracing.club/docs/versioning.md): Everything here is /api/v1 — stable while v1 exists; breaking changes ship as a new version. ## Methods - [Get access token](https://sailracing.club/docs/api/token.md): Exchange a client_id/client_secret for a 1-hour bearer access token (RFC 6749 client credentials). - [Check a token](https://sailracing.club/docs/api/token-info.md): Verify a token's client, club, scopes and expiry in one call — a lightweight health check, no scope required. - [List events](https://sailracing.club/docs/api/events.md): The club's published events, paged, newest start date first — the same list the club's public page shows. - [Get event](https://sailracing.club/docs/api/event.md): Full detail for one published event — description, links, divisions, classes, and its race list. - [List races](https://sailracing.club/docs/api/races.md): An event's races — the same list the event detail's races field returns, as its own endpoint. - [Race results](https://sailracing.club/docs/api/race-results.md): One race's full results — every boat's rank, times, corrected time and points. - [Event results](https://sailracing.club/docs/api/event-results.md): An event's series results — scoring results, overall, rating groups and special categories. ## Models - [Data models](https://sailracing.club/docs/data-models.md): Every DTO field returned by the five data endpoints — type, nullability, meaning — plus a plain-language guide to sailing scoring. ## AI - [Build with AI](https://sailracing.club/docs/build-with-ai.md): Every method page carries a ready-to-paste Prompt block; this page explains how to use them and where the machine-readable companions live. ## Support - [API Terms](https://sailracing.club/docs/api-terms.md): Permitted use, attribution, credential security and the rest of the legal terms for using this API. - [Support](https://sailracing.club/docs/support.md): Where to get help — from your club admin, from Sail Club, or from the panel's own help assistant.