My Matches
Cancel Match
Cancel a match as the API key owner, who must be able to manage it.
POST
Permission Required
This endpoint requiresmatches.user_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 cancellation is performed as the API key owner, derived from the key itself - it is never accepted as a body field. The owner must be able to manage the match: captain a participating team or be an admin. Past the league grace period, an accepted league match is treated as a forfeit rather than a plain cancellation. A personal key can only cancel matches its owner can manage - the route binding is a no-op and this authorization is enforced inside Convex. A non-personal key receives403 API_KEY_PERMISSION_DENIED.
This route accepts an optional Idempotency-Key header so retries are safe.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | No | Optional cancellation reason. |
What’s Returned
Returnssuccess: true, the matchId, and a timestamp. Mintlify renders the full schema from the spec below.
Authorizations
Send your API key as: Authorization: Bearer tb_
Path Parameters
Match ID.
Body
application/json
Cancels the match as the API key owner.
Optional cancellation reason.