Skip to main content
POST
/
matches
/
discover
Discover open matches
curl --request POST \
  --url https://teambattles.gg/api/v1/matches/discover \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "gameId": "<string>",
  "gameSlug": "<string>",
  "scheduledAfter": "<string>",
  "scheduledBefore": "<string>",
  "leagueId": "<string>",
  "leagueSeasonId": "<string>",
  "limit": 50,
  "cursor": "<string>"
}
'
{
  "data": [
    {
      "id": "<string>",
      "publishStatus": "<string>",
      "game": {
        "id": "<string>",
        "nameKey": "<string>"
      },
      "gameMode": "<string>",
      "creatorTeam": {
        "id": "<string>",
        "name": "<string>",
        "tag": "<string>",
        "avatarUrl": "<string>",
        "score": 0
      },
      "acceptedTeam": {
        "id": "<string>",
        "name": "<string>",
        "tag": "<string>",
        "avatarUrl": "<string>",
        "score": 0
      },
      "bestOf": 0,
      "teamSize": 0,
      "selectedMaps": [
        "<string>"
      ],
      "selectedObjectives": [
        "<string>"
      ],
      "winnerTeamId": "<string>",
      "scheduledAt": "<string>",
      "startedAt": "<string>",
      "completedAt": "<string>",
      "createdAt": "<string>",
      "matchType": "<string>",
      "platform": "<string>",
      "region": "<string>",
      "challengedTeam": {
        "id": "<string>",
        "name": "<string>",
        "tag": "<string>",
        "avatarUrl": "<string>",
        "score": 0
      },
      "leagueId": "<string>",
      "leagueSeasonId": "<string>"
    }
  ],
  "nextCursor": "<string>",
  "hasMore": true,
  "timestamp": "<string>"
}

Permission Required

This endpoint requires matches.public_matches.

Filters

Use gameId or gameSlug, not both. League matches are excluded unless leagueId is provided. If leagueSeasonId is provided, leagueId is required too.

Authorizations

Authorization
string
header
required

Send your API key as: Authorization: Bearer tb_

Body

application/json

Filters and cursor pagination for public open-match discovery.

gameId
string
gameSlug
string
platform
enum<string>
Available options:
PC,
XBOX,
PLAYSTATION,
CONSOLE_ONLY,
CROSSPLAY
region
enum<string>
Available options:
NONE,
NA_EAST,
NA_WEST,
EU,
ASIA,
OCEANIA,
SOUTH_AMERICA,
MIDDLE_EAST,
AFRICA
matchType
enum<string>
Available options:
XP_ONLY,
WAGER
scheduledAfter
string
scheduledBefore
string
leagueId
string
leagueSeasonId
string
limit
integer
default:50
Required range: 1 <= x <= 100
cursor
string | null

Response

Discoverable open matches.

SP-2 open-match discovery page.

data
object[]
required
nextCursor
string | null
required
hasMore
boolean
required
timestamp
string
required