SETTO API
Referencia de la APITeams

Register up to 50 teams at once (needs the `manage` scope)

POST
/v1/external/tournaments/{idx}/registrations/batch

Runs each item as registerTeam would, in order, each on its own: an item refused never stops the others, and nothing is all-or-nothing. Answers what was created and what failed (with the code registerTeam would answer), by position. An earlier item’s players count for a later item’s duplicate check. One Idempotency-Key covers the whole batch. Each item is recorded in «Actividad».

Authorization

apiToken
AuthorizationBearer <token>

API token (organization or personal)

In: header

Path Parameters

idx*string

Tournament 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/registrations/batch" \  -H "Content-Type: application/json" \  -d '{    "items": [      {        "divisionIdx": "a7b8c9d0-e1f2-4345-8a6b-7c8d9e0f1a2b",        "players": [          {            "firstName": "Juan",            "lastName": "Pérez"          }        ]      }    ]  }'
{  "created": [    {      "index": 0,      "registrationIdx": "e5f6a7b8-c9d0-4123-8e4f-5a6b7c8d9e0f",      "registrationStatus": "CONFIRMED",      "team": {        "idx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",        "name": "Lugo / Ramirez",        "seed": 3,        "seedNumber": 1,        "club": "Club Deportivo Santa Fe",        "picture": "https://cdn.setto.io/teams/lugo-ramirez.png",        "description": "Campeones 2025",        "ranking": 12,        "isWildCard": false,        "qualifierStatus": "COMPETING",        "drawAssignment": "QUALIFYING",        "withdrawn": false,        "createdAt": "2026-08-01T17:30:00.000Z",        "division": {          "idx": "a7b8c9d0-e1f2-4345-8a6b-7c8d9e0f1a2b",          "name": "Primera Varonil"        },        "players": [          {            "idx": "c9d0e1f2-a3b4-4567-8c8d-9e0f1a2b3c4d",            "firstName": "Mario",            "lastName": "Lugo",            "avatar": "https://cdn.setto.io/avatars/mario-lugo.png"          }        ],        "captainProfileIdx": "c9d0e1f2-a3b4-4567-8c8d-9e0f1a2b3c4d",        "leagueTeam": {          "idx": "d0e1f2a3-b4c5-4678-8d9e-0f1a2b3c4d5e",          "name": "Club Santa Fe",          "color": "#1E3A8A",          "logo": "https://cdn.setto.io/league-teams/santa-fe.png",          "position": 1,          "pointsAdjustment": 0        }      }    }  ],  "failed": [    {      "index": 3,      "code": "PLAYER_ALREADY_REGISTERED",      "message": "PLAYER_ALREADY_REGISTERED",      "details": [        {          "gameIdx": "d0e1f2a3-b4c5-4678-9d0e-1f2a3b4c5d6e",          "code": "COURT_OVERLAP",          "otherGameIdx": "e1f2a3b4-c5d6-4789-8e0f-2a3b4c5d6e7f",          "teamIdx": "b8c9d0e1-f2a3-4456-8b7c-8d9e0f1a2b3c",          "courtIdx": "0f3a8c1e-59d4-4b2a-9c77-1b8e2d4f6a90",          "divisionIdx": "a7b8c9d0-e1f2-4345-8a6b-7c8d9e0f1a2b",          "index": 0,          "field": "email",          "limit": 2,          "current": 2,          "tier": "FREE",          "type": "TEAM_LEAGUE",          "from": "ARCHIVED",          "to": "IN_PROGRESS",          "step": "has-division",          "name": "4a varonil",          "played": false,          "poolIdx": "c1d2e3f4-a5b6-4789-8c0d-1e2f3a4b5c6d",          "playerIdx": "c9d0e1f2-a3b4-4567-8c8d-9e0f1a2b3c4d",          "reason": "QUALIFIERS",          "retryAfterSeconds": 3600,          "held": 1,          "roundIdx": "3f1a2b3c-4d5e-4f60-8123-456789abcdef",          "pool": 2,          "side": "home",          "count": 3,          "withTeamIdx": "f2a3b4c5-d6e7-4890-8f0a-3b4c5d6e7f8a"        }      ]    }  ]}