v20

OpenAPI 3.1.0raw.githubusercontent.com2026-08-011984401.2 MB
Tournament: Lifecycle

Cancel a tournament

Cancels a tournament. IRREVERSIBLE - there is no un-cancel, and a COMPLETED or already CANCELLED tournament answers 400. Cancelling delists the tournament, emits a tournament.cancelled webhook, system-cancels every non-terminal generated match with no forfeit penalty, and notifies the captains of every approved participant. It does NOT change the approval status, so the response reports lifecycle status and approval status as independent fields. Requires an API key holding the tournaments lifecycle capability whose owner is a tournament ADMIN - a tournamentStaff MODERATOR is NOT sufficient and receives 403.

post/tournaments/{identifier}/cancel

Path parameters

identifierstring required

Tournament slug.

Tournament slug.

Request body

reasonstring

Optional human-readable cancellation reason. It is echoed to participants in the cancellation notification and in the tournament.cancelled webhook payload, so treat it as PUBLIC.

Response

The tournament was cancelled.

successtrue required
status'CANCELLED' required

The lifecycle status this call set.

approvalStatus'NOT_SUBMITTED' | 'AWAITING_APPROVAL' | 'APPROVED' | 'REJECTED' required

The tournament's approval status as of this request's authorization snapshot. Cancelling does NOT touch it, so it is reported as an INDEPENDENT field: CANCELLED alongside NOT_SUBMITTED is a real, reachable pair, and any status projection you build must handle it rather than deriving one field from the other.

timestampstring required