SETTO API

Record a game’s result (needs the `results` scope, «Cargar resultados»)

POST
/v1/external/tournaments/{idx}/games/{gameIdx}/result

Records a result as the dashboard’s score dialog does: FINISHED with its sets in the game’s home/away order (the winner is the side with more sets), a retirement (FINISHED + retiredTeamIdx: the other side wins), a W.O. (FORFEIT + winnerTeamIdx), or «Doble W.O.» (FORFEIT + doubleForfeit, group stage only). The group standings move, and a knockout result advances the winner (and a semifinal’s loser to third place): advanced lists those games. A game that already holds a result is refused without overwrite (GAME_HAS_RESULT shows the stored one); the same result sent again changes nothing. A game with a withdrawn team («Baja») is the dashboard’s. Optional Idempotency-Key header. Recorded in «Actividad».

Authorization

apiToken
AuthorizationBearer <token>

API token (organization or personal)

In: header

Path Parameters

idx*string

Tournament identifier

Formatuuid
gameIdx*string

Game identifier

Formatuuid

Header Parameters

Idempotency-Key?string

Optional. A unique string (1-255 visible ASCII characters) per intended write, sent again unchanged when retrying THAT write: for 24 h the same key with the same request answers the first answer again (Idempotency-Replayed: true) instead of writing twice. The same key with another request is a 422 IDEMPOTENCY_KEY_REUSED; while the first still runs, a 409 IDEMPOTENCY_IN_PROGRESS (Retry-After). A 429 or a 409 TOURNAMENT_BUSY is never stored: retry with the same key.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/external/tournaments/497f6eca-6276-4993-bfeb-53cbbbba6f08/games/497f6eca-6276-4993-bfeb-53cbbbba6f08/result" \  -H "Content-Type: application/json" \  -d '{    "status": "FINISHED"  }'
{  "game": {    "idx": "a3b4c5d6-e7f8-4901-8a2b-3c4d5e6f7081",    "number": 7,    "displayNumber": 7,    "status": "FINISHED",    "time": "2026-09-12T16:00:00.000Z",    "lengthInMinutes": 90,    "courtNumber": 2,    "matchDay": 1,    "roundDetail": "Grupo A",    "scheduleNumber": 14,    "sectionNumber": 1,    "isRetirement": false,    "isDoubleForfeit": false,    "retiredTeamId": null,    "liveStartedAt": null,    "resultApprovalStatus": "PENDING",    "submittedAt": null,    "homeTeamDetails": {      "label": "Winner of Game 3",      "labelEs": "Ganador del juego 3",      "teamNumber": 2,      "poolNumber": 1,      "poolRank": 1,      "sourceGameNumber": 3,      "sourceResult": "WINNER"    },    "awayTeamDetails": {      "label": "Winner of Game 3",      "labelEs": "Ganador del juego 3",      "teamNumber": 2,      "poolNumber": 1,      "poolRank": 1,      "sourceGameNumber": 3,      "sourceResult": "WINNER"    },    "createdAt": "2026-08-20T11:02:00.000Z",    "homeTeam": {      "idx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",      "name": "Lugo / Ramirez"    },    "awayTeam": {      "idx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",      "name": "Lugo / Ramirez"    },    "winner": {      "idx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",      "name": "Lugo / Ramirez"    },    "court": {      "idx": "0f3a8c1e-59d4-4b2a-9c77-1b8e2d4f6a90",      "name": "Cancha 1",      "position": 1    },    "score": {      "idx": "f2a3b4c5-d6e7-4890-8f1a-2b3c4d5e6f70",      "home": 2,      "away": 1,      "playerPointsBalanced": null,      "extraTime": null,      "penalties": null,      "decisionMethod": "REGULATION",      "sets": [        {          "idx": "e1f2a3b4-c5d6-4789-8e0f-1a2b3c4d5e6f",          "home": 6,          "away": 4,          "number": 1,          "isTieBreak": false        }      ]    }  },  "advanced": [    {      "gameIdx": "e1f2a3b4-c5d6-4789-8e0f-2a3b4c5d6e7f",      "number": 9,      "side": "home",      "result": "WINNER",      "team": {        "idx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",        "name": "Lugo / Ramirez"      }    }  ],  "warnings": [    {      "code": "PAYMENT_REVIEW",      "message": "The team has payment marks or a payment link: review its payments in the dashboard.",      "mensaje": "revisa los pagos de este equipo en el panel",      "divisionIdx": "a7b8c9d0-e1f2-4345-8a6b-7c8d9e0f1a2b",      "teamIdx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",      "name": "5a varonil",      "numberOfSets": 2    }  ]}