Skip to content

Match Result

POST
/server/v1/matches/{matchId}/result
curl --request POST \
--url https://example.com/server/v1/matches/1/result \
--header 'Content-Type: application/json' \
--data '{ "played": true, "winningTeam": "example", "draw": false, "players": [ { "steam64": 1, "won": false, "kills": 0, "deaths": 0, "headshotKills": 0, "hits": 0, "headshotHits": 0, "damageDealt": 0, "damageTaken": 0 } ] }'

The match’s final per-player line. This is what moves Elo, and what ends a match.

Safe to retry: a repeat is answered alreadyRecorded and changes nothing. Accepted for a match already marked finished, since that is what happens to one whose result was slow to arrive.

Body: played false when nobody turned up. Scores nothing, releases the match. winningTeam the name of the winning team, or null. draw true when the match ended level. Elo moves on kills and deaths. players every player on the roster, including no-shows and leavers.

matchId
required
Matchid
integer
Media typeapplication/json
MatchResultReport

POST /matches/{matchId}/result. The match’s final per-player line.

object
played
Played

False when nobody turned up: scores nothing

boolean
default: true
winningTeam
Any of:
string
draw
Draw
boolean
players
Players

Every player on the roster, including no-shows and leavers

Array<object>
PlayerLine

One player’s line on a match result. Everything but the id is optional.

object
steam64
required
Steam64
integer
won
Won
boolean
kills
Kills
integer
0
deaths
Deaths
integer
0
headshotKills
Headshotkills
integer
0
hits
Hits
integer
0
headshotHits
Headshothits
integer
0
damageDealt
Damagedealt
integer
0
damageTaken
Damagetaken
integer
0

Successful Response

Media typeapplication/json
Status

What a write answers. status says which of the two things happened, so a retried write can be told apart from a first one.

object
status
required
Status
string
matchId
Any of:
integer
Examplegenerated
{
"status": "example",
"matchId": 1
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}