---
title: "Update match attendance"
method: POST
path: "/matches/{matchId}/attendance"
tags: ["My Matches"]
---

# Update match attendance

`POST /matches/{matchId}/attendance`

## Request

- Base URL: `https://teambattles.gg/api/v1`
- URL: `https://teambattles.gg/api/v1/matches/{matchId}/attendance`
- Auth: HTTP bearer

Updates the personal API key owner's own attendance status for a match. The owner must already be rostered in the match; the platform may swap active and bench players automatically. Requires matches.user_matches:read-write and API writes access. Supports an optional `Idempotency-Key` header for safe retries.

## Path parameters

- `matchId` string, required: Match ID.

## Request body

- UpdateAttendanceRequestBody: Updates the API key owner's own attendance status for a match.
  - `status` 'ATTENDING' | 'NOT_ATTENDING' | 'TENTATIVE', required: The API key owner's attendance status for this match.

## Response `200`

The attendance status was updated.

- UpdateAttendanceResponse
  - `success` boolean, required
  - `reclaimedSpot` boolean
  - `replacedBy` string
  - `message` string
  - `timestamp` string, required

## Other responses

- `400`: Bad request (invalid body, cursor, limit, or date).
- `401`: Missing or invalid API key.
- `403`: API key lacks the required permission.
- `404`: Resource not found.
- `409`: Conflict.
- `429`: Rate limited.
- `500`: Internal server error.

## Changes

- **2026-06-10** `82f2480cdb83`: 2 info
  - api tag `My Matches` added
  - api tag `Matches` removed
- **2026-06-08** `33b01a4694a7`: 1 info
  - endpoint added
- **2026-06-04** `f22bd61fd595`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/teambattles/apis/teambattles-api/changes/matches/:matchId/attendance/post.md)

---

[API](https://skmtc.dev/teambattles/apis/teambattles-api.md) - [All operations](https://skmtc.dev/teambattles/apis/teambattles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/teambattles/apis/teambattles-api/revisions/75b07daef7dc?raw)
