---
title: "Partially update a game event. Only fields present in the request body are changed; omitted or null fields are left
unchanged. Empty body is a no-op and returns the current game event resource."
method: PATCH
path: "/virtual-events/v3/game-events/{eventId}"
tags: ["Game Events"]
---

# Partially update a game event. Only fields present in the request body are changed; omitted or null fields are left
unchanged. Empty body is a no-op and returns the current game event resource.

`PATCH /virtual-events/v3/game-events/{eventId}`

## Path parameters

- `eventId` integer, required

## Request body

- UpdateGameEventRequest — Request body for `PATCH /v3/game-events/{eventId}`. Every field is optional; null = "no change". An empty body is a no-op and returns the current resource.
  - `title` string, nullable
  - `subtitle` string, nullable
  - `description` string, nullable
  - `startTime` string, date-time, nullable
  - `endTime` string, date-time, nullable
  - `visibility` 'private' | 'public' | 'moderated' — The visibility of a virtual event.
  - `placeId` integer, nullable
  - `categories` EventRankedCategory[], nullable
    - `category` 'contentUpdate' | 'locationUpdate' | 'systemUpdate' | 'activity' | 'newContent' | 'itemDrop' | 'newSeason' | 'newLocation' | 'newMap' | 'moreLevels' | 'newFeature' | 'earlyAccess' | 'expansion' | 'challenge' | 'quest' | 'festival' — The event category type of an event. Mirror of: https://github.rbx.com/Roblox/virtual-events/blob/master/services/virtual-events/src/Implementations/Types/EventCategory.cs
    - `rank` integer — The rank of the category.
  - `thumbnails` EventMedia[], nullable
    - `mediaId` integer — The ID of the media.
    - `rank` integer — The rank of the media.
  - `config` UpdateGameEventConfigRequest — Optional config block on the v3 PATCH body. Null sub-fields = no change.
    - `recurrence` string, nullable — New cron recurrence expression. Null = no change. Validated server-side.
    - `recurrenceEndTime` string, date-time, nullable
    - `notificationAudience` 'all' | 'rsvp' | 'subscribed' | 'group' | 'none' — The notification audience for an experience event
  - `featuringStatus` 'invalid' | 'enabled' | 'disabled' — The featuring status of a virtual event.
  - `tagline` string, nullable

## Response `200`

The updated game event resource.

- GameEventResponse — v3 game event response. All fields except VirtualEventsApi.Models.V3.Response.GameEventResponse.Id are gated by the `?fields=` mask.
  - `id` string, nullable — The unique id of the game event. Always populated. Serialized as a string to preserve precision for clients (event IDs exceed 2^53).
  - `title` string, nullable
  - `displayTitle` string, nullable — Localized title (caller's locale). Populated only when `displayTitle` is in the mask.
  - `subtitle` string, nullable
  - `displaySubtitle` string, nullable — Localized subtitle. Populated only when `displaySubtitle` is in the mask.
  - `description` string, nullable
  - `displayDescription` string, nullable — Localized description. Populated only when `displayDescription` is in the mask.
  - `startTime` string, date-time, nullable
  - `endTime` string, date-time, nullable
  - `universeId` integer, nullable
  - `placeId` integer, nullable
  - `host` HostResponse — Host block. VirtualEventsApi.Models.V3.Response.HostResponse.HostName and VirtualEventsApi.Models.V3.Response.HostResponse.HasVerifiedBadge are omitted when host-details resolution failed.
    - `hostType` 'user' | 'group' — The type of host of a virtual event.
    - `hostId` integer
    - `hostName` string, nullable
    - `hasVerifiedBadge` boolean, nullable
  - `visibility` 'private' | 'public' | 'moderated' — The visibility of a virtual event.
  - `featuringStatus` 'invalid' | 'enabled' | 'disabled' — The featuring status of a virtual event.
  - `tagline` string, nullable — Tagline for featuring review; visible to curators only when featuring is opted into.
  - `categories` CategoryResponse[], nullable
    - `category` 'contentUpdate' | 'locationUpdate' | 'systemUpdate' | 'activity' | 'newContent' | 'itemDrop' | 'newSeason' | 'newLocation' | 'newMap' | 'moreLevels' | 'newFeature' | 'earlyAccess' | 'expansion' | 'challenge' | 'quest' | 'festival' — The event category type of an event. Mirror of: https://github.rbx.com/Roblox/virtual-events/blob/master/services/virtual-events/src/Implementations/Types/EventCategory.cs
    - `rank` integer
  - `thumbnails` ThumbnailResponse[], nullable
    - `mediaId` integer
    - `rank` integer
  - `allThumbnailsCreated` boolean, nullable — Whether all requested thumbnails were successfully persisted. Returned on Create/Update.
  - `config` ConfigResponse
    - `recurrence` string, nullable — Cron expression defining the event's recurrence schedule, if any.
    - `recurrenceEndTime` string, date-time, nullable — The latest UTC timestamp at which automatic recurrence scheduling can occur.
    - `notificationAudience` 'all' | 'rsvp' | 'subscribed' | 'group' | 'none' — The notification audience for an experience event
  - `userRsvpStatus` 'none' | 'going' | 'maybeGoing' | 'notGoing' — The type of RSVP statuses.
  - `createTime` string, date-time, nullable
  - `updateTime` string, date-time, nullable

## Other responses

- `400` — Validation failure or backend reject.
- `401` — Caller is not authenticated.
- `403` — Caller can read but lacks edit permission.
- `404` — Event not found.

---

[API](https://skmtc.net/roblox/apis/roblox-api.md) · [All operations](https://skmtc.net/roblox/apis/roblox-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/roblox/roblox-api/versions/e15802062270/schema)
