Skip to main content

Interactive Endpoints

Try out the API directly from the docs:

Captain Score Endpoints

These endpoints allow team captains to submit and manage scores.
MethodEndpointDescriptionPermission
POST/matches/{matchId}/scoresSubmit a map scorematches.team_matches: read-write
PATCH/matches/{matchId}/scoresConfirm opponent’s scorematches.team_matches: read-write
GET/matches/{matchId}/scoresGet all map scoresmatches.team_matches: read

Game Developer Endpoints

These endpoints are for approved game developers.

Score Submission

MethodEndpointDescriptionPermission
POST/game/matches/{matchId}/scoresSubmit verified scoregame.scores: write

Match Lifecycle

MethodEndpointDescriptionPermission
POST/game/matchesList matches (JSON body with gameId)game.lifecycle: read
GET/game/matches/{matchId}Get match detailsgame.lifecycle: read
GET/game/matches/{matchId}/rostersGet match rostersgame.lifecycle: read
GET/game/matches/{matchId}/statusGet match statusgame.lifecycle: read
PATCH/game/matches/{matchId}/statusUpdate match statusgame.lifecycle: read-write

Player Stats

MethodEndpointDescriptionPermission
POST/game/matches/{matchId}/player-statsSubmit player stats for a mapgame.scores: write

Common Response Codes

StatusDescription
200Success
201Created
400Bad request - invalid parameters
401Unauthorized - missing or invalid API key
403Forbidden - insufficient permissions
404Resource not found
409Conflict - duplicate or invalid state
429Rate limited
500Internal server error

Error Format

All errors follow a consistent format:
{
  "error": "ERROR_CODE",
  "message": "Human-readable description"
}

Pagination

Paginated endpoints return a cursor and hasMore field in the pagination object. Pass the cursor in the request body to get the next page:
POST /api/v1/game/matches
Content-Type: application/json

{
  "gameId": "call_of_duty_black_ops_7",
  "cursor": "25",
  "limit": 25
}