SETTO API

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.

GET /v1/external/tournaments/{idx}/divisions lista las categorías de un torneo — lo que organizadores y jugadores llaman categorías. Cada categoría lleva su orden de despliegue, color, precio, cupo y visibilidad, y por defecto sus rondas. Úsalo para armar un selector de categorías, para encontrar los ids de ronda que le vas a pasar a getRound, o — con populate=teams — para volcar un cuadro completo en una sola petición.

La respuesta es un arreglo JSON pelón, no un sobre data/meta, y no está paginada.

Petición

GET /v1/external/tournaments/3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18/divisions?populate=rounds HTTP/1.1
Host: api.setto.io
Authorization: Bearer setto_live_…

Parámetros

ParámetroEnNotas
idxrutaEl UUID v4 del torneo
populateconsultaCualquiera de rounds, teams, teams.playerProfiles, teams.leagueTeam, circuitCategory. Por defecto rounds
curl -s -G \
  https://api.setto.io/v1/external/tournaments/3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18/divisions \
  -H "Authorization: Bearer $SETTO_API_TOKEN" \
  -d populate=rounds,teams,teams.playerProfiles

Respuesta

200 OK (recortado)
[
  {
    "idx": "7b2f4d16-9c83-4e50-a7d1-3f6c8b204e59",
    "name": "Cuarta Fuerza Varonil",
    "number": 1,
    "color": "#2563eb",
    "isDoubles": true,
    "isVisible": true,
    "price": 900,
    "minParticipants": 8,
    "maxParticipants": 32,
    "maxRegistrations": 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,
        "proSets": false,
        "playAllSets": false,
        "hasNextRoundTransitioned": true,
        "createdAt": "2026-06-02T18:25:10.338Z",
        "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,
        "numQualifiers": 8,
        "placements": [1, 3],
        "createdAt": "2026-06-02T18:25:10.512Z",
        "division": {
          "idx": "7b2f4d16-9c83-4e50-a7d1-3f6c8b204e59",
          "name": "Cuarta Fuerza Varonil"
        }
      }
    ]
  },
  {
    "idx": "c58a1e93-0b74-42df-96e8-5a3d7f1b28c0",
    "name": "Segunda Fuerza Femenil",
    "number": 2,
    "color": "#db2777",
    "isDoubles": true,
    "isVisible": false,
    "price": 900,
    "tournament": { "idx": "3c9b7f52-6d41-4a8e-b1f0-2e7d5c9a4b18" },
    "rounds": []
  }
]

Consejos y trampas

  • Es un arreglo. No hay clave data ni meta. res.json() te da la lista directamente.
  • Ordenado por number ascendente — el orden en el que el organizador acomodó las categorías. Renderiza en ese orden; no ordenes alfabéticamente.
  • Las categorías con isVisible: false vienen incluidas. La segunda fila de arriba está oculta en setto.io pero presente aquí. Fíltrala para una página pública.
  • Un arreglo rounds vacío es información real: el organizador creó la categoría pero todavía no armó su formato. Combínalo con el isFormatComplete del torneo.
  • teams puede ser grande. Una categoría de 64 parejas con populate=teams,teams.playerProfiles es un payload pesado, multiplicado por cada categoría del torneo. Si solo necesitas las inscripciones de una categoría, usa listTeams con su filtro division.
  • price es el de la categoría, en la moneda del torneo, y puede ser null si el organizador no puso ninguno.
  • Las rondas aquí llevan division, así que puedes indexarlas sin una segunda consulta. En un TEAM_LEAGUE el division de una ronda puede ser null — esas rondas pertenecen al torneo, no a una categoría, y no van a aparecer bajo ninguna.

Relacionado

Herramienta MCP: list_divisions

En esta página