Ir al contenido
Empezar gratis

Desarrolladores

La aplicación web de Checkpoint es una capa fina sobre una API HTTP, y esa misma API está abierta para ti. No hay registro de desarrollador aparte ni clave de API: te autenticas con una cuenta normal de Checkpoint.

Entorno URL base
Producción https://api.checkpointrun.com
Pruebas https://dev.api.checkpointrun.com

Desarrolla contra el entorno de pruebas. Ejecuta el mismo código, un poco por delante de producción, y sus datos son desechables: pueden borrarse sin aviso, que es justo lo que quieres mientras experimentas.

Cada entorno sirve su propia descripción OpenAPI y un navegador para ella:

  • /swagger — cada endpoint con sus parámetros y respuestas, y un botón «try it out»
  • /swagger/v1/swagger.json — el documento OpenAPI en bruto, que la mayoría de generadores de clientes aceptan tal cual

La documentación es pública; las operaciones que describe no lo son: cada una sigue aplicando exactamente los mismos permisos que la aplicación, así que poder leer sobre un endpoint no significa poder llamarlo.

Envía tu correo y contraseña de Checkpoint y recibes un token bearer:

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": "" }

Mándalo en cada llamada posterior:

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

El token de acceso dura una hora. Para obtener un par nuevo sin volver a pedir la contraseña, envía el token de actualización a /refresh:

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

La aplicación web entra por el mismo endpoint con ?useCookies=true y recibe una cookie de sesión. Ese camino es para navegadores en los dominios propios de Checkpoint; como cliente de API, usa el token.

El contenido público no necesita token: la lista de eventos, los recorridos, clubes y mapas públicos y las clasificaciones. Todo lo privado, todo lo tuyo y cualquier escritura sí lo necesitan.

100 peticiones por minuto, contadas por cuenta una vez autenticado y por dirección IP antes de eso. Al pasarte recibes 429; la ventana es fija, así que basta con esperar a que se renueve.

  • Los enums son cadenas, no números. El estado de un evento llega como "Finalized" y el de una inscripción como "Waitlisted". Compararlo con un número no coincide nunca, en silencio: un error que hemos cometido nosotros mismos.
  • Las marcas de tiempo son ISO-8601 con desplazamiento, en UTC, por ejemplo 2026-08-14T20:28:26.335649+00:00.
  • La API todavía no está versionada y el contrato puede cambiar. Es la misma API que usa la aplicación, así que se mueve cuando ella se mueve. Vuelve a leer el documento OpenAPI tras una actualización en lugar de fijarte en lo que viste una vez.
  • Las aplicaciones de navegador en otros dominios no pueden llamarla. CORS solo permite los front-ends propios de Checkpoint, así que llama a la API desde un servidor, un script o una aplicación nativa, no desde una página web ajena.

Los eventos, recorridos, clubes, mapas y resultados publicados también tienen enlaces cortos públicos en https://go.checkpointrun.com, que muestran una tarjeta de vista previa al pegarlos en un chat y redirigen a un navegador real a Checkpoint.

Si necesitas un endpoint que no existe, o una garantía que aún no ofrecemos, dilo en el tablero de sugerencias: es donde van las demás peticiones, y se lee.