Öffentliche Endpunkte
Diese Endpunkte erfordern keine Authentifizierung und sind für alle Clients frei zugänglich.
Authentifizierte Endpunkte
Für spielerbezogene Daten (Runden, Handicap Index, Simulationen) ist ein JWT Bearer Token erforderlich.
Alle Endpunkte in der vollständigen API-Referenz →
Schnellstart
Plätze suchen und Handicap-Daten in wenigen Minuten integrieren.
Technische Details
Basis-URL
https://handicap-engine.de/v1/
Alle API-Anfragen laufen über HTTPS. HTTP wird auf HTTPS umgeleitet.
Authentifizierung
JWT Bearer Token im Authorization-Header. Access Token TTL: 15 Minuten. Refresh Token TTL: 30 Tage. Token-Rotation bei jedem Refresh.
Antwortformat
Alle Antworten sind application/json. Fehler haben das Format {"error": {"code": "...", "message": "..."}}.
Rate Limiting
Öffentliche Endpunkte: 30 Req/Min. Auth-Endpunkte: 5 Login-Versuche/Min. Antwort bei Überschreitung: 429 Too Many Requests mit Retry-After.
WHS-Konformität
Implementiert WHS Rules of Handicapping (R&A / USGA 2024). Score Differential, Handicap Index, ESR §5.9, 9-Loch §3.1, Soft/Hard Cap.
OpenAPI Spec
Vollständige Spezifikation unter openapi.yaml. Maschinenlesbar, alle Felder mit Beschreibungen und WHS-Regelreferenzen.
Rate Limits im Überblick
Alle Limits sind Sliding-Window-basiert. Bei Überschreitung: 429 mit Retry-After-Header.
| Endpunkt | Limit | Fenster |
|---|---|---|
| POST /v1/auth/login | 5 pro IP, 10 pro E-Mail-Hash | 1 min / 10 min |
| POST /v1/auth/register | 3 pro IP | 1 min |
| POST /v1/auth/forgot-password | 3 | 15 min |
| POST /v1/auth/token/refresh | 20 | 1 min |
| POST /v1/rounds | 50 | 1 Stunde |
| POST /v1/players/{id}/simulate | 30 | 1 min |
| GET /v1/courses (Suche) | unlimitiert (öffentlich) | — |