Skip to main content
API Reference

Tournaments

List and view tournaments, participants, brackets, and matches.

Required Scope:tournaments:read

List Tournaments

GET/api/v1/tournaments

Returns a paginated list of tournaments. Only public tournaments and tournaments owned by the authenticated user are returned.

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
per_pageintegerResults per page, max 100 (default: 25)
sortstringSort field: created_at, start_date, name, max_participants
directionstringSort direction: asc or desc (default: desc)
filter[status]stringFilter by status: draft, registration, in_progress, completed, cancelled
filter[format]stringFilter by format: single_elimination, double_elimination, round_robin
filter[game]stringFilter by game name (partial match)
filter[organization_id]uuidFilter by hosting organization
Example Requestbash
curl "https://readyraider.com/api/v1/tournaments?filter[status]=registration&per_page=10" \
  -H "Authorization: Bearer rr_live_your_key"
Response (200 OK)json
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Friday Night Valorant",
      "slug": "friday-night-valorant",
      "format": "single_elimination",
      "status": "registration",
      "game": "Valorant",
      "max_participants": 32,
      "start_date": "2026-02-20T20:00:00Z",
      "registration_open": true,
      "is_private": false,
      "created_by": "user-uuid",
      "organization_id": "org-uuid",
      "created_at": "2026-02-13T10:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 10,
    "total": 1,
    "total_pages": 1
  }
}

Get Tournament

GET/api/v1/tournaments/:id

Returns a single tournament by ID or slug. Returns 404 for private tournaments unless you are the owner.

Path Parameters

ParameterTypeDescription
iduuid | stringTournament UUID or slug
Example Requestbash
curl "https://readyraider.com/api/v1/tournaments/friday-night-valorant" \
  -H "Authorization: Bearer rr_live_your_key"
Response (200 OK)json
{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Friday Night Valorant",
    "slug": "friday-night-valorant",
    "description": "Weekly Valorant tournament...",
    "format": "single_elimination",
    "status": "registration",
    "game": "Valorant",
    "max_participants": 32,
    "start_date": "2026-02-20T20:00:00Z",
    "check_in_start": "2026-02-20T19:30:00Z",
    "registration_open": true,
    "is_private": false,
    "team_size": 5,
    "rules": "Standard competitive rules...",
    "prize_pool": "$500",
    "created_by": "user-uuid",
    "organization_id": "org-uuid",
    "created_at": "2026-02-13T10:00:00Z",
    "updated_at": "2026-02-13T10:00:00Z"
  }
}

Note

The password field is never included in API responses, even for tournament owners.

List Participants

GET/api/v1/tournaments/:id/participants

Returns a paginated list of participants for a tournament.

Path Parameters

ParameterTypeDescription
iduuid | stringTournament UUID or slug

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
per_pageintegerResults per page, max 100 (default: 25)
sortstringSort field: created_at, seed, name
directionstringSort direction: asc or desc
filter[status]stringFilter by status: registered, checked_in, eliminated, winner
Example Requestbash
curl "https://readyraider.com/api/v1/tournaments/550e8400.../participants?per_page=50" \
  -H "Authorization: Bearer rr_live_your_key"
Response (200 OK)json
{
  "data": [
    {
      "id": "participant-uuid",
      "tournament_id": "550e8400...",
      "user_id": "user-uuid",
      "team_id": "team-uuid",
      "name": "Team Alpha",
      "seed": 1,
      "status": "checked_in",
      "checked_in_at": "2026-02-20T19:45:00Z",
      "created_at": "2026-02-15T12:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 16,
    "total_pages": 1
  }
}

Get Brackets

GET/api/v1/tournaments/:id/brackets

Returns all brackets for a tournament. For single elimination, there is one bracket. For double elimination, there are winners and losers brackets.

Path Parameters

ParameterTypeDescription
iduuid | stringTournament UUID or slug
Example Requestbash
curl "https://readyraider.com/api/v1/tournaments/550e8400.../brackets" \
  -H "Authorization: Bearer rr_live_your_key"
Response (200 OK)json
{
  "data": [
    {
      "id": "bracket-uuid",
      "tournament_id": "550e8400...",
      "type": "winners",
      "rounds": 4,
      "created_at": "2026-02-20T20:00:00Z"
    },
    {
      "id": "bracket-uuid-2",
      "tournament_id": "550e8400...",
      "type": "losers",
      "rounds": 6,
      "created_at": "2026-02-20T20:00:00Z"
    }
  ]
}

List Matches

GET/api/v1/tournaments/:id/matches

Returns a paginated list of matches for a tournament. Includes participant details and scores.

Path Parameters

ParameterTypeDescription
iduuid | stringTournament UUID or slug

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
per_pageintegerResults per page, max 100 (default: 25)
sortstringSort field: round, match_number, created_at, scheduled_at
directionstringSort direction: asc or desc
filter[status]stringFilter by status: pending, in_progress, completed
filter[round]integerFilter by round number
filter[bracket_id]uuidFilter by bracket ID
Example Requestbash
curl "https://readyraider.com/api/v1/tournaments/550e8400.../matches?filter[status]=completed&sort=round" \
  -H "Authorization: Bearer rr_live_your_key"
Response (200 OK)json
{
  "data": [
    {
      "id": "match-uuid",
      "tournament_id": "550e8400...",
      "bracket_id": "bracket-uuid",
      "round": 1,
      "match_number": 1,
      "participant1_id": "participant-uuid-1",
      "participant2_id": "participant-uuid-2",
      "participant1_score": 2,
      "participant2_score": 1,
      "winner_id": "participant-uuid-1",
      "status": "completed",
      "scheduled_at": "2026-02-20T20:15:00Z",
      "completed_at": "2026-02-20T20:45:00Z",
      "created_at": "2026-02-20T20:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 25,
    "total": 15,
    "total_pages": 1
  }
}

Tip

Use filter[bracket_id] to get matches from a specific bracket (e.g., only losers bracket matches in a double elimination tournament).