Zum Inhalt springen
Kostenlos starten

Entwickler

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.

Umgebung Basis-URL
Produktion https://api.checkpointrun.com
Test https://dev.api.checkpointrun.com

Entwickle gegen die Testumgebung. Sie läuft mit demselben Code, ein wenig vor der Produktion, und ihre Daten sind Wegwerfware — sie können jederzeit ohne Ankündigung gelöscht werden, was beim Ausprobieren genau richtig ist.

Jede Umgebung liefert ihre eigene OpenAPI-Beschreibung und einen Browser dafür:

  • /swagger — jeder Endpunkt mit Parametern und Antworten, inklusive „Try it out“-Knopf
  • /swagger/v1/swagger.json — das rohe OpenAPI-Dokument, das die meisten Client-Generatoren direkt verarbeiten

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.