# Attendance voice ## `PUT /api/guilds/{guild_id}/attendance/voice` **Report voice presence** Raises the stored cumulative voice minutes for each listed member to the reported max. Never lowers a stored total. Returns 404 for any guild_id other than the SideQuest server, or an unknown event. **Parameters** | Name | In | Type | Required | Description | |---|---|---|---|---| | `guild_id` | path | integer | yes | The Discord server ID. Only the SideQuest server works. | **Request body** Model: {ref}`VoicePresenceReport ` | Field | Type | Required | Description | |---|---|---|---| | `event_id` | string (uuid) | yes | | | `entries` | array of {ref}`VoicePresenceEntry ` | no | | **Response `204`** — The voice presence report was applied. ## `GET /api/guilds/{guild_id}/attendance/voice/{event_id}` **Get voice presence** Returns current cumulative voice minutes per member for an event, so a restarted bot can resume tracking. Returns 404 for any guild_id other than the SideQuest server. **Parameters** | Name | In | Type | Required | Description | |---|---|---|---|---| | `guild_id` | path | integer | yes | The Discord server ID. Only the SideQuest server works. | | `event_id` | path | string (uuid) | yes | The event's ID. | **Response `200` — The event's voice presence totals.** Model: {ref}`VoicePresenceReport ` | Field | Type | Required | Description | |---|---|---|---| | `event_id` | string (uuid) | yes | | | `entries` | array of {ref}`VoicePresenceEntry ` | no | |