---
title: "List the tournaments you manage"
method: GET
path: "/user/tournaments"
tags: ["My Tournaments"]
---

# List the tournaments you manage

`GET /user/tournaments`

Returns the tournaments the API key owner hosts or holds tournament staff on, including drafts and unapproved ones. Ordered attention-first, then most recently updated, and capped at 100. Requires tournaments.tournament_admin:read - the public read scope is deliberately insufficient because this surface exposes unlisted tournaments.

## Response `200`

Tournaments the key owner can manage.

- MyTournamentsResponse — The key owner's manageable tournaments.
  - `tournaments` MyTournamentSummary[], required — Tournaments the caller manages, including drafts and unapproved ones. Capped at 100.
    - `id` string, required — Tournament ID.
    - `name` string, required — Tournament display name.
    - `slug` string, required — URL-friendly tournament identifier.
    - `status` 'DRAFT' | 'REGISTRATION_OPEN' | 'REGISTRATION_CLOSED' | 'IN_PROGRESS' | 'COMPLETED' | 'CANCELLED', required — Lifecycle status of a tournament.
    - `approvalStatus` string, required — Platform review state, independent of `status`.
    - `needsAttention` boolean, required — Non-terminal AND awaiting organizer action on approval. Tournaments sort attention-first, then by most recently updated.
    - `hostType` string, required — user, org, or league.
    - `participantCount` integer, required — Current number of participants.
    - `maxParticipants` integer, required — Participant cap.
    - `startsAt` number — Scheduled start (epoch milliseconds).
    - `updatedAt` number, required — Last update (epoch milliseconds).
    - `isAdmin` boolean, required — Whether the caller holds tournament ADMIN authority. False for a tournament moderator, who is a manager but not an admin.
  - `count` integer, required — Number of tournaments returned.
  - `timestamp` string, required — Response generation time (ISO 8601).

## Other responses

- `401` — Missing or invalid API key.
- `403` — API key lacks the required permission.
- `429` — Rate limited.
- `500` — Internal server error.

---

[API](https://skmtc.net/teambattles/apis/teambattles-api.md) · [All operations](https://skmtc.net/teambattles/apis/teambattles-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/teambattles/teambattles-api/revisions/2ffe8fb53b7d/schema)
