Submit A Map Score
Submit or overwrite a single map score as a team captain; the opponent confirms it.
Permission Required
This endpoint requiresmatches.team_matches:read-write on your API key. A free (api_free) key receives 403 error_api_feature_required; this requires an api_pro+ plan.
Access / Membership Rules
The submission is recorded as the API key owner, derived from the key itself - it is never accepted as a body field. Only a team captain can submit (or overwrite) a map score. The submitted score starts asPENDING and must be confirmed by the opposing team’s captain before it counts (see Confirm A Map Score). A personal key can only submit scores for matches whose teams its owner captains - the route binding is a no-op and this authorization is enforced inside Convex. A non-personal key receives 403 API_KEY_PERMISSION_DENIED.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
mapIndex | number | Yes | Zero-based map index (non-negative integer). |
mapId | string | Yes | Map identifier string (e.g. dust2). |
creatorTeamScore | number | Yes | Creator team score (integer, 0 to the per-game maximum). |
opponentTeamScore | number | Yes | Accepted/opponent team score (integer, 0 to the per-game maximum). |
screenshotUrls | array | No | External screenshot URLs (validated as public https server-side, max 10). |
screenshotStorageIds | array | No | Convex storage IDs from POST /uploads/image-url (validated, max 10; preferred over URLs). |
What’s Returned
Returnssuccess: true, action: "submitted", the mapIndex, and scoreStatus: "PENDING". Mintlify renders the full schema from the spec below.
Authorizations
Send your API key as: Authorization: Bearer tb_
Path Parameters
Match id.
Body
Map score submission payload for a single map.
Zero-based map index. Must be a non-negative integer.
0 <= x <= 9007199254740991Map identifier string (e.g. dust2).
Creator team score (integer, 0-1000).
0 <= x <= 1000Accepted/opponent team score (integer, 0-1000).
0 <= x <= 1000Optional external screenshot URLs (validated as public https server-side, max 10). Prefer screenshotStorageIds for validated blobs.
10Optional Convex storage ids from POST /api/v1/uploads/image-url (validated for size + content-type, max 10; preferred over screenshotUrls).
10Response
Map score submitted.
Result of submitting or confirming a map score.