Register up to 50 teams at once (needs the `manage` scope)
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 API token (organization or personal)
In: header
Path Parameters
Tournament identifier
uuidHeader Parameters
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.
length <= 255Request 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" } ] } ]}