Obtener un torneo
Usa GET /v1/external/tournaments/{idx} para leer un torneo e incrustar su club, categorías, rondas, patrocinadores, circuito y reglas de desempate con populate.
GET /v1/external/tournaments/{idx} devuelve un torneo por su UUID, con
cualquiera de siete relaciones incrustadas a petición. Es la llamada detrás de la
página principal de un torneo: nombre, fechas, sede, categorías y patrocinadores
en un solo viaje. Sin parámetro populate devuelve el torneo más club y
divisions.
Petición
GET /v1/external/tournaments/3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18?populate=club,club.courts,divisions,divisions.rounds HTTP/1.1
Host: api.setto.io
Authorization: Bearer setto_live_…Parámetros
| Parámetro | En | Notas |
|---|---|---|
idx | ruta | El UUID v4 del torneo, sacado de listTournaments |
populate | consulta | Cualquiera de club, club.courts, divisions, divisions.rounds, sponsors, circuit, circuitCategory, rankedTiebreakRules. Por defecto club,divisions |
curl -s -G \
https://api.setto.io/v1/external/tournaments/3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18 \
-H "Authorization: Bearer $SETTO_API_TOKEN" \
-d populate=club,divisions,divisions.rounds,sponsorsRespuesta
{
"idx": "3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18",
"slug": "torneo-apertura-2026",
"name": "Torneo Apertura 2026",
"type": "TOURNAMENT",
"sport": "PADEL",
"status": "IN_PROGRESS",
"startDate": "2026-09-18T00:00:00.000Z",
"endDate": "2026-09-20T00:00:00.000Z",
"timezone": "America/Monterrey",
"courtNames": { "1": "Cancha Central", "2": "Cancha 2" },
"scheduleType": "ASSIGNED",
"isPublic": true,
"isFormatComplete": true,
"displayPoints": true,
"standingColumns": [
{ "ordering": 1, "type": "GAMES_WON" },
{ "ordering": 2, "type": "POINTS_DIFFERENCE" }
],
"createdAt": "2026-06-02T18:21:07.442Z",
"publicUrl": "https://www.setto.io/t/torneo-apertura-2026",
"organization": {
"idx": "6f1d9c2e-4a7b-4f3d-9d2c-8b5e1a0f7c43",
"name": "Club Padel Monterrey",
"slug": "club-padel-monterrey"
},
"club": {
"idx": "5e2b8c04-1a76-4f93-b8d5-7c0e3a9f41b2",
"name": "Club Padel Monterrey",
"address": "Av. Lázaro Cárdenas 2400, Monterrey",
"website": "https://clubpadelmty.mx",
"image": "https://cdn.setto.io/clubs/club-padel-monterrey.jpg",
"location": {
"formattedAddress": "Av. Lázaro Cárdenas 2400, Monterrey, N.L., México",
"city": "Monterrey",
"country": "México",
"lat": 25.6514,
"lng": -100.3561,
"postalCode": "64920",
"province": "Nuevo León"
}
},
"divisions": [
{
"idx": "7b2f4d16-9c83-4e50-a7d1-3f6c8b204e59",
"name": "Cuarta Fuerza Varonil",
"number": 1,
"color": "#2563eb",
"isDoubles": true,
"isVisible": true,
"price": 900,
"minParticipants": 8,
"maxParticipants": 32,
"createdAt": "2026-06-02T18:24:55.901Z",
"tournament": { "idx": "3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18" },
"rounds": [
{
"idx": "9d3c6a84-7e15-4b02-8f6d-1c4a9e7b53f2",
"name": "Pool Play",
"type": "ROUND_ROBIN_ROUND",
"number": 1,
"isSetup": true,
"isVisible": true,
"numberOfSets": 3,
"division": {
"idx": "7b2f4d16-9c83-4e50-a7d1-3f6c8b204e59",
"name": "Cuarta Fuerza Varonil"
}
},
{
"idx": "2e7f5b10-8c94-4d63-a1b8-7f0e3d6c2a95",
"name": "Playoffs",
"type": "SINGLE_ELIMINATION_ROUND",
"number": 2,
"isSetup": true,
"isVisible": true,
"drawSize": 8,
"division": {
"idx": "7b2f4d16-9c83-4e50-a7d1-3f6c8b204e59",
"name": "Cuarta Fuerza Varonil"
}
}
]
}
],
"sponsors": [
{
"idx": "af03d7e5-6b18-4c92-8d40-1e7b5a2c9f36",
"name": "Head",
"logoUrl": "https://cdn.setto.io/sponsors/head.png",
"websiteUrl": "https://head.com",
"position": 1
}
]
}Consejos y trampas
populatereemplaza el valor por defecto.?populate=divisionseliminaclubde la respuesta. Vuelve a listar todo lo que necesites.divisions.roundses la forma barata de obtener los ids de ronda. Una sola llamada te da cadaidxde ronda del torneo, que es exactamente la entrada que quieregetRound. No necesitaslistDivisionspara eso.- Revisa la clave, no un arreglo vacío. Una relación sin popular está
ausente:
tournament.sponsorsesundefined, no[].'sponsors' in tournamentdistingue entre "no lo pedí" y "no hay ninguno". - Las categorías ocultas regresan. Filtra por
isVisibleantes de renderizar una página pública. - Un
404también significa "organización equivocada". La API no te va a decir cuál — consulta Errores. rankedTiebreakRulesexplica el orden de la clasificación. Si estás reconstruyendo una tabla de clasificación y quieres que coincida con setto.io, popula las reglas y aplícalas en orden deranken lugar de confiar solo en elrankalmacenado.courtNameses un objeto indexado por número de cancha, no un arreglo.
Relacionado
- Modelo de datos — qué significa cada campo.
- Populate — la lista blanca completa.
- Referencia:
getTournament.
Herramienta MCP: get_tournament
Listar torneos
Usa GET /v1/external/tournaments para encontrar los torneos de tu organización, filtrarlos por estado y deporte, y paginar el archivo de una temporada.
Listar categorías
Usa GET /v1/external/tournaments/{idx}/divisions para leer las categorías de un torneo, sus rondas y, opcionalmente, todos los equipos inscritos en cada una.