SETTO API

API reference

How the generated SETTO External API reference works — one page per operation, a Try it panel you can paste a token into, and the raw OpenAPI document.

The pages in this section are generated from the SETTO External API's OpenAPI document, so they cannot drift from the API: one page per operation, with its path, method, every parameter, the security scheme and the response schema. Each page also carries a Try it panel that fires a real request from your browser, so you can see a live payload without leaving the docs. If you are looking for worked examples and advice rather than an exhaustive parameter list, read the guides instead.

The operations

OperationMethod and pathGuide
getMeGET /v1/external/meQuickstart
listTournamentsGET /v1/external/tournamentsList tournaments
getTournamentGET /v1/external/tournaments/{idx}Get a tournament
listDivisionsGET /v1/external/tournaments/{idx}/divisionsList divisions
listTeamsGET /v1/external/tournaments/{idx}/teamsList teams
getRoundGET /v1/external/rounds/{idx}Get a round
getTournamentScheduleGET /v1/external/tournaments/{idx}/scheduleMCP server
proposePoolPerCourtSchedulePOST /v1/external/tournaments/{idx}/schedule/proposalsMCP server
applySchedulePlacementsPOST /v1/external/tournaments/{idx}/schedule/placementsMCP server
listActivityGET /v1/external/activity«Actividad»
searchTournamentGET /v1/external/tournaments/{idx}/searchMCP server
createTournamentPOST /v1/external/tournamentsMCP server
updateTournamentPATCH /v1/external/tournaments/{idx}MCP server
publishTournamentPOST /v1/external/tournaments/{idx}/publishMCP server
setTournamentLifecyclePOST /v1/external/tournaments/{idx}/lifecycleMCP server
createDivisionPOST /v1/external/tournaments/{idx}/divisionsMCP server
updateDivisionPATCH /v1/external/tournaments/{idx}/divisions/{divisionIdx}MCP server
deleteDivisionDELETE /v1/external/tournaments/{idx}/divisions/{divisionIdx}MCP server
setDivisionSeedsPUT /v1/external/tournaments/{idx}/divisions/{divisionIdx}/seedsMCP server
registerTeamPOST /v1/external/tournaments/{idx}/registrationsMCP server
registerTeamsPOST /v1/external/tournaments/{idx}/registrations/batchMCP server
updateTeamPATCH /v1/external/tournaments/{idx}/teams/{teamIdx}MCP server
deleteTeamDELETE /v1/external/tournaments/{idx}/teams/{teamIdx}MCP server
updatePlayerPATCH /v1/external/tournaments/{idx}/players/{playerIdx}MCP server
substitutePlayerPOST /v1/external/tournaments/{idx}/teams/{teamIdx}/substituteMCP server
previewTeamWithdrawalPOST /v1/external/tournaments/{idx}/teams/{teamIdx}/withdraw/previewMCP server
withdrawTeamPOST /v1/external/tournaments/{idx}/teams/{teamIdx}/withdrawMCP server
previewDivisionFormatPOST /v1/external/tournaments/{idx}/divisions/{divisionIdx}/format/previewMCP server
applyDivisionFormatPOST /v1/external/tournaments/{idx}/divisions/{divisionIdx}/formatMCP server
appendEliminationRoundPOST /v1/external/tournaments/{idx}/divisions/{divisionIdx}/rounds/appendMCP server
previewPoolsPOST /v1/external/tournaments/{idx}/rounds/{roundIdx}/pools/previewMCP server
applyPoolsPOST /v1/external/tournaments/{idx}/rounds/{roundIdx}/poolsMCP server
previewDrawPOST /v1/external/tournaments/{idx}/rounds/{roundIdx}/draw/previewMCP server
applyDrawPOST /v1/external/tournaments/{idx}/rounds/{roundIdx}/drawMCP server
confirmDrawPOST /v1/external/tournaments/{idx}/rounds/{roundIdx}/draw/confirmMCP server
recordGameResultPOST /v1/external/tournaments/{idx}/games/{gameIdx}/resultMCP server
clearGameResultDELETE /v1/external/tournaments/{idx}/games/{gameIdx}/resultMCP server
setGameTeamsPATCH /v1/external/tournaments/{idx}/games/{gameIdx}/teamsMCP server

Pages are grouped by OpenAPI tag — Organization, Tournaments, Divisions, Teams, Rounds, Scheduling, Activity — which is also how the sidebar is ordered.

Using "Try it"

Every operation page has a panel where you can fill in the path and query parameters and send the request.

  1. Open the Authorization field and paste a SETTO API token, personal or organization (setto_live_…). The panel uses the apiToken bearer scheme declared in the spec.
  2. Fill in idx — a real tournament or round UUID that your token reaches.
  3. Send. The response comes back with its status, headers and body.

The request leaves your browser

The playground calls the SETTO API directly from your browser; there is no proxy in front of it, and nothing is stored on this site's servers. Even so, a token pasted into a web form is a token that has been in a web form — use a short-lived one, or revoke it afterwards from the organizer dashboard. See Authentication.

If a request fails with a network or CORS error rather than an HTTP status, the token never left your browser — check the token and the URL and try again.

The raw OpenAPI document

The same document that generates these pages is published at /openapi.json. Point a client generator, a Postman import or an AI agent at it:

curl -s https://docs.setto.io/openapi.json -o setto-external-api.json

Its servers[0].url is filled in at request time from the API base URL this site is configured against, so the URLs in a generated client are correct without editing.

  • Authentication — before you paste a token anywhere.
  • Errors — every status and code the reference lists.
  • Rate limits — the headers on every response.

On this page