---
title: "Schedule a tournament round"
method: POST
path: "/tournaments/{identifier}/rounds/{roundId}/schedule"
tags: ["Tournament: Lifecycle"]
---

# Schedule a tournament round

`POST /tournaments/{identifier}/rounds/{roundId}/schedule`

## Request

- Base URL: `https://teambattles.gg/api/v1`
- URL: `https://teambattles.gg/api/v1/tournaments/{identifier}/rounds/{roundId}/schedule`
- Auth: HTTP bearer

Sets or clears the start time of a single round. A COMPLETED round answers 400, and a round that does not belong to the tournament in the path answers 404 error_tournament_not_found - identical to an unknown slug, so the endpoint is not an existence oracle. IMPORTANT: matches that have ALREADY been generated keep the start time they were generated with; the round's `startsAt` is a generation-time snapshot, so this only affects matches generated after the change. Requires an API key holding the tournaments lifecycle capability whose owner is a tournament ADMIN - a tournamentStaff MODERATOR is NOT sufficient and receives 403.

## Path parameters

- `identifier` string, required: Tournament slug.
- `roundId` string, required: Tournament round id.

## Request body

- TournamentRoundScheduleRequestBody: Round schedule payload.
  - `startsAt` integer, nullable, required: Unix ms the round is scheduled to start, or null to clear the round's scheduled time. REQUIRED - there is no 'leave unchanged' value, because omitting it in the underlying mutation clears the field, and a silent clear is not something an integrator should be able to trigger by forgetting a key.

## Response `200`

The round schedule was updated.

- TournamentRoundScheduleResponse: Result of scheduling a tournament round.
  - `success` true, required
  - `roundId` string, required
  - `startsAt` integer, nullable, required: The value now stored on the round.
  - `timestamp` string, required

## Other responses

- `400`: Bad request (invalid body, cursor, limit, or date).
- `401`: Missing or invalid API key.
- `403`: API key lacks the required permission.
- `404`: Resource not found.
- `429`: Rate limited.
- `500`: Internal server error.

## Changes

- **2026-07-23** `33b122ff59d0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/teambattles/apis/teambattles-api/changes/tournaments/:identifier/rounds/:roundId/schedule/post.md)

---

[API](https://skmtc.dev/teambattles/apis/teambattles-api.md) - [All operations](https://skmtc.dev/teambattles/apis/teambattles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/teambattles/apis/teambattles-api/revisions/75b07daef7dc?raw)
