https://api.example.com; no añadas la ruta de inscripción a la variable base. Los nombres de rutas y campos son en inglés. La especificación interactiva de la instancia está en /docs y /openapi.json.
POST de creación exige company_id, connection_id, name, slug, start_at, end_at; admite description, webhook_url HTTPS y prizes. Cada premio usa rank_from, rank_to, prize_type, amount opcional, currency de tres letras y description opcional. No se permiten rangos superpuestos. PUT reemplaza toda la lista cuando recibe prizes; omitirla conserva la actual y [] la borra. Una competencia terminada no se edita; el inicio en vivo no puede cambiar.
GET /leaderboard acepta limit de 1 a 500 (predeterminado 100) y offset desde cero. GET /participants administrativo acepta limit de 1 a 200 (predeterminado 50), offset y login positivo.
La API administrativa usa el bearer de sesión de administrador. El token CRM no concede esos permisos. Revisa también los errores y reintentos.
El bearer de admin tampoco funciona en la inscripción CRM: consulta la matriz de credenciales para ver qué token exige cada ruta.
Para implementar tu propio panel de gestión, consulta la API administrativa y el aprovisionamiento.
Respuestas de ejemplo
Una inscripción devuelve el participante y su UUID (los valores financieros iniciales pueden estar en cero onull hasta el primer sync):
/docs del entorno para el esquema exacto de cada versión desplegada. En particular, no supongas un sufijo Z si el serializador entrega un valor UTC sin sufijo: la base y la lógica del servidor almacenan UTC.
