Zum Inhalt springen
Kostenlos starten

API

Die Web-App von Checkpoint ist nur eine dünne Schicht über einer HTTP-API, und dieselbe API steht auch dir offen. Es gibt keine separate Entwickler-Registrierung und keinen API-Schlüssel — du authentifizierst dich mit einem ganz normalen Checkpoint-Konto.

https://api.checkpointrun.com

Die API liefert ihre eigene OpenAPI-Beschreibung und einen Browser dafür:

Die Dokumentation ist öffentlich, die beschriebenen Operationen sind es nicht: Jede setzt weiterhin genau dieselben Berechtigungen durch wie die App. Über einen Endpunkt lesen zu können heißt also nicht, ihn aufrufen zu dürfen.

Schick deine Checkpoint-E-Mail und dein Passwort und du bekommst ein Bearer-Token zurück:

Terminal window
curl -X POST https://api.checkpointrun.com/login \
-H 'content-type: application/json' \
-d '{"email":"you@example.com","password":"your-password"}'
{ "tokenType": "Bearer", "accessToken": "…", "expiresIn": 3600, "refreshToken": "…" }

Sende es bei jedem weiteren Aufruf mit:

Terminal window
curl https://api.checkpointrun.com/api/me/alerts \
-H "Authorization: Bearer $ACCESS_TOKEN"

Das Access-Token gilt eine Stunde. Für ein frisches Paar, ohne erneut nach dem Passwort zu fragen, schick das Refresh-Token an /refresh:

Terminal window
curl -X POST https://api.checkpointrun.com/refresh \
-H 'content-type: application/json' \
-d '{"refreshToken":"…"}'

Die Web-App meldet sich über denselben Endpunkt mit ?useCookies=true an und bekommt stattdessen ein Sitzungs-Cookie. Dieser Weg ist für Browser auf Checkpoints eigenen Domains gedacht; als API-Client nimmst du das Token.

Öffentliche Inhalte brauchen gar kein Token: die Veranstaltungsliste, öffentliche Bahnen, Vereine und Karten sowie die Ergebnislisten. Alles Private, alles über dich und jeder Schreibzugriff brauchen eines.

100 Anfragen pro Minute — gezählt pro Konto, sobald du authentifiziert bist, davor pro IP-Adresse. Darüber gibt es 429; das Zeitfenster ist fest, Abwarten genügt also.

  • Enums sind Strings, keine Zahlen. Der Status einer Veranstaltung kommt als "Finalized" zurück, der einer Anmeldung als "Waitlisted". Ein Vergleich mit einer Zahl trifft stillschweigend nie zu — ein Fehler, den wir selbst gemacht haben.
  • Zeitstempel sind ISO-8601 mit Offset, in UTC, z. B. 2026-08-14T20:28:26.335649+00:00.
  • Die API ist noch nicht versioniert, und der Vertrag kann sich ändern. Es ist dieselbe API, die die App benutzt, sie bewegt sich also mit der App. Lies das OpenAPI-Dokument nach einem Update lieber neu, statt dich auf einen einmal gesehenen Stand festzulegen.
  • Browser-Apps auf anderen Domains können sie nicht aufrufen. CORS erlaubt nur Checkpoints eigene Frontends — ruf die API also von einem Server, einem Skript oder einer nativen App aus auf, nicht von einer fremden Webseite.

Veranstaltungen, Bahnen, Vereine, Karten und veröffentlichte Ergebnisse haben außerdem kurze öffentliche Links auf https://go.checkpointrun.com. Sie zeigen in Chat-Apps eine Vorschaukarte und leiten einen echten Browser nach Checkpoint weiter.

Wenn dir ein Endpunkt fehlt oder du eine Zusage brauchst, die wir noch nicht geben, sag es auf dem Feedback-Board — dort landen auch alle anderen Wünsche, und es wird gelesen.